首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于创建新用户的SQL Server脚本

用于创建新用户的SQL Server脚本
EN

Stack Overflow用户
提问于 2009-10-21 22:27:11
回答 2查看 247.6K关注 0票数 117

我想要编写一个脚本,以便在SQL Server Express中创建一个admin用户(使用abcd密码)。另外,我想给这个用户分配admin完全权限。

EN

回答 2

Stack Overflow用户

发布于 2009-10-21 22:35:03

您可以使用:

代码语言:javascript
复制
CREATE LOGIN <login name> WITH PASSWORD = '<password>' ; GO 

创建登录(有关更多详细信息,请参阅here )。

然后,您可能需要使用:

代码语言:javascript
复制
CREATE USER user_name 

要创建与特定数据库的登录名相关联的用户,还需要授予他们访问权限。

(详情请参见here )

您还可以使用:

代码语言:javascript
复制
GRANT permission  [ ,...n ] ON SCHEMA :: schema_name

为您为其分配用户的架构设置权限。

(详情请参见here )

您可能会发现另外两个有用的命令是ALTER USERALTER LOGIN

票数 6
EN

Stack Overflow用户

发布于 2015-05-29 00:21:33

如果要创建通用脚本,可以使用Execute语句并将其替换为您的用户名和数据库名

代码语言:javascript
复制
Declare @userName as varchar(50); 
Declare @defaultDataBaseName as varchar(50);
Declare @LoginCreationScript as varchar(max);
Declare @UserCreationScript as varchar(max);
Declare @TempUserCreationScript as varchar(max);
set @defaultDataBaseName = 'data1';
set @userName = 'domain\userName';
set @LoginCreationScript ='CREATE LOGIN [{userName}]
FROM WINDOWS 
WITH DEFAULT_DATABASE ={dataBaseName}'

set @UserCreationScript ='
USE {dataBaseName}
CREATE User [{userName}] for LOGIN [{userName}];
EXEC sp_addrolemember ''db_datareader'', ''{userName}'';
EXEC sp_addrolemember ''db_datawriter'', ''{userName}'';
Grant Execute on Schema :: dbo TO [{userName}];'
/*Login creation*/
set @LoginCreationScript=Replace(Replace(@LoginCreationScript, '{userName}', @userName), '{dataBaseName}', @defaultDataBaseName)
set @UserCreationScript =Replace(@UserCreationScript, '{userName}', @userName)
Execute(@LoginCreationScript)

/*User creation and role assignment*/
set @TempUserCreationScript =Replace(@UserCreationScript, '{dataBaseName}', @defaultDataBaseName)
Execute(@TempUserCreationScript)
set @TempUserCreationScript =Replace(@UserCreationScript, '{dataBaseName}', 'db2')
Execute(@TempUserCreationScript)
set @TempUserCreationScript =Replace(@UserCreationScript, '{dataBaseName}', 'db3')
Execute(@TempUserCreationScript)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1601186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档