![根本找不到 SQL 实例(在 IIS 上安装 asp.net 应用程序时)](https://linux22.com/image/535774/%E6%A0%B9%E6%9C%AC%E6%89%BE%E4%B8%8D%E5%88%B0%20SQL%20%E5%AE%9E%E4%BE%8B%EF%BC%88%E5%9C%A8%20IIS%20%E4%B8%8A%E5%AE%89%E8%A3%85%20asp.net%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%97%B6%EF%BC%89.png)
所以我实际上并不是 DBA,我是应用程序开发人员。
我必须在我的客户(一家大公司)的 IIS6 + Win2k3 机器上安装我的 asp.net mvc3 应用程序,而他们的系统管理员根本没有提供任何帮助。
现在的最后一个问题是 SQL Server 2008 r2,在弄清楚如何从 Windows 创建登录后,我的应用程序和 sqlcmd.exe 总是抱怨它找不到 SQL Server 实例!!
我已将所有 sql 服务(在 services.msc 中)运行为以本地系统身份登录。我可以使用带有 Windows Auth 的 SQL Server Management Studio 顺利登录。我创建了我的数据库,我的 asp.net 应用程序需要/使用 windows auth。
但老天爷啊,无论我做什么,我的应用程序总是抱怨找不到实例。(也尝试运行 SQL CMD,它也抱怨同样的事情!)
我的数据库连接字符串如下所示:
数据源=机器名\用户名;初始目录 = myDataStore;集成安全性 = True;MultipleActiveResultSets = True
如果我选择 Windows 身份验证,Machinename\user 与 SQL Server Management Studio 登录中显示的内容相同,对吗?
答案1
SQL Server 实例名称:
在 SQL Server Management Studio > RegisterServers > 双击您的服务器以打开对象资源管理器 > 右键单击以选择属性窗口 > 常规选项卡:查看 ServerName(实例名称)
或者在 SQL Server 管理窗口中打开一个新查询并执行以下操作
-- 获取 SQL 服务器实例名称
select @@ServerName
默认实例数据源:
Data Source=.;Initial Catalog=myDataStore;...
或者
Data Source=localhost;Initial Catalog=myDataStore;...
或者
Data Source=machinename;Initial Catalog=myDataStore;...
答案2
您正在使用集成身份验证,因此您甚至不必提供用户名。它是 machinname\sqlinstancename,而不是用户名