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) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。