我已从 AzureDb 切换到我的项目的本地 SQL Server Express 实例。我可以使用 Management Studio 连接到实例,并看到服务器是通常的 .\sqlserver
,带有 sa
和一个虚拟密码。实际的数据库尚未创建,但我可以访问服务器并查看系统数据库以及创建登录名。
但是,尝试执行迁移数据库更新时,出现以下错误。
<块引用>与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供程序:SNI_PN11,错误:26 - 错误定位服务器/指定的实例)
当然,我怀疑我的连接字符串有问题(我仍然怀疑)。
"ConnectionStrings": { ...
"SqlServer": "Server=.\\sqlserver;Database=Blopp;Uid=sa;Pwd=Abc123();"
}
我已经尝试了所有常见的变体 - 单反斜杠、四重反斜杠、正斜杠、开头的 at-char、(localhost)而不是点、计算机名而不是点等。我不知道还有什么可能。我试过手动创建数据库。我尝试使用大写字母(尽管我知道它不区分大小写)。没有任何帮助...
通常努力的证明:here (SO)、here (MSDN)、here (SO)、here (SO)、here (Hanselman)、here (client protocol/service running)。
我到底错过了什么?
答案 0 :(得分:1)
根据错误,您有网络或 SQL 配置问题。
为了进一步确认这一点,您可以进行 UDL 测试(或您可以进行的最基本的非 SSMS 测试),参考:How to perform a UDL test to check the SQL Server Connectivity。
Why am I getting “Cannot Connect to Server - A network-related or instance-specific error”? 的第一个答案针对您提到的错误类型提供了一个很好的故障排除清单。
如果您的 UDL 测试有效,但您仍然无法连接。检查您的连接字符串。一个简单的方法是: 转到 Visual Studio(Visual Studio 不是 SQL Server Management Studio)并执行:
取自:Juned Khan Momin 对这个问题的回答:How to get the connection string from a database