TSQL将用户映射到数据库

dtr*_*ick 42 t-sql sql-server

所以我无法让企业经理这样做......如果我是,我甚至不会问这个问题.所以我想知道是否有办法通过TSQL执行将用户映射到特定数据库并授予他们"所有者"权限的命令.

谢谢...

Rem*_*anu 90

更改登录的默认数据库:

alter login <loginname> with default_database = <dbname>;
Run Code Online (Sandbox Code Playgroud)

在给定登录的数据库中创建用户:

use <dbname>;
create user <username> from login <loginname>;
Run Code Online (Sandbox Code Playgroud)

创建db_owner组的用户成员:

use <dbname>
exec sp_addrolemember 'db_owner', '<username>';
Run Code Online (Sandbox Code Playgroud)

登录数据库'dbo':

alter authorization on database::<dbname> to <loginname>;
Run Code Online (Sandbox Code Playgroud)


Tho*_*mas 12

正式地,您希望创建映射到登录的数据库用户.为此,您将使用:

Create User <username> For LOGIN <loginname>
Run Code Online (Sandbox Code Playgroud)

这显然要求登录存在.之后你会打电话:

exec sp_addrolemember 'db_owner', <username>
Run Code Online (Sandbox Code Playgroud)

这假定您连接到数据库的帐户具有向该db_owner角色添加成员的权限.


Mar*_*ith 8

USE [YourDB]
GO
CREATE USER [xyx] FOR LOGIN [xyz]
GO
ALTER USER [xyz] WITH DEFAULT_SCHEMA=[dbo]
GO
EXEC sp_addrolemember N'db_owner', N'xyz'
GO
Run Code Online (Sandbox Code Playgroud)