一次性批量执行多个MSSQL脚本(mssql执行多个脚本)

在使用MSSQL的过程中,我们通常需要执行多个脚本来实现某些功能,但如果每次只能执行单个脚本会非常耗时间。幸运的是,SQL Server提供了一种更加方便快捷的方式来一次性批量执行多个MSSQL脚本。本文将通过以下步骤详细介绍如何实现这一目标:

1、 首先,需要将需要批量执行的所有脚本文件复制到固定的一个文件夹中;

2、然后,我们可以使用以下代码来批量执行多个脚本:

DECLARE @ScriptName NVARCHAR(4000);

DECLARE @ScriptsDirectory NVARCHAR(4000);

SET @ScriptsDirectory = ‘C:\Scripts\’ — 这是刚刚复制的文件夹路径

— 获取脚本文件列表

DECLARE @files TABLE (Files INDEX IDX_files PRIMARY KEY CLUSTERED

(

Files

)

,

Files varchar(255)

);

INSERT INTO @files (Files)

EXECUTE xp_cmdshell ‘dir /b ‘ + @ScriptsDirectory + ‘*.sql’;

SELECT * FROM @files;

— 执行脚本

DECLARE @ObjectName NVARCHAR(4000);

DECLARE C CURSOR FOR

SELECT Files

FROM @files

OPEN C

FETCH NEXT FROM C INTO @ScriptName;

WHILE @@FETCH_STATUS = 0

BEGIN

SET @ObjectName = @ScriptsDirectory + @ScriptName;

EXECUTE sp_executesql

@ObjectName;

FETCH NEXT FROM C INTO @ScriptName;

END

CLOSE C;

DEALLOCATE C;

当然,我们也可以使用SQL语句将多条SQL语句编组到一起,然后进行批量执行,具体实现步骤如下:

1、 将待执行的多个SQL语句按顺序编组到同一个文本文件中;

2、 将该文本文件复制至指定的文件路径;

3、 执行如下SQL语句,完成批量执行:

DECLARE @ObjectName NVARCHAR(4000);

SET @ObjectName = ‘C:\Scripts\your_script.sql’ — 这是刚刚复制的文本文件路径

EXECUTE sp_executesql

@ObjectName;

以上就是如何一次性批量执行多个MSSQL脚本的具体实现步骤,由于选择容易,操作速度又快,因此建议使用这种方法来节省时间。


数据运维技术 » 一次性批量执行多个MSSQL脚本(mssql执行多个脚本)