Назад | Перейти на главную страницу

MSSqlServer 2008 как перенести sys.message на другой сервер? (идентификатор события 18054)

Недавно заменил sql-сервер (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 на новый сервер? Нужно ли мне восстанавливать резервную копию главной БД?

Поскольку вы все еще можете получить доступ к старому серверу, запустите что-то вроде этого, сохраните вывод в файл и запустите его на новом сервере. Возможно, вам придется отрегулировать длину varchar или кавычки для ваших сообщений, но это то, что я использовал для недавней миграции.

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