【发布时间】:2015-03-13 17:42:45
【问题描述】:
我是 SQL Server 的新手,所以我不知道其中的大部分概念。
基本上,我将我的应用程序部署到了一个 Windows 服务器上,创建了一个 IIS 池,其中包含 新的非管理员用户,为此,假设用户是 @ 987654324@,池为MyIISPool。
现在,对于 SQL Server 完整版,this guide 建议为 默认服务器实例
使用如下连接字符串Data Source=ServerName;Initial Catalog=DatabaseName;Integrated Security=False;User Id=userid;Password=password;MultipleActiveResultSets=True
而这个用于特定实例
Data Source=ServerName\InstanceName;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True
话虽如此,我不知道什么是 sql server 实例(是的,我检查了this answer,但我还是不明白)。
此外,我尝试了第一个通过MyWinUser 传递用户ID的连接字符串,它是密码的密码,但它说它无法登录。
我也尝试了使用Data Source=ServerName\MyWinUser 的第二个字符串,但没有成功。
以防万一,我登录到 SQL Server 管理,在我的数据库内的Security 文件夹中检查(我们称之为MyDB),在子文件夹Users 中有MyWinUser 所以我猜@987654334 @ 确实有权至少连接到该数据库。
我错过了什么,我该怎么办,它甚至像这样工作吗?
PS:如果可能的话,我想使用 Windows 帐户 MyWinUser 连接到上述数据库。
【问题讨论】:
-
第一个连接字符串不适用于 Windows 帐户。您可以使用 Windows 帐户进行 SQL Server 身份验证,反之亦然。因此,如果您想使用 Windows 帐户,则 Integrated Security 应为 true,并且网站应以该 Windows 帐户运行(并且该帐户应具有必要的权限)。
-
所以基本上,第二个字符串是要走的路吗?
-
我相信是这样,但我对 SQL Server 并不十分熟悉。检查this site。我想你会发现它很有价值。
标签: c# asp.net sql-server connection-string