Konfigurieren von SQL Server in SMO
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics SQL-Datenbank in Microsoft Fabric
In SMO enthalten das Information Objekt, das Settings Objekt, das UserOptions Objekt und das Configuration Objekt Einstellungen 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 zur Instanz von SQL Server, z. B. Prozessor und Plattform.
Die Settings Objekteigenschaften enthalten Informationen zur 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ätsverstärkung, Wiederherstellungsintervall und Netzwerkpaketgrößesteuern die Leistung der SQL Server-Instanz. Viele dieser Optionen können dynamisch geändert werden, aber in einigen Fällen wird der Wert zuerst 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 die Änderung an der Instanz von SQL Server zu übernehmen.
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 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 darüber, ob die Änderung dynamisch vorgenommen wurde oder ob sie 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
Im Codebeispiel werden Informationen zur Instanz von SQL Server in Information und Settingsund sowie Einstellungen in Settings und UserOptionsObjekteigenschaften angezeigt.
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#
Im Codebeispiel werden Informationen zur Instanz von SQL Server in Information und Settingsund sowie Einstellungen in Settings und UserOptionsObjekteigenschaften angezeigt.
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
Im Codebeispiel werden Informationen zur Instanz von SQL Server in Information und Settingsund sowie Einstellungen in Settings und UserOptionsObjekteigenschaften angezeigt.
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 darüber, ob die Änderung dynamisch vorgenommen wurde oder ob sie 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."
}