メッセージの使用

SMO では、システム メッセージは、Server オブジェクトに属する SystemMessageCollection オブジェクトで表現します。 システム メッセージは変更することができないため、SystemMessage オブジェクト プロパティは読み込み専用となります。

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

使用例

次のコード例では、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。 詳細については、「Visual Studio .NET での Visual Basic SMO プロジェクトの作成」および「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