Condividi tramite


Configurazione di SQL Server in SMO

In SMO l'oggettoInformation, l'oggettoSettings, l'oggetto UserOptions e l'oggetto Configuration contengono impostazioni e informazioni per l'istanza di Microsoft SQL Server.

SQL Server ha 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 quando viene riavviata l'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 per eseguire il Alter commit della modifica all'istanza di SQL Server.

Tutte le opzioni di configurazione nell'oggetto Configuration devono essere modificate dall'amministratore del sistema.

Esempio

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 Basic in Visual Studio .NET e creare un progetto SMOvisual 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 dinamicamente o se non viene archiviata fino al riavvio dell'istanza di SQL Server.

Modifica delle impostazioni di SQL Server in Visual Basic

L'esempio di codice visualizza informazioni sull'istanza di SQL Server in e e modifica le impostazioni nelle InformationSettings proprietà dell'oggetto eUserOptions.Settings

Nell'esempio l'oggetto UserOptions e l'oggetto Settings hanno entrambi un metodo Alter. È possibile eseguire i metodi Alter per questi oggetti singolarmente.

Modifica delle impostazioni di SQL Server in Visual C#

L'esempio di codice visualizza informazioni sull'istanza di SQL Server in e e modifica le impostazioni nelle InformationSettings proprietà dell'oggetto eUserOptions.Settings

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

L'esempio di codice visualizza informazioni sull'istanza di SQL Server in e e modifica le impostazioni nelle InformationSettings proprietà dell'oggetto eUserOptions.Settings

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 dinamicamente o se non viene 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."  
 }