使用消息

在 SMO 中,系统消息由 SystemMessageCollection 属于该 Server 对象的对象表示。 由于无法修改系统消息, SystemMessage 因此对象属性是只读的。

用户定义消息由 UserDefinedMessageCollection 对象以编程方式在 SMO 中表示。 可以通过循环访问集合来发现现有的用户定义的消息。 可以通过实例化新对象并设置相应的属性来创建新的 UserDefinedMessage 用户定义的消息。

例子

对于以下代码示例,必须选择编程环境、编程模板和编程语言来创建应用程序。 有关详细信息,请参阅 在 Visual Studio .NET 中创建 Visual Basic SMO 项目 ,并在 Visual Studio .NET 中创建 Visual C# SMO 项目

在 Visual Basic 中查找特定系统消息

代码示例演示如何按 ID 号标识系统消息并显示消息。

在 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 中添加新 User-Defined 消息

该代码示例演示如何创建 ID 大于 50000 的用户定义消息。

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 中添加新 User-Defined 消息#

该代码示例演示如何创建 ID 大于 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);  
  
        }  

在 PowerShell 中添加新 User-Defined 消息

该代码示例演示如何创建 ID 大于 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