Использование сообщений
В SMO системные сообщения представлены объектом SystemMessageCollection, принадлежащим объекту Server. Так как системные сообщения нельзя изменить, свойства объекта SystemMessage доступны только для чтения.
Определяемые пользователем сообщения представлены в SMO программно объектом UserDefinedMessageCollection. Существующие определяемые пользователем сообщения могут быть обнаружены при проходе по коллекции. Новые определяемые пользователем сообщения могут создаваться путем создания нового объекта UserDefinedMessage и установки соответствующих свойств.
Примеры
В следующих примерах кода для создания приложения необходимо выбрать среду, шаблон и язык программирования. Дополнительные сведения см. в разделах Как создать проект SMO на языке Visual Basic в среде Visual Studio .NET и Как создать проект SMO на языке Visual C# в среде Visual Studio .NET.
Обнаружение определенного системного сообщения на языке Visual Basic
Пример кода показывает, как определить системное сообщение по идентификатору и отобразить его.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference an existing system message using the ItemByIdAndLanguage method.
Dim msg As SystemMessage
msg = srv.SystemMessages.ItemByIdAndLanguage(14126, "us_english")
'Display the message ID and text.
Console.WriteLine(msg.ID.ToString + " " + msg.Text)
Обнаружение определенного системного сообщения на языке Visual C#
Пример кода показывает, как определить системное сообщение по идентификатору и отобразить его.
{
//Connect to the local, default instance of SQL Server.
Server srv = new Server();
//Reference an existing system message using the
//ItemByIdAndLanguage method.
SystemMessage msg = default(SystemMessage);
msg = srv.SystemMessages.ItemByIdAndLanguage(14126, "us_english");
//Display the message ID and text.
Console.WriteLine(msg.ID.ToString() + " " + msg.Text);
}
Обнаружение определенного системного сообщения на языке PowerShell
Пример кода показывает, как определить системное сообщение по идентификатору и отобразить его.
# Set the path context to the local, default instance of SQL Server.
CD \sql\localhost\
$srv = get-item default
#Get the message 14126 in US English and display it
$msg = $srv.SystemMessages.ItemByIdAndLanguage(14126, "us_english")
$msg.ID.ToString() + " "+ $msg.Text
Добавление нового определяемого пользователем сообщения на языке Visual Basic
Пример кода демонстрирует, как создать определяемое пользователем сообщение с идентификатором больше 50000.
Dim mysrv As Server
mysrv = New Server
Dim udm As UserDefinedMessage
udm = New UserDefinedMessage(mysrv, 50003, "us_english", 16, "Test message")
udm.Create()
Добавление нового определяемого пользователем сообщения на языке Visual C#
Пример кода демонстрирует, как создать определяемое пользователем сообщение с идентификатором больше 50000.
{
Server mysrv = new Server();
UserDefinedMessage udm = new UserDefinedMessage(mysrv, 50030, "us_english",16, "Test message");
udm.Create();
UserDefinedMessage msg = mysrv.UserDefinedMessages.ItemByIdAndLanguage(50030, "us_english");
//Display the message ID and text.
Console.WriteLine(msg.ID.ToString() + " " + msg.Text);
}
Добавление нового определяемого пользователем сообщения на языке PowerShell
Пример кода демонстрирует, как создать определяемое пользователем сообщение с идентификатором больше 50000.
#Get a server object which corresponds to the default instance
$srv = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Server
#Create a new message
$udm = New-Object -TypeName Microsoft.SqlServer.Management.SMO.UserDefinedMessage -argumentlist `
$srv, 50030, "us_english", 16, "Test message"
$udm.Create()
$msg = $srv.UserDefinedMessages.ItemByIdAndLanguage(50030, "us_english");
$msg