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

时间:2014-09-18 20:02:45

标签: sql sql-server tsql batch-file cmd

我有一个.BAT文件,可以执行一些命令。一切正常,直到SP_Rename,我收到以下消息:

  

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

我在CMD提示窗口的下一行显示:带有光标的1>。它应该执行下一行代码,但事实并非如此。

关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

您的.BAT文件是如何构建的?它是一堆一个接一个的单独的SQLCMD调用,它会在第一个调用之后停止,让你在" 1>"提示?

如果是这种情况,我不认为谨慎是导致SQLCMD在提示时离开你的原因。 -Q(大写)而不是-q参数用于运行查询,因为小写-q将使您处于提示符并等待更多输入。

示例:

SQLCMD -Q "exec sp_rename(blah)"