次の方法で共有


AffinityInfo クラス

AffinityInfo オブジェクトは、SQL Server のインスタンス上のすべての CPU および NUMA ノードの関係設定を表します。AffinityInfo オブジェクトにアクセスするには Server オブジェクトを使用します。

継承階層

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

名前空間:  Microsoft.SqlServer.Management.Smo
アセンブリ:  Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)

構文

'宣言
Public NotInheritable Class AffinityInfo _
    Implements IAlterable, IScriptable
'使用
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

AffinityInfo 型は、以下のメンバーを公開しています。

プロパティ

  名前 説明
パブリック プロパティ AffinityType AffinityInfo クラスの AffinityType()()()() メンバーを取得または設定します。有効値は、Auto または Manual です。
パブリック プロパティ Cpus Cpus()()()() メンバーは、SQL Server のインスタンス上のすべての CPU 設定を表すコレクションです。
パブリック プロパティ NumaNodes NumaNode()()()() メンバーは、SQL Server のインスタンスの NUMA ノードを含むコレクションです。
パブリック プロパティ Parent AffinityInfo オブジェクトの親オブジェクトを取得します。この値は、AffinityInfo()()()() メンバーを含む Server オブジェクトと同じです。

先頭に戻る

メソッド

  名前 説明
パブリック メソッド Alter このメソッドによって、AffinityInfo クラスの現在の値でサーバーが更新されます。
パブリック メソッド Equals (Object から継承されています。)
プロテクト メソッド Finalize (Object から継承されています。)
パブリック メソッド GetHashCode (Object から継承されています。)
パブリック メソッド GetType (Object から継承されています。)
プロテクト メソッド MemberwiseClone (Object から継承されています。)
パブリック メソッド Refresh このメソッドによって、Cpus()()()() および NumaNode()()()() にローカル サーバー設定が指定されます。
パブリック メソッド Script() () () () AffinityInfo オブジェクトの指定に従って SQL Server のインスタンスの関係設定を再作成するために使用できる Transact-SQL スクリプトを生成します。
パブリック メソッド Script(ScriptingOptions) AffinityInfo オブジェクトの指定に従って SQL Server のインスタンスの関係設定を再作成するために使用できる Transact-SQL スクリプトを生成します。
パブリック メソッド ToString (Object から継承されています。)

先頭に戻る

説明

AffinityInfo オブジェクトのプロパティは、固定サーバー ロール public のメンバーであれば取得できます。

任意の AffinityInfo オブジェクト プロパティを設定し、Alter メソッドを実行するには、データベースの ALTER 権限を持っている必要があります。

AffinityInfo オブジェクトを作成するには、親データベースの ALTER ANY APPLICATION ロール権限を持っている必要があります。

AffinityInfo オブジェクトを削除するには、アプリケーション ロールの所有者であるか、親データベースの ALTER ANY APPLICATION ロール権限を持っている必要があります。

AffinityInfo オブジェクトに対する権限の許可、拒否、または取り消しを行うには、アプリケーション ロールの CONTROL 権限を持っている必要があります。

使用例

この例では、SQL Server のインスタンス上のすべての CPU をハード アフィニティに設定する方法を示します。

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

スレッド セーフ

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。