Utilizzo di messaggi
In SMO i messaggi di sistema sono rappresentati dall'oggetto SystemMessageCollection che appartiene all'oggetto Server. Poiché i messaggi di sistema non possono essere modificati, le proprietà dell'oggetto SystemMessage sono di sola lettura.
In SMO i messaggi definiti dall'utente sono rappresentati a livello di codice dall'oggetto UserDefinedMessageCollection. È possibile individuare i messaggi definiti dall'utente esistenti scorrendo la raccolta. È possibile creare nuovi messaggi definiti dall'utente creando un'istanza di un nuovo oggetto UserDefinedMessage e impostando le proprietà appropriate.
Esempi
Per gli esempi di codice seguenti, è necessario selezionare l'ambiente, il modello e il linguaggio di programmazione per la creazione dell'applicazione. Per ulteriori informazioni, vedere Procedura: Creazione di un progetto Visual Basic SMO in Visual Studio .NET e Procedura: Creazione di un progetto Visual C# SMO in Visual Studio .NET.
Individuazione di un messaggio di sistema particolare in Visual Basic
Nell'esempio di codice viene illustrato come identificare un messaggio di sistema in base al numero ID e come visualizzarlo.
'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)
Individuazione di un messaggio di sistema particolare in Visual C#
Nell'esempio di codice viene illustrato come identificare un messaggio di sistema in base al numero ID e come visualizzarlo.
{
//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);
}
Individuazione di un messaggio di sistema particolare in PowerShell
Nell'esempio di codice viene illustrato come identificare un messaggio di sistema in base al numero ID e come visualizzarlo.
# 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
Aggiunta di un nuovo messaggio definito dall'utente in Visual Basic
Nell'esempio di codice viene illustrato come creare un messaggio definito dall'utente con un ID maggiore di 50000.
Dim mysrv As Server
mysrv = New Server
Dim udm As UserDefinedMessage
udm = New UserDefinedMessage(mysrv, 50003, "us_english", 16, "Test message")
udm.Create()
Aggiunta di un nuovo messaggio definito dall'utente in Visual C#
Nell'esempio di codice viene illustrato come creare un messaggio definito dall'utente con un ID maggiore di 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);
}
Aggiunta di un nuovo messaggio definito dall'utente in PowerShell
Nell'esempio di codice viene illustrato come creare un messaggio definito dall'utente con un ID maggiore di 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