use*_*806 29 database sql-server cmd batch-file
我正在使用SQL Server数据库.我有这些SQL查询:
Delete from TableA;
Delete from TableB;
Delete from TableC;
Delete from TableD;
Delete from TableE;
Run Code Online (Sandbox Code Playgroud)
是否可以使用批处理文件运行这些脚本?该数据库是一个远程数据库.
谢谢!
Shi*_*iva 56
将命令保存在.SQL文件中,例如:ClearTables.sql在您的C:\temp文件夹中.
的内容 C:\Temp\ClearTables.sql
Delete from TableA;
Delete from TableB;
Delete from TableC;
Delete from TableD;
Delete from TableE;
Run Code Online (Sandbox Code Playgroud)
然后使用sqlcmd如下执行它.由于您说数据库是远程的,因此请使用以下语法(在更新服务器和数据库实例名称之后).
sqlcmd -S <ComputerName>\<InstanceName> -i C:\Temp\ClearTables.sql
Run Code Online (Sandbox Code Playgroud)
例如,如果远程计算机名称为SQLSVRBOSTON1且数据库实例名称为MyDB1,则命令为.
sqlcmd -E -S SQLSVRBOSTON1\MyDB1 -i C:\Temp\ClearTables.sql
Run Code Online (Sandbox Code Playgroud)
另请注意,-E指定默认身份验证.如果您有用于连接的用户名和密码,请使用-U和-P切换.
您将通过打开CMD命令窗口来执行所有这些操作.
使用批处理文件.
如果要将其保存在批处理文件中并双击以运行它,请按以下步骤操作.
创建并保存ClearTables.bat如此.
echo off
sqlcmd -E -S SQLSVRBOSTON1\MyDB1 -i C:\Temp\ClearTables.sql
set /p delExit=Press the ENTER key to exit...:
Run Code Online (Sandbox Code Playgroud)
然后双击它以运行它.它将执行命令并等待,直到您按一个键退出,这样您就可以看到命令输出.