Partager via


Configuration de SQL Server dans SMO

Dans SMO, objets Information, Settings et UserOptions, ainsi que les informations et paramètres de l'objet Configuration pour l'instance de Microsoft SQL Server.

SQL Server possède de nombreuses propriétés qui décrivent le comportement de l'instance installée. Les propriétés décrivent les options de démarrage, les valeurs par défaut du serveur, les fichiers et répertoires, les informations sur le processeur et le système, le produit et les versions, les informations sur la connexion, les options de mémoire, les sélections de langue et de classement et le mode d'authentification.

Configuration de SQL Server

Les propriétés de l'objet Information contiennent des informations sur l'instance de SQL Server, par exemple le processeur et la plateforme.

Les propriétés de l'objet Settings contiennent des informations sur l'instance de SQL Server. Le fichier et le répertoire par défaut de la base de données peuvent être modifiés en plus du profil de messagerie et du compte du serveur. Ces propriétés restent valables pendant toute la durée de la connexion.

Les propriétés de l'objet UserOptions contiennent des informations sur le comportement des connexions actuelles en ce qui concerne l'arithmétique, les normes ANSI et les transactions.

Il existe également un jeu d'options de configuration représenté par l'objet Configuration. Il contient un jeu de propriétés qui représentent les options qui peuvent être modifiées par la procédure stockée sp_configure. Des options telles que Priority Boost (Renforcement de priorité), Recovery Interval (Intervalle de récupération) et Network Packet Size (Taille du paquet réseau) déterminent les performances de l'instance de SQL Server. Nombre de ces options peuvent être modifiées de manière dynamique, mais dans certains cas, la valeur est d'abord configurée, puis modifiée lorsque l'instance de SQL Server est redémarrée.

Il existe une propriété d'objet Configuration pour chaque option de configuration. Vous pouvez modifier le paramètre de configuration global en utilisant l'objet ConfigProperty. De nombreuses propriétés disposent de valeurs minimum et maximum qui sont également stockées sous la forme de propriétés ConfigProperty. Ces propriétés requièrent la méthode Alter pour valider la modification apportée à l'instance de SQL Server.

Toutes les options de configuration de l'objet Configuration doivent être modifiées par l'administrateur système.

Exemples

Dans les exemples de code suivants, vous devez sélectionner l'environnement, le modèle et le langage de programmation à utiliser pour créer votre application. Pour plus d'informations, consultez Procédure : créer un projet SMO Visual Basic dans Visual Studio .NET et Procédure : créer un projet SMO Visual C# dans Visual Studio .NET.

Modification des options de configuration de SQL Server en Visual Basic

L'exemple de code montre comment mettre à jour une option de configuration en Visual Basic .NET. Il récupère et affiche également des informations relatives aux valeurs minimale et maximale de l'option de configuration spécifiée. Enfin, le programme indique à l'utilisateur si la modification a été apportée dynamiquement ou si elle est stockée jusqu'au redémarrage de l'instance de 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

Modification des paramètres de SQL Server en Visual Basic

L'exemple de code affiche des informations sur l'instance de SQL Server dans Information et Settings, et modifie les paramètres dans les propriétés d'objet Settings et UserOptions.

Dans l'exemple, l'objet UserOptions et l'objet Settings disposent tous deux d'une méthode Alter. Vous pouvez exécuter ces méthodes Alter individuellement.

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

Modification des paramètres de SQL Server en Visual C#

L'exemple de code affiche des informations sur l'instance de SQL Server dans Information et Settings, et modifie les paramètres dans les propriétés d'objet Settings et UserOptions.

Dans l'exemple, l'objet UserOptions et l'objet Settings disposent tous deux d'une méthode Alter. Vous pouvez exécuter ces méthodes Alter individuellement.

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

Modification des paramètres SQL Server dans PowerShell

L'exemple de code affiche des informations sur l'instance de SQL Server dans Information et Settings, et modifie les paramètres dans les propriétés d'objet Settings et UserOptions.

Dans l'exemple, l'objet UserOptions et l'objet Settings disposent tous deux d'une méthode Alter. Vous pouvez exécuter ces méthodes Alter individuellement.

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

Modification des options de configuration de SQL Server dans PowerShell

L'exemple de code montre comment mettre à jour une option de configuration en Visual Basic .NET. Il récupère et affiche également des informations relatives aux valeurs minimale et maximale de l'option de configuration spécifiée. Enfin, le programme indique à l'utilisateur si la modification a été apportée dynamiquement ou si elle est stockée jusqu'au redémarrage de l'instance de 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."
}