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


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

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

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

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

Примеры

В следующих примерах кода для создания приложения необходимо выбрать среду программирования, шаблон программирования и язык программирования. Дополнительные сведения см. в статье "Создание проекта 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

Пример кода демонстрирует, как создать определяемое пользователем сообщение с идентификатором больше 50 000.

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#

Пример кода демонстрирует, как создать определяемое пользователем сообщение с идентификатором больше 50 000.

{  
  
            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

Пример кода демонстрирует, как создать определяемое пользователем сообщение с идентификатором больше 50 000.

#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