Condividi tramite


Configurazione di SQL Server in SMO

Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics

In SMO l'oggetto Information , l'oggetto Settings , l'oggetto e l'oggetto UserOptionsConfiguration contengono impostazioni e informazioni per l'istanza di Microsoft SQL Server.

SQL Server dispone di numerose 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 Information proprietà dell'oggetto contengono informazioni sull'istanza di SQL Server, ad esempio processore e piattaforma.

Le Settings proprietà dell'oggetto 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 . Opzioni come Priority Boost, Recovery Interval e Network Packet Sizecontrollano le prestazioni dell'istanza di SQL Server. Molte di queste opzioni possono essere modificate in modo dinamico, ma in alcuni casi il valore viene prima configurato e 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 Alter metodo 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 gli esempi di codice seguenti, è necessario selezionare l'ambiente, il modello e il linguaggio di programmazione per la creazione dell'applicazione. Per altre informazioni, vedere Creare un progetto SMO di Visual C# 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, il programma informa l'utente se la modifica è stata apportata in modo dinamico o se è 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 Settingse vengono modificate le impostazioni nelle Settings proprietà dell'oggetto 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 Settingse vengono modificate le impostazioni nelle Settings proprietà dell'oggetto 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 Settingse vengono modificate le impostazioni nelle Settings proprietà dell'oggetto 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, il programma informa l'utente se la modifica è stata apportata in modo dinamico o se è 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."  
}