メッセージの使用

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

SMO では、システム メッセージは、Server オブジェクトに属するSystemMessageCollection オブジェクトによって表されます。 システム メッセージは変更できないため、 SystemMessage オブジェクトのプロパティは読み取り専用です。

SMO では、プログラム上では UserDefinedMessageCollection オブジェクトを使用してユーザー定義メッセージを表現します。 既存のユーザー定義メッセージは、コレクションを反復処理することで検索することができます。 新しいユーザー定義メッセージは、新しい UserDefinedMessage オブジェクトをインスタンス化し、適切なプロパティを設定することによって作成できます。

次のコード例では、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。 詳細については、「 Visual Studio .NET で Visual C# SMO プロジェクトを作成するを参照してください。

Visual Basic での特定のシステム メッセージの検索

このコード例では、システム メッセージを ID 番号で識別してメッセージを表示する方法を示します。

'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# での特定のシステム メッセージの検索

このコード例では、システム メッセージを ID 番号で識別してメッセージを表示する方法を示します。

{  
            //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 での特定のシステム メッセージの検索

このコード例では、システム メッセージを ID 番号で識別してメッセージを表示する方法を示します。

# 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 より大きい ID を使用してユーザー定義メッセージを作成する方法を示します。

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 より大きい ID を使用してユーザー定義メッセージを作成する方法を示します。

{  
  
            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 より大きい ID を使用してユーザー定義メッセージを作成する方法を示します。

#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