创建用户,映射到数据库并使用SQL脚本将角色分配给该数据库

时间:2011-01-05 10:43:12

标签: sql sql-server login

我以前做过这个,但不是通过脚本。我将在SQL Server(SQL身份验证)中创建一个新用户,并将用户映射到数据库,并使用SQL脚本将用户的角色分配给该数据库。

我该怎么做?

2 个答案:

答案 0 :(得分:8)

尝试:

CREATE USER [Username] FOR LOGIN [Domain\Username]
EXEC sp_addrolemember N'DatabaseRole', N'Username'

显然将用户名,域\用户名和数据库角色更改为您希望授予其权限的用户名和访问级别,例如“db_datareader”

答案 1 :(得分:4)

以上解决方案适合我。但是,如果用户名在该数据库中尚未作为USER存在,则该用户名将不会完全映射到数据库角色。

在这种情况下,我首先添加用户:

USE databasename

CREATE USER [DOMAIN\svce_name] FOR LOGIN [DOMAIN\svce_name] WITH DEFAULT_SCHEMA=[dbo]
GO

然后我添加角色:

USE databasename
EXEC sp_addrolemember N'db_ssisoperator', N'DOMAIN\svce_name'
GO