无法在SQL Server中使用datareader用户登录

时间:2014-01-01 17:52:12

标签: sql sql-server

我正在研究将要发布的asp.net项目,因此我需要保护我的SQL服务器并为客户提供登录,这只能读取数据并且只有权限才能选择命令。 (我有可以远程访问的SQL服务器!!!) 在本地sql服务器中,我可以使用此用户进行连接,但是当我尝试远程连接时,我收到错误。

CREATE LOGIN xyz 
WITH PASSWORD = 'Xyzxyzxyz', 
CHECK_POLICY = ON, 
CHECK_EXPIRATION = ON

GO
USE example1
GO
CREATE USER xyz
GO 
EXEC sp_addrolemember 'db_datareader', xyz
GO

这是我在SQL服务器中的查询。我创建了用户并授予他登录权限,连接数据库引擎和datareader权限,但我无法使用此帐户登录SQL服务器。只有我给他系统管理员的权限才有效。另一个特权不起作用。有人能解释我为什么吗?

2 个答案:

答案 0 :(得分:0)

我自己回答了。我刚刚点击了我的用户的属性 - > securables,搜索所有对象并添加连接到SQL服务器的权限,它工作!!!!!!!!!!感谢大家的回复!!!!!

答案 1 :(得分:-1)

您必须使用服务器登录连接数据库用户。试试这个。

USE example1
GO

DROP USER xyz
GO 

-- Creates a database user for the login.
CREATE USER xyz FOR LOGIN xyz;
GO

EXEC sp_addrolemember 'db_datareader', xyz
GO