メッセージの使用
適用対象: 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