机器X(已安装SQL Server 2005 Express版的主机PC,也称为开发PC)
机器Y(未知用户或来宾)
我可以设置并从机器X获取数据,但是当朋友尝试这样做时,他们会收到以下错误
用户未与a关联 可信的sql server连接
我使用windows auth ..我的连接字符串如下:
string ConnectionString="Data Source=IP.IP.IP.IP,1433;Network Library=DBMSSOCN;Initial Catalog=master;Integrated Security=SSPI;";
我检查了所有内容,但它似乎是SQL或我的计算机中的权限问题。 防火墙已关闭,AVG防病毒也是如此
提前致谢
答案 0 :(得分:2)
错误意味着它所说的内容 - SQL Server无法对用户进行身份验证。
这通常发生在用户未以域成员身份登录时,例如,如果他们使用特定于该计算机的帐户登录其计算机而不是使用其域帐户。
有几种方法可以解决这个问题。
最明显的是确保他们以域用户身份登录到他们的计算机。
将SQL Server的权限授予他们正在使用的用户帐户。如果他们的机器不是域的成员,则不确定如何执行此操作。
推荐方法 Tthey可以修改其SQL Server Management Studio快捷方式(或创建一个新快捷方式)以使用runas
命令,该命令将使用凭据运行指定的可执行文件您提供(即,他们为该应用程序和它执行的操作模仿不同的用户)。他们需要服务器中的用户帐户才能使用。
示例:
C:\ Windows \ System32 \ runas.exe / netonly / user:MYDOMAIN \ USERNAME ssms.exe
运行此操作时,系统会提示您输入用户mydomain \ username的密码。
,当我从家用机器上进行VPN连接时,我用这个连接到我的SQL Server另一个稍微简单的选项是让它们使用SQL Server身份验证进行连接。您需要为每个用户或他们都可以使用的通用帐户创建一个SQL Server帐户,当然,还要为他们提供密码。
答案 1 :(得分:0)
Ivan,您使用的是Windows Authentication Mode (Windows Authentication)
,您有两种方法可以解决您的问题。
1)更改为SQL Server Authentication
,要在连接字符串中执行此操作,每次连接时都必须提供凭据(登录名和密码),并验证您的SQL Server在SQL Server Authentication Mode and Windows Authentication mode中运行的是哪个。检查此page以查看当前连接字符串的替代方法。
2)保持Windows Authentication Mode
。您必须将用户的帐户添加到运行SQL Server的Windows服务器。