MSSQL 批量添加用户,快速提升效率

批量添加用户,提升效率

在MSSQL数据库管理中,添加用户是必不可少的一项工作。但是,如果在需要创建大量用户时,逐个手动添加是非常费时费力的。因此,批量添加是必不可少的一种解决办法。本文将介绍如何使用T-SQL脚本批量添加用户,提高工作效率。

使用T-SQL脚本添加单个用户

在使用T-SQL脚本批量添加用户前,先来了解下如何使用T-SQL脚本添加单个用户。

USE [master]

GO

CREATE LOGIN [UserName] WITH PASSWORD=N'password'

GO

USE [MyDatabase]

GO

CREATE USER [UserName] FOR LOGIN [UserName]

GO

其中,UserName为自定义的用户名,password为指定的密码,MyDatabase为用户所在的数据库名称。

创建包含多个用户名的表格

下一步,需要准备包含多个用户名的表格。这个表格可以由Excel或其他工具创建。这里我们以Excel为例,将学生名单保存为一个CSV文件。

打开Excel,并将名单输入到第一列。

例:

列1

张三

李四

王五

选择“另存为”,在“文件类型”中选择“CSV(逗号分隔)”,将文件保存为CSV格式。

接下来,在SQL Server Management Studio中,右键单击“表格”并选择“新建表格...”

用以下脚本的方式创建表格:

CREATE TABLE UserList

(

UserName varchar(50)

)

在“表格设计”中,右键单击列“UserName”并选择“导入数据...”

在“导入数据”向导中,选择导入类型为“CSV 文件”,并指定步骤1中生成的CSV文件。

导入后,需要检查数据是否正确。如果一切正常,点击“确定”创建表格。

使用T-SQL脚本批量添加用户

在为每个用户手动编写T-SQL脚本是非常费时费力的,因此我们可以使用以下脚本来批量添加用户:

USE [master]

GO

DECLARE @UserName AS VARCHAR(200)

DECLARE UserList_Cursor CURSOR FOR

SELECT UserName FROM [MyDatabase].[dbo].[UserList]

OPEN UserList_Cursor

FETCH NEXT FROM UserList_Cursor INTO @UserName

WHILE @@FETCH_STATUS = 0

BEGIN

DECLARE @SQLStatement VARCHAR(4000)

SET @SQLStatement = 'USE [master];CREATE LOGIN [' + @UserName + '] WITH PASSWORD=N''Password'' ; USE [MyDatabase]; CREATE USER [' + @UserName + '] FOR LOGIN [' + @UserName + ']'

EXEC (@SQLStatement)

FETCH NEXT FROM UserList_Cursor INTO @UserName

END

CLOSE UserList_Cursor

DEALLOCATE UserList_Cursor

上述代码不仅会从UserList表格中检索用户名,还会在循环中为每个用户名编写脚本,并将其执行。执行结果将为SQL Server中的每个用户创建一个登录名和一个用户。

总结

在MSSQL中批量添加用户可大大提高工作效率。本文介绍了如何使用T-SQL脚本为单个用户创建登录名和用户,以及如何为多个用户创建CSV表格,最终使用T-SQL脚本批量添加多个用户。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签