微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何暂时抑制SSMS中的错误消息?

如何解决如何暂时抑制SSMS中的错误消息?

| 以下命令尝试重新设置当前数据库中所有表的标识值。
exec sp_MSforeachtable @command1 = \'DBCC CHECKIDENT(\'\'?\'\',RESEED,1)\'
将为每个没有标识列的表生成一条错误消息。   消息7997,级别16,状态1,行1 \'MyTable \'不包含标识列。 我想抑制上面这行代码的所有错误消息,但不想抑制sql文件中其余代码错误消息。 有任何想法吗?     

解决方法

        您可以执行以下操作(未经测试,但是我想您会明白的):
declare tbls cursor for
select object_name([object_id])
from sys.identity_columns
where objectproperty([object_id],\'IsMSShipped\') = 0
declare @tbl_name sysname,@cmd nvarchar(max)
open tbls

while(1=1)
begin
   fetch next from tbls into @tbl_name
   if(@@fetch_status <> 0)
      break
   set @cmd = \'DBCC CHECKIDENT(\'\'\' + @tbl_name + \'\'\',RESEED,1)\'
   exec(@cmd)
end
close tbls
deallocate tbls
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。