Compartilhar via


Usando mensagens

No SMO, mensagens do sistema são representadas pelo objeto SystemMessageCollection que pertence ao objeto Server. Como as mensagens do sistema não podem ser modificadas, as propriedades do objeto SystemMessage são somente leitura.

Mensagens definidas pelo usuário são representadas programaticamente no SMO pelo objeto UserDefinedMessageCollection. Mensagens existentes, definidas pelo usuário, podem ser descobertas através da iteração pela coleção. Para gerar novas mensagens definidas pelo usuário, você pode criar uma instância de um novo objeto UserDefinedMessage e definir as propriedades adequadas.

Exemplos

Para os exemplos de código a seguir, selecione o ambiente de programação, o modelo de programação e a linguagem de programação para criar seu aplicativo. Para obter mais informações, consulte Criar um projeto SMO do Visual Basic no Visual Studio .NET e Criar um projeto SMO do Visual C# no Visual Studio .NET.

Localizando uma mensagem de sistema específica no Visual Basic .NET

O exemplo de código mostra como identificar uma mensagem de sistema através do número de identificação e como exibir a mensagem.

'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)

Localizando uma mensagem do sistema específica no Visual Basic C#

O exemplo de código mostra como identificar uma mensagem de sistema através do número de identificação e como exibir a mensagem.

{
            //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);
        }

Localizando uma mensagem do sistema específica no PowerShell

O exemplo de código mostra como identificar uma mensagem de sistema através do número de identificação e como exibir a mensagem.

# 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

Adicionando uma nova mensagem definida pelo usuário no Visual Basic

O exemplo de código demonstra como criar uma mensagem definida pelo usuário com uma identificação maior que 50000.

Dim mysrv As Server
mysrv = New Server
Dim udm As UserDefinedMessage
udm = New UserDefinedMessage(mysrv, 50003, "us_english", 16, "Test message")
udm.Create()

Adicionando uma nova mensagem definida pelo usuário no Visual Basic C#

O exemplo de código demonstra como criar uma mensagem definida pelo usuário com uma identificação maior que 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);

        }

Adicionando uma nova mensagem definida pelo usuário no PowerShell

O exemplo de código demonstra como criar uma mensagem definida pelo usuário com uma identificação maior que 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