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


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

В SMO системные сообщения представлены SystemMessageCollection объектом, принадлежащим объекту Server . Поскольку системные сообщения не могут быть изменены, SystemMessage свойства объекта доступны только для чтения.

Определяемые пользователем сообщения представляются программным способом UserDefinedMessageCollection в SMO объектом. Существующие пользовательские сообщения можно обнаружить, выполнив итерацию по коллекции. Новые пользовательские сообщения можно создать, создав экземпляр нового UserDefinedMessage объекта и установив соответствующие свойства.

Примеры

Для следующих примеров кода необходимо выбрать среду программирования, шаблон программирования и язык программирования для создания приложения. Дополнительные сведения см. в статье "Создание проекта SMO Visual Basic в Visual Studio .NET " и создание проекта SMO Visual C# в Visual Studio .NET.

Поиск определенного системного сообщения в Visual Basic

В примере кода показано, как определить системное сообщение по идентификатору и отобразить это сообщение.

Поиск определенного системного сообщения в 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  

Добавление нового сообщения User-Defined в 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()  

Добавление нового сообщения User-Defined в 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);  
  
        }  

Добавление нового сообщения User-Defined в 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