用于将登录用户映射到特定数据库的SQL查询

时间:2016-06-03 09:20:07

标签: sql-server sql-server-2008 sql-server-2014

我想将登录用户(即TestUser)映射到已创建的数据库(即JIRADB),但在执行以下查询后,JIRADB中未添加任何用户。 请参阅提供的图像链接,我希望在执行查询后检查JIRADB。 有人可以帮助我完成这项任务的确切查询吗?

以下是我目前尝试的代码: -

USE [JIRADB]
GO
CREATE LOGIN TestUser WITH PASSWORD="sauser123', DEFAULT_DATABASE=[JIRADB], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
GO

1 个答案:

答案 0 :(得分:0)

仅仅创建登录还不够,登录需要数据库中的用户以及映射到登录的用户。

USE [master]
GO
CREATE LOGIN TestUser WITH PASSWORD="sauser123', DEFAULT_DATABASE=[JIRADB], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
GO
USE [JIRADB]
GO
CREATE USER [TestUser] FOR LOGIN [TestUser]
GO
--Optional, add the user to database roles if required
ALTER ROLE db_datareader ADD MEMBER [TestUser]
GO

你会注意到我在那里也有一个alter role语句,好像你只是在数据库中创建一个用户,它只是一个public角色的成员,如果你需要任何其他权限你必须添加用户使用数据库角色,或明确为其分配权限。