我正在研究将要发布的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服务器。只有我给他系统管理员的权限才有效。另一个特权不起作用。有人能解释我为什么吗?
答案 0 :(得分:0)
答案 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