我在两台systems.On one机器上安装了windows xp,我已经安装了sql server2005 express。现在,从与第一台计算机连接的另一台计算机上,我将通过一个.net应用程序访问sql server以插入数据。我的服务器实例是A-9。我创建了别名: A-9-1。我的连接字符串是:
conn.ConnectionString= "Data Source=A-9-1;Trusted_Connection =true ";--这是使用windows authentication.my windows用户名是管理员,没有任何密码。
现在,当我从客户端机器连接到机器1上的sql服务器时,出现错误:登录A-9\Guest失败。
是否也可以不从客户端计算机以管理员身份连接到sql,即使用windows身份验证。也就是说,sql server将有两个管理员。一个是服务器计算机上的A-9\Admin,另一个是客户端计算机上的A-9-1\Admin。这个是可能的吗?
实际上我想把所有的特权给客户机用户,对于sql数据库,他可以创建登录、用户、数据库、表、插入数据、授予权限以及执行所有操作。
另外,
发布于 2011-02-17 20:15:37
1)在SQL Server中,您可以设置任意数量的具有任意数量权限的登录名。这包括数据库的所有者权限。
2)如果您想要授予来宾访问任何客户端计算机的权限,则在数据库的安全性下添加A-9\作为登录。然后给他们适当的权利。
请注意,这将为连接到服务器计算机的任何人提供您为A-9\Guest指定的权限。
3)不会有名为A-9-1\Admin的第二个管理员。由于听起来您没有在网络中的域上使用Active Directory,因此服务器无法知道客户端计算机的用户/登录是什么。这就是您看到错误:A-9\Guest登录失败的原因。而且听起来A-9-1是连接的名称,而不是机器/域。
在您的方案中,最好只使用SQL身份验证,并为客户端计算机设置用于访问的用户名和密码。
编辑
一些Active Directory链接:
警告:虽然设置AD并不“难”,但它是一个需要规划的复杂过程。*
AD Quick Start Set Up Guide
Google Search for setting up active directory
我仍然认为使用SQL身份验证会更好。:)
https://stackoverflow.com/questions/5027807
复制相似问题