Configurazione di SQL Server in SMO
In SMO, impostazioni e informazioni degli oggetti Information, Settings, UserOptions e Configuration per l'istanza di Microsoft SQL Server.
SQL Server offre varie proprietà che descrivono il comportamento dell'istanza installata. Le proprietà consentono di descrivere opzioni di avvio, impostazioni predefinite del server, file e directory, informazioni sul sistema e sul processore, prodotto e versioni, informazioni di connessione, opzioni per la memoria, selezioni relative a lingua e regole di confronto e modalità di autenticazione.
Configurazione di SQL Server
Le proprietà dell'oggetto Information contengono informazioni sull'istanza di SQL Server, ad esempio processore e piattaforma.
Le proprietà dell'oggetto Settings contengono informazioni sull'istanza di SQL Server. Oltre al profilo di posta e all'account del server, è possibile modificare il file e la directory di database predefiniti. Queste proprietà rimangono valide per la durata della connessione.
Le proprietà dell'oggetto UserOptions contengono informazioni sul comportamento delle connessioni correnti in relazione ad aritmetica, standard ANSI e transazioni.
È inoltre disponibile un set di opzioni di configurazione rappresentato dall'oggetto Configuration. Contiene un set di proprietà che rappresentano le opzioni che possono essere modificate dalla stored procedure sp_configure. Le opzioni quali Priority Boost, Recovery Interval e Network Packet Sizecontrollano le prestazioni dell'istanza di SQL Server. Molte di queste opzioni possono essere modificate dinamicamente, ma in alcuni casi il valore viene prima configurato, quindi modificato al riavvio dell'istanza di SQL Server.
È presente una proprietà dell'oggetto Configuration per ogni opzione di configurazione. È possibile modificare l'impostazione di configurazione globale utilizzando l'oggetto ConfigProperty. Molte proprietà hanno valori massimi e minimi, anch'essi archiviati come proprietà ConfigProperty. Queste proprietà richiedono il metodo Alter per eseguire il commit della modifica nell'istanza di SQL Server.
Tutte le opzioni di configurazione nell'oggetto Configuration devono essere modificate dall'amministratore del sistema.
Esempi
Per i seguenti esempi di codice, è 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.
Modifica delle opzioni di configurazione di SQL Server in Visual Basic
Nell'esempio di codice viene illustrato come aggiornare un'opzione di configurazione in Visual Basic .NET. Vengono inoltre recuperate e visualizzate informazioni relative ai valori massimi e minimi per l'opzione di configurazione specificata. Infine, viene segnalato all'utente se la modifica è stata apportata dinamicamente o se è stata archiviata fino al riavvio dell'istanza di SQL Server.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Display all the configuration options.
Dim p As ConfigProperty
For Each p In srv.Configuration.Properties
Console.WriteLine(p.DisplayName)
Next
Console.WriteLine("There are " & srv.Configuration.Properties.Count.ToString & " configuration options.")
'Display the maximum and minimum values for ShowAdvancedOptions.
Dim min As Integer
Dim max As Integer
min = srv.Configuration.ShowAdvancedOptions.Minimum
max = srv.Configuration.ShowAdvancedOptions.Maximum
Console.WriteLine("Minimum and Maximum values are " & min & " and " & max & ".")
'Modify the value of ShowAdvancedOptions and run the Alter method.
srv.Configuration.ShowAdvancedOptions.ConfigValue = 0
srv.Configuration.Alter()
'Display when the change takes place according to the IsDynamic property.
If srv.Configuration.ShowAdvancedOptions.IsDynamic = True Then
Console.WriteLine("Configuration option has been updated.")
Else
Console.WriteLine("Configuration option will be updated when SQL Server is restarted.")
End If
Modifica delle impostazioni di SQL Server in Visual Basic
Nell'esempio di codice vengono visualizzate informazioni sull'istanza di SQL Server in Information e Settings e vengono modificate le impostazioni nelle proprietà degli oggetti Settings e UserOptions.
Nell'esempio l'oggetto UserOptions e l'oggetto Settings hanno entrambi un metodo Alter. È possibile eseguire i metodi Alter per questi oggetti singolarmente.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Display information about the instance of SQL Server in Information and Settings.
Console.WriteLine("OS Version = " & srv.Information.OSVersion)
Console.WriteLine("State = " & srv.Settings.State.ToString)
'Display information specific to the current user in UserOptions.
Console.WriteLine("Quoted Identifier support = " & srv.UserOptions.QuotedIdentifier)
'Modify server settings in Settings.
srv.Settings.LoginMode = ServerLoginMode.Integrated
'Modify settings specific to the current connection in UserOptions.
srv.UserOptions.AbortOnArithmeticErrors = True
'Run the Alter method to make the changes on the instance of SQL Server.
srv.Alter()
Modifica delle impostazioni di SQL Server in Visual C#
Nell'esempio di codice vengono visualizzate informazioni sull'istanza di SQL Server in Information e Settings e vengono modificate le impostazioni nelle proprietà degli oggetti Settings e UserOptions.
Nell'esempio l'oggetto UserOptions e l'oggetto Settings hanno entrambi un metodo Alter. È possibile eseguire i metodi Alter per questi oggetti singolarmente.
//Connect to the local, default instance of SQL Server.
{
Server srv = new Server();
//Display all the configuration options.
foreach (ConfigProperty p in srv.Configuration.Properties)
{
Console.WriteLine(p.DisplayName);
}
Console.WriteLine("There are " + srv.Configuration.Properties.Count.ToString() + " configuration options.");
//Display the maximum and minimum values for ShowAdvancedOptions.
int min = 0;
int max = 0;
min = srv.Configuration.ShowAdvancedOptions.Minimum;
max = srv.Configuration.ShowAdvancedOptions.Maximum;
Console.WriteLine("Minimum and Maximum values are " + min + " and " + max + ".");
//Modify the value of ShowAdvancedOptions and run the Alter method.
srv.Configuration.ShowAdvancedOptions.ConfigValue = 0;
srv.Configuration.Alter();
//Display when the change takes place according to the IsDynamic property.
if (srv.Configuration.ShowAdvancedOptions.IsDynamic == true)
{
Console.WriteLine("Configuration option has been updated.");
}
else
{
Console.WriteLine("Configuration option will be updated when SQL Server is restarted.");
}
}
Modifica delle impostazioni di SQL Server in PowerShell
Nell'esempio di codice vengono visualizzate informazioni sull'istanza di SQL Server in Information e Settings e vengono modificate le impostazioni nelle proprietà degli oggetti Settings e UserOptions.
Nell'esempio l'oggetto UserOptions e l'oggetto Settings hanno entrambi un metodo Alter. È possibile eseguire i metodi Alter per questi oggetti singolarmente.
# Set the path context to the local, default instance of SQL Server.
CD \sql\localhost\
$srv = get-item default
#Display information about the instance of SQL Server in Information and Settings.
"OS Version = " + $srv.Information.OSVersion
"State = "+ $srv.Settings.State.ToString()
#Display information specific to the current user in UserOptions.
"Quoted Identifier support = " + $srv.UserOptions.QuotedIdentifier
#Modify server settings in Settings.
$srv.Settings.LoginMode = [Microsoft.SqlServer.Management.SMO.ServerLoginMode]::Integrated
#Modify settings specific to the current connection in UserOptions.
$srv.UserOptions.AbortOnArithmeticErrors = $true
#Run the Alter method to make the changes on the instance of SQL Server.
$srv.Alter()
Modifica delle opzioni di configurazione di SQL Server in PowerShell
Nell'esempio di codice viene illustrato come aggiornare un'opzione di configurazione in Visual Basic .NET. Vengono inoltre recuperate e visualizzate informazioni relative ai valori massimi e minimi per l'opzione di configurazione specificata. Infine, viene segnalato all'utente se la modifica è stata apportata dinamicamente o se è stata archiviata fino al riavvio dell'istanza di SQL Server.
#Get a server object which corresponds to the default instance replace LocalMachine with the physical server
cd \sql\LocalMachine
$svr = get-item default
#enumerate its properties
foreach ($Item in $Svr.Configuration.Properties)
{
$Item.DisplayName
}
"There are " + $svr.Configuration.Properties.Count.ToString() + " configuration options."
#Display the maximum and minimum values for ShowAdvancedOptions.
$min = $svr.Configuration.ShowAdvancedOptions.Minimum
$max = $svr.Configuration.ShowAdvancedOptions.Maximum
"Minimum and Maximum values are " + $min.ToString() + " and " + $max.ToString() + "."
#Modify the value of ShowAdvancedOptions and run the Alter method.
$svr.Configuration.ShowAdvancedOptions.ConfigValue = 0
$svr.Configuration.Alter()
#Display when the change takes place according to the IsDynamic property.
If ($svr.Configuration.ShowAdvancedOptions.IsDynamic -eq $true)
{
"Configuration option has been updated."
}
Else
{
"Configuration option will be updated when SQL Server is restarted."
}