Verwenden von Meldungen

In SMO werden Systemmeldungen durch das SystemMessageCollection-Objekt dargestellt, das zum Server-Objekt gehört. Da die Systemmeldungen nicht geändert werden können, sind SystemMessage-Objekteigenschaften schreibgeschützt.

Benutzerdefinierte Meldungen werden programmgesteuert vom UserDefinedMessageCollection-Objekt in SMO dargestellt. Vorhandene benutzerdefinierte Meldungen können ermittelt werden, indem man die Auflistung durchläuft. Neue benutzerdefinierte Meldungen können durch Instanziierung eines neuen UserDefinedMessage-Objekts und Festlegung der entsprechenden Eigenschaften erstellt werden.

Beispiele

Für die folgenden Codebeispiele müssen Sie die Programmierungsumgebung, die Programmiervorlage und die Programmiersprache auswählen, um Ihre Anwendung zu erstellen. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen eines Visual Basic-SMO-Projekts in Visual Studio .NET und Vorgehensweise: Erstellen eines Visual C#-SMO-Projekts in Visual Studio .NET.

Suchen einer bestimmten Systemmeldung in Visual Basic

Das Codebeispiel zeigt, wie eine Systemmeldung anhand der ID-Nummer identifiziert und die Meldung angezeigt wird.

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

Suchen einer bestimmten Systemmeldung in Visual C#

Das Codebeispiel zeigt, wie eine Systemmeldung anhand der ID-Nummer identifiziert und die Meldung angezeigt wird.

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

Suchen einer bestimmten Systemmeldung in PowerShell

Das Codebeispiel zeigt, wie eine Systemmeldung anhand der ID-Nummer identifiziert und die Meldung angezeigt wird.

# 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

Hinzufügen einer neuen benutzerdefinierten Meldung in Visual Basic

Das Codebeispiel zeigt, wie eine benutzerdefinierte Meldung mit einer ID größer als 50.000 erstellt wird.

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

Hinzufügen einer neuen benutzerdefinierten Meldung in Visual C#

Das Codebeispiel zeigt, wie eine benutzerdefinierte Meldung mit einer ID größer als 50.000 erstellt wird.

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

        }

Hinzufügen einer neuen benutzerdefinierten Meldung in PowerShell

Das Codebeispiel zeigt, wie eine benutzerdefinierte Meldung mit einer ID größer als 50.000 erstellt wird.

#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