Freigeben über


Konfigurieren von SQL Server in SMO

In SMO das Information-Objekt, das Settings-Objekt, das UserOptions-Objekt und die Configuration-Objekteinstellungen und -informationen für die Instanz von Microsoft SQL Server.

SQL Server verfügt über zahlreiche Eigenschaften, die das Verhalten der installierten Instanz beschreiben. Die Eigenschaften beschreiben die Startoptionen, die Serverstandardwerte, Dateien und Verzeichnisse, System- und Prozessorinformationen, Produkt und Versionen, Verbindungsinformationen, Speicheroptionen, Sprach- und Sortierungsauswahl und den Authentifizierungsmodus.

SQL Server-Konfiguration

Die Information-Objekteigenschaften enthalten Informationen über die Instanz von SQL Server, wie z. B. Prozessor und Plattform.

Die Settings-Objekteigenschaften enthalten Informationen über die Instanz von SQL Server. Die Standard-Datenbankdatei und das Standardverzeichnis können zusätzlich zum Mailprofil und Serverkonto geändert werden. Diese Eigenschaften bleiben für die Dauer der Verbindung erhalten.

Die UserOptions-Objekteigenschaften enthalten Informationen über das aktuelle Verbindungsverhalten im Zusammenhang mit Arithmetik, ANSI-Standards und Transaktionen.

Es gibt auch einen Satz an Konfigurationsoptionen, der durch das Configuration-Objekt dargestellt wird. Er enthält eine Eigenschaftengruppe, die die Optionen darstellt, die durch die gespeicherte Prozedur sp_configure geändert werden können. Optionen wie Prioritätserhöhung, Wiederherstellungsintervall und Netzwerkpaketgröße kontrollieren die Leistung der Instanz von SQL Server. Viele dieser Optionen können dynamisch geändert werden. In einigen Fällen allerdings wird zunächst der Wert konfiguriert und dann geändert, wenn die Instanz von SQL Server neu gestartet wird.

Es gibt eine Configuration-Objekteigenschaft für jede Konfigurationsoption. Durch die Verwendung des ConfigProperty-Objekts können Sie die globale Konfigurationseinstellung ändern. Viele Eigenschaften verfügen über Maximal- und Minimalwerte, die auch als ConfigProperty-Eigenschaften gespeichert werden. Diese Eigenschaften erfordern die Alter-Methode, um einen Commit für die Änderung an der Instanz von SQL Server auszuführen.

Alle Konfigurationsoptionen im Configuration-Objekt müssen vom Systemadministrator geändert werden.

Beispiele

Für die folgenden Codebeispiele müssen Sie die Programmierungsumgebung, die Programmiervorlage und die Programmiersprache auswählen, um Ihre Anwendung zu erstellen. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen eines Visual Basic-SMO-Projekts in Visual Studio .NET und Vorgehensweise: Erstellen eines Visual C#-SMO-Projekts in Visual Studio .NET.

Ändern von SQL Server-Konfigurationsoptionen in Visual Basic

Im Codebeispiel wird gezeigt, wie eine Konfigurationsoption in Visual Basic .NET aktualisiert wird. Weiterhin ruft es Informationen über Maximal- und Minimalwerte für die angegebene Konfigurationsoption ab und stellt diese dar. Schließlich informiert das Programm den Benutzer, wenn die Änderung dynamisch vorgenommen wurde oder diese gespeichert wird, bis die Instanz von SQL Server neu gestartet wird.

'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

Ändern von SQL Server-Einstellungen in Visual Basic

Das Codebeispiel zeigt Informationen über die Instanz von SQL Server in Information und Settings an und ändert Einstellungen in den Objekteigenschaften Settings und UserOptions.

Im Beispiel verfügen sowohl das UserOptions-Objekt als auch das Settings-Objekt über eine Alter-Methode. Sie können die Alter-Methoden für diese einzeln ausführen.

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

Ändern von SQL Server-Einstellungen in Visual C#

Das Codebeispiel zeigt Informationen über die Instanz von SQL Server in Information und Settings an und ändert Einstellungen in den Objekteigenschaften Settings und UserOptions.

Im Beispiel verfügen sowohl das UserOptions-Objekt als auch das Settings-Objekt über eine Alter-Methode. Sie können die Alter-Methoden für diese einzeln ausführen.

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

Ändern von SQL Server-Einstellungen in PowerShell

Das Codebeispiel zeigt Informationen über die Instanz von SQL Server in Information und Settings an und ändert Einstellungen in den Objekteigenschaften Settings und UserOptions.

Im Beispiel verfügen sowohl das UserOptions-Objekt als auch das Settings-Objekt über eine Alter-Methode. Sie können die Alter-Methoden für diese einzeln ausführen.

# 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()

Ändern von SQL Server-Konfigurationsoptionen in PowerShell

Im Codebeispiel wird gezeigt, wie eine Konfigurationsoption in Visual Basic .NET aktualisiert wird. Weiterhin ruft es Informationen über Maximal- und Minimalwerte für die angegebene Konfigurationsoption ab und stellt diese dar. Schließlich informiert das Programm den Benutzer, wenn die Änderung dynamisch vorgenommen wurde oder diese gespeichert wird, bis die Instanz von SQL Server neu gestartet wird.

#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."
}