Compartir a través de


Clase 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.

Jerarquía de herencia

System. . :: . .Object
  Microsoft.SqlServer.Management.Smo..::..AffinityInfo

Espacio de nombres:  Microsoft.SqlServer.Management.Smo
Ensamblado:  Microsoft.SqlServer.Smo (en Microsoft.SqlServer.Smo.dll)

Sintaxis

'Declaración
Public NotInheritable Class AffinityInfo _
    Implements IAlterable, IScriptable
'Uso
Dim instance As AffinityInfo
public sealed class AffinityInfo : IAlterable, 
    IScriptable
public ref class AffinityInfo sealed : IAlterable, 
    IScriptable
[<SealedAttribute>]
type AffinityInfo =  
    class
        interface IAlterable
        interface IScriptable
    end
public final class AffinityInfo implements IAlterable, IScriptable

El tipo AffinityInfo expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública AffinityType Gets or Sets the AffinityType()()()() member of the AffinityInfo class. Valid values are Auto or Manual.
Propiedad pública Cpus The Cpus()()()() member is a collection that represents the CPU settings for all CPUs on an Instance of SQL Server.
Propiedad pública NumaNodes The NumaNode()()()() member is a collection that contains the NUMA node settings for an Instance of SQL Server.
Propiedad pública Parent This gets the parent object of the AffinityInfo object. This value is the same as the Server object that contains the AffinityInfo()()()() member.

Arriba

Métodos

  Nombre Descripción
Método público Alter This method updates the server with the current values in the AffinityInfo class.
Método público Equals (Se hereda de Object.)
Método protegido Finalize (Se hereda de Object.)
Método público GetHashCode (Se hereda de Object.)
Método público GetType (Se hereda de Object.)
Método protegido MemberwiseClone (Se hereda de Object.)
Método público Refresh This method fills in the Cpus()()()() and NumaNode()()()() with the local server settings.
Método público Script() () () () Generates a Transact-SQL script that can be used to re-create the instance of SQL Server affinity settings as specified in the AffinityInfo object.
Método público Script(ScriptingOptions) Generates a Transact-SQL script that can be used to re-create the instance of SQL Server affinity settings as specified in the AffinityInfo object.
Método público ToString (Se hereda de Object.)

Arriba

Comentarios

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.

Ejemplos

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

Seguridad para subprocesos

Cualquier miembro público static (Shared en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.