我有一个.BAT
文件,可以执行一些命令。一切正常,直到SP_Rename
,我收到以下消息:
警告:更改对象名称的任何部分可能会破坏脚本和存储过程。
我在CMD提示窗口的下一行显示:带有光标的1>
。它应该执行下一行代码,但事实并非如此。
关于如何解决这个问题的任何想法?
答案 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)"