MSSqlServer 2008 如何将 sys.message 迁移到另一台服务器?(事件 ID 18054)

MSSqlServer 2008 如何将 sys.message 迁移到另一台服务器?(事件 ID 18054)

最近我更换了一台 SQL Server (2008R2)。我重新安装了托管应用程序并恢复了数据库备份。一切似乎都按预期工作,只是这些事件显示在事件日志中:

id 18054 in MSSQLSERVER Error 150010, severity 16, state 96 was raised,
but no message with that error number was found in sys.messages.
If error is larger than 50000, make sure the user-defined message 
is added using sp_addmessage

我可以使用以下方法从旧服务器获取消息select * from sys.messages where message_id='150010'

现在我想知道如何在新服务器上复制所有 id > 50000 的消息?我是否必须恢复主数据库的备份?

答案1

由于您仍然可以访问旧服务器,请运行类似这样的命令,将输出保存到文件中,然后将其运行到新服务器中。您可能需要调整消息的 varchar 长度或引号,但这是我最近迁移时使用的方法。

select 'exec sp_addmessage ' + convert(varchar(6), message_id) + ', ' + convert(varchar(6), severity) + ', ''' + text + '''' 
from sys.messages where message_id > 50000 

相关内容