sql-server - 连接到 Windows Container 内的 MS SQLServer 时出现“信号量超时期限已过”
问题描述
我遇到了非常奇怪的问题。主机操作系统是 Windows 10 Pro,安装了 Docker for Windows。当我使用简单命令运行microsoft/mssql-server-windows-developer容器时
docker run -d -p 1433:1433 -e sa_password=<SA_PASSWORD> -e ACCEPT_EULA=Y microsoft/mssql-server-windows-developer
我可以使用服务器名称=localhost 通过 MS SQL Management Studio 连接到 SQL Server。但我无法打开服务器属性或打开“附加数据库”向导。一直有同样的错误“信号量超时时间已到”。我可以运行带有附加数据库的容器,并且可以在 MS SQL Management Studio 中执行 sql。但是当我运行我的 Web 应用程序时 - 我在连接到数据库时收到相同的错误“信号量超时期限已过期”。
然后我尝试使用通过 docker container inspect 获得的 IP 地址连接到 SQL Server——在我的例子中是 172.28.93.83。一切正常——我可以使用 SQL Server 进行管理,我的 Web 应用程序连接到数据库等。
那么,那里的问题是什么?我仍然想使用 localhost 连接到服务器,以便在所有开发人员环境中拥有统一的连接字符串。
当我尝试运行 Linux 容器时 - 使用 localhost 连接到服务器一切正常。
我可能很重要——在我决定使用 docker 与 MS SQL Server 一起工作之前,我安装了 MS SQL Server,然后将其卸载。也许它对路由或网络进行了一些更改,我必须删除这些更改...
我将不胜感激任何帮助
解决方案
尝试增加超时秒数connection string
。
推荐阅读
- firebase - 恐慌:运行时错误:无效的内存地址或 nil 指针取消引用 [信号 SIGSEGV:分段违规 firebase.google.com/go.(*App).Database
- shell - AWK,比较两个文件,然后比较匹配的另一个字段并进行算术运算
- javascript - 如何在 highcharts 多个向下钻取上添加滚动
- javascript - 为什么将 Buefy 导入我的 Vuejs 项目会使
- excel - 有没有办法使用 Google appscript 从 Bigquery 结果生成 Microsft Excel?
- python - kivy中的登录界面
- php - 如果条件允许,则创建视图表
- php - 根据当前会话选择计数联合
- go - 结构片不能插入golang中的接口片
- cucumber - 如何在黄瓜步骤定义中实现httpAuth