AffinityInfo クラス
AffinityInfo オブジェクトは、SQL Server のインスタンス上のすべての CPU および NUMA ノードの関係設定を表します。 AffinityInfo オブジェクトにアクセスするには Server オブジェクトを使用します。
継承階層
System.Object
Microsoft.SqlServer.Management.Smo.AffinityInfoBase
Microsoft.SqlServer.Management.Smo.AffinityInfo
名前空間: Microsoft.SqlServer.Management.Smo
アセンブリ: Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)
構文
'宣言
Public NotInheritable Class AffinityInfo _
Inherits AffinityInfoBase
'使用
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
AffinityInfo 型は、以下のメンバーを公開しています。
プロパティ
名前 | 説明 | |
---|---|---|
AffinityType | AffinityInfoBase の関係の種類を取得または設定します。 (AffinityInfoBase から継承されています。) | |
Cpus | Cpus メンバーは、SQL Server のインスタンス上のすべての CPU 設定を表すコレクションです。 | |
NumaNodes | NUMA ノード設定を格納するコレクションを取得します。 (AffinityInfoBase から継承されています。) | |
Parent | AffinityInfo オブジェクトの親オブジェクトを取得します。この値は、AffinityInfo メンバーを含む Server オブジェクトと同じです。 |
先頭に戻る
メソッド
名前 | 説明 | |
---|---|---|
Alter | SQL Server インスタンスの AffinityInfo オブジェクトのプロパティに対する変更を更新します。 (AffinityInfoBase から継承されています。) | |
Equals | (Object から継承されています。) | |
GetHashCode | (Object から継承されています。) | |
GetType | (Object から継承されています。) | |
Refresh | このメソッドによって、Cpus および NumaNode にローカル サーバー設定が指定されます。 (AffinityInfoBase.Refresh() をオーバーライドします。) | |
Script() | Transact-SQL スクリプトを生成します。 (AffinityInfoBase から継承されています。) | |
Script(ScriptingOptions) | Transact-SQL スクリプトを生成します。 (AffinityInfoBase から継承されています。) | |
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) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
関連項目
参照
Microsoft.SqlServer.Management.Smo 名前空間
その他の技術情報
64 個を超える CPU のインストールに関するベスト プラクティス
ALTER SERVER CONFIGURATION SET PROCESS AFFINITY (Transact-SQL)