我们如何告诉sqlcmd继续;“论错误”;下一批呢?

我们如何告诉sqlcmd继续;“论错误”;下一批呢?,sql,sql-server,sqlcmd,Sql,Sql Server,Sqlcmd,关于如何实现这一点有什么想法吗 USE [db_name] BEGIN TRANSACTION ...TONS OF INSERTS COMMIT; RAISERROR (..) WITH NOWAIT; //If error continue with next batch BEGIN TRANSACTION ...TONS OF INSERTS COMMIT; RAISERROR (..) WITH NOWAIT; ... 错误时的批处理中断行为是一个SQL Server(即后端)选

关于如何实现这一点有什么想法吗

USE [db_name]
BEGIN TRANSACTION
...TONS OF INSERTS
COMMIT;
RAISERROR (..) WITH NOWAIT;  //If error continue with next batch

BEGIN TRANSACTION
...TONS OF INSERTS
COMMIT;
RAISERROR (..) WITH NOWAIT;

...

错误时的批处理中断行为是一个SQL Server(即后端)选项,由错误严重性控制。无法更改服务器行为,中断批处理的错误将始终中断批处理,期间


文件继续的行为(出错后运行下一个GO分隔的批处理)是一个sqlcmd选项,由-b开关控制。默认情况下为ON(表示sqlcmd继续下一批处理)。

使用命令行上的
-V
标志。如果设置了足够大的值(例如17),即使是相当严重的错误也不会停止脚本

e、 g.
sqlcmd-V 17-i MyFile.sql

我假设您知道在执行此操作时正在做什么,并且仍然在监视错误消息

你可以更高,达到25级,但是如果你在17级和25级之间出现错误,你不太可能取得很大的进步,因为这些错误往往是由服务器上的软件或硬件错误引起的,而不是由你输入的脚本中的错误引起的