使用CMD激发SQL重命名存储过程将返回警告,停止脚本



我有一个执行一些命令的.BAT文件。一切都很好,直到SP_Rename,我得到以下消息返回:

注意:更改对象名称的任何部分都可能破坏脚本和存储过程。

CMD提示窗口上的下一行显示:带有光标的1>。它应该执行下一行代码,但它没有。

关于如何绕过这个问题有什么想法吗?

引发的消息是Select * from sys.messages where message_id=15477
您可以通过EXEC sp_helptext sp_rename获取过程文本,
删除行raiserror(15477,-1,-1)并创建一个新过程,例如sp_rename_no_alert,并将其用于批处理操作。

.BAT文件的结构如何?它是不是一个接一个地由一堆单独的SQLCMD调用组成,并在第一次调用之后通过将您留在"1>"提示符处而停止?

如果是这样的话,我不认为是什么原因导致SQLCMD在提示时离开您-Q(大写),而不是运行查询的-q参数,因为小写的-q会让您在提示处等待更多输入。

示例:

SQLCMD -Q "exec sp_rename(blah)"

最新更新