Utilisation de messages

Dans SMO, les messages système sont représentés par l'objet SystemMessageCollection qui appartient à l'objet Server. Comme les messages système ne peuvent pas être modifiés, les propriétés d'objet SystemMessage sont en lecture seule.

Les messages définis par l'utilisateur sont représentés par programme dans SMO par l'objet UserDefinedMessageCollection. Les messages définis par l'utilisateur existants peuvent être découverts en parcourant la collection. Les nouveaux messages définis par l'utilisateur peuvent être créés par instanciation d'un nouvel objet UserDefinedMessage et définition des propriétés appropriées.

Exemples

Dans les exemples de code suivants, vous devez sélectionner l'environnement, le modèle et le langage de programmation à utiliser pour créer votre application. Pour plus d'informations, consultez Procédure : créer un projet SMO Visual Basic dans Visual Studio .NET et Procédure : créer un projet SMO Visual C# dans Visual Studio .NET.

Recherche d'un message système particulier en Visual Basic

L'exemple de code montre comment identifier un message système par son numéro d'ID et afficher le message.

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

Recherche d'un message système particulier en Visual C#

L'exemple de code montre comment identifier un message système par son numéro d'ID et afficher le message.

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

Recherche d'un message système particulier dans PowerShell

L'exemple de code montre comment identifier un message système par son numéro d'ID et afficher le message.

# 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

Ajout d'un nouveau message défini par l'utilisateur en Visual Basic

L'exemple de code suivant montre comment créer un message défini par l'utilisateur avec un ID supérieur à 50000.

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

Ajout d'un nouveau message défini par l'utilisateur en Visual C#

L'exemple de code suivant montre comment créer un message défini par l'utilisateur avec un ID supérieur à 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);

        }

Ajout d'un nouveau message défini par l'utilisateur dans PowerShell

L'exemple de code suivant montre comment créer un message défini par l'utilisateur avec un ID supérieur à 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