Classe AffinityInfo
The AffinityInfo object represents the Affinity settings for all CPUs and NUMA nodes on an Instance of SQL Server. Access to the AffinityInfo object is provided though the Server object.
Hiérarchie d'héritage
System.Object
Microsoft.SqlServer.Management.Smo.AffinityInfoBase
Microsoft.SqlServer.Management.Smo.AffinityInfo
Espace de noms : Microsoft.SqlServer.Management.Smo
Assembly : Microsoft.SqlServer.Smo (en Microsoft.SqlServer.Smo.dll)
Syntaxe
'Déclaration
Public NotInheritable Class AffinityInfo _
Inherits AffinityInfoBase
'Utilisation
Dim instance As AffinityInfo
public sealed class AffinityInfo : AffinityInfoBase
public ref class AffinityInfo sealed : public AffinityInfoBase
[<SealedAttribute>]
type AffinityInfo =
class
inherit AffinityInfoBase
end
public final class AffinityInfo extends AffinityInfoBase
Le type AffinityInfo expose les membres suivants.
Propriétés
Nom | Description | |
---|---|---|
AffinityType | Gets or sets the affinity type of the AffinityInfoBase. (hérité de AffinityInfoBase.) | |
Cpus | The Cpus member is a collection that represents the CPU settings for all CPUs on an Instance of SQL Server. | |
NumaNodes | Gets a collection that contains the NUMA node settings. (hérité de AffinityInfoBase.) | |
Parent | This gets the parent object of the AffinityInfo object. This value is the same as the Server object that contains the AffinityInfo member. |
Haut de la page
Méthodes
Nom | Description | |
---|---|---|
Alter | Updates the AffinityInfo object property changes on the instance of SQL Server. (hérité de AffinityInfoBase.) | |
Equals | (hérité de Object.) | |
GetHashCode | (hérité de Object.) | |
GetType | (hérité de Object.) | |
Refresh | This method fills in the Cpus and NumaNode with the local server settings. (remplace AffinityInfoBase.Refresh().) | |
Script() | Generates a Transact-SQL script. (hérité de AffinityInfoBase.) | |
Script(ScriptingOptions) | Generates a Transact-SQL script. (hérité de AffinityInfoBase.) | |
ToString | (hérité de Object.) |
Haut de la page
Notes
To get AffinityInfo object properties, users can be a member of the public fixed server role.
To set any AffinityInfo object properties and run the Alter method, users must have ALTER permission on the database.
To create a AffinityInfo object, users must have ALTER ANY APPLICATION role permission on the parent database.
To drop an AffinityInfo object, users must be the owner of the application role or have ALTER ANY APPLICATION role permission on the parent database.
To grant, deny, and revoke permission on the AffinityInfo object, users must have CONTROL permission on the application role.
Exemples
This example shows you how to set all of the CPU’s on an instance of SQL Server to hard affinity.
C#
using System;
using Microsoft.SqlServer.Management.Smo;
namespace samples
{
class Program
{
static void Main(string[] args)
{
Server dbServer = new Server("(local)");
dbServer.AffinityInfo.AffinityType = AffinityType.Manual;
foreach (Cpu cpu in dbServer.AffinityInfo.Cpus)
cpu.AffinityMask = true;
dbServer.AffinityInfo.Alter();
}
}
}
Powershell
//Create the server.
$dbServer = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
//Set the Affinity Type
$dbServer.AffinityInfo.AffinityType = [Microsoft.SqlServer.Management.Smo.AffinityType]'Manual'
//Set each CPU to Hard affinity and update
foreach ($cpu In $dbServer.AffinityInfo.Cpus)
{
$cpu.AffinityMask = $True
$dbServer.AffinityInfo.Alter()
}
Sécurité des threads
Tous les membres publics static (Shared dans Visual Basic) de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.
Voir aussi
Référence
Espace de noms Microsoft.SqlServer.Management.Smo
Autres ressources
Best Practices for Greater than 64 CPU Installations
ALTER SERVER CONFIGURATION SET PROCESS AFFINITY (Transact-SQL)