Поделиться через


Использование сообщений

В 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