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

NLV*_*NLV 4 sql sql-server login

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

我该怎么做?

Mat*_*att 8

尝试:

CREATE USER [Username] FOR LOGIN [Domain\Username]
EXEC sp_addrolemember N'DatabaseRole', N'Username'
Run Code Online (Sandbox Code Playgroud)

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


小智 5

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

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

USE databasename

CREATE USER [DOMAIN\svce_name] FOR LOGIN [DOMAIN\svce_name] WITH DEFAULT_SCHEMA=[dbo]
GO
Run Code Online (Sandbox Code Playgroud)

然后我添加角色:

USE databasename
EXEC sp_addrolemember N'db_ssisoperator', N'DOMAIN\svce_name'
GO
Run Code Online (Sandbox Code Playgroud)