次の方法で共有


ALTER SERVER CONFIGURATION (Transact-SQL)

SQL Server で現在のサーバーのグローバル構成設定を変更します。

適用対象: SQL Server (SQL Server 2008 R2 から現在のバージョンまで)

トピック リンク アイコン Transact-SQL 構文表記規則

構文

ALTER SERVER CONFIGURATION
SET <optionspec> 
[;]

<optionspec> ::=
{
     <process_affinity>
   | <diagnostic_log>
   | <failover_cluster_property>
   | <hadr_cluster_context>
   | <buffer_pool_extension>
}

<process_affinity> ::= 
   PROCESS AFFINITY 
   {
     CPU = { AUTO | <CPU_range_spec> } 
   | NUMANODE = <NUMA_node_range_spec> 
   }
   <CPU_range_spec> ::= 
      { CPU_ID | CPU_ID  TO CPU_ID } [ ,...n ] 

   <NUMA_node_range_spec> ::= 
      { NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID } [ ,...n ]

<diagnostic_log> ::= 
   DIAGNOSTICS LOG 
   { 
     ON  
   | OFF  
   | PATH = { 'os_file_path' | DEFAULT }  
   | MAX_SIZE = { 'log_max_size' MB | DEFAULT }  
   | MAX_FILES = { 'max_file_count' | DEFAULT }  
   }

<failover_cluster_property> ::= 
   FAILOVER CLUSTER PROPERTY <resource_property>
   <resource_property> ::=
      {
        VerboseLogging = { 'logging_detail' | DEFAULT }  
      | SqlDumperDumpFlags = { 'dump_file_type' | DEFAULT }
      | SqlDumperDumpPath = { 'os_file_path'| DEFAULT }
      | SqlDumperDumpTimeOut = { 'dump_time-out' | DEFAULT }
      | FailureConditionLevel = { 'failure_condition_level' | DEFAULT }
      | HealthCheckTimeout = { 'health_check_time-out' | DEFAULT }
      }

<hadr_cluster_context> ::=
   HADR CLUSTER CONTEXT = { 'remote_windows_cluster' | LOCAL }

<buffer_pool_extension>::=
    BUFFER POOL EXTENSION 
    { ON ( FILENAME = 'os_file_path_and_name' , SIZE = <size_spec> ) 
    | OFF }

    <size_spec> ::=
        { size [ KB | MB | GB ] }

引数

<process_affinity> ::=

  • PROCESS AFFINITY
    CPU へのハードウェア スレッドの関連付けを有効にします。

  • CPU = { AUTO | <CPU_range_spec> }
    指定された範囲内の個々の CPU に SQL Server のワーカー スレッドを配分します。 指定された範囲外の CPU にはスレッドの割り当ては行われません。

    • AUTO
      CPU へのスレッドの割り当てを一切行いません。 サーバーのワークロードに基づいて、オペレーティング システムが複数の CPU 間で自由にスレッドを移動できます。 この値は既定値であり、推奨の設定です。

    • <CPU_range_spec> ::=
      スレッドを割り当てる CPU または CPU の範囲を指定します。

    • { CPU_ID | CPU_ID TO CPU_ID } [ ,...n ]
      1 つ以上の CPU の一覧を指定します。 CPU ID は 0 から始まる integer 値です。
  • NUMANODE = <NUMA_node_range_spec>
    指定された NUMA ノードまたはノードの範囲に属しているすべての CPU にスレッドを割り当てます。

    • <NUMA_node_range_spec> ::=
      NUMA ノードまたは NUMA ノードの範囲を指定します。

    • { NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID } [ ,...n ]
      1 つ以上の NUMA ノードの一覧を指定します。 NUMA ノード ID は 0 から始まる integer 値です。

<diagnostic_log> ::=

適用対象: SQL Server 2012 から SQL Server 2014

  • DIAGNOSTICS LOG
    sp_server_diagnostics プロシージャによってキャプチャされた診断データのログ記録を開始または停止し、SQLDIAG ログの構成パラメーター (ログ ファイルのロールオーバー回数、ログ ファイルのサイズ、ファイルの場所など) を設定します。 詳細については、「フェールオーバー クラスター インスタンスの診断ログを表示して読む方法」を参照してください。

  • ON
    PATH ファイル オプションで指定された場所に SQL Server による診断データのログ記録を開始します。 これは既定値です。

  • OFF
    診断データのログ記録を停止します。

  • PATH = { 'os_file_path' | DEFAULT }
    診断ログの場所を示すパス。 既定の場所は、SQL Server フェールオーバー クラスター インスタンスのインストール フォルダー内の <\MSSQL\Log> です。

  • MAX_SIZE = { 'log_max_size' MB | DEFAULT }
    各診断ログの最大サイズ (MB 単位)。 既定値は 100 MB です。

  • MAX_FILES = { 'max_file_count' | DEFAULT }
    新しい診断ログとして再利用されるまでにコンピューターに格納できる診断ログ ファイルの最大数。

<failover_cluster_property> ::=

適用対象: SQL Server 2012 から SQL Server 2014

  • FAILOVER CLUSTER PROPERTY
    SQL Server リソース プライベート フェールオーバー クラスターのプロパティを変更します。

  • VERBOSE LOGGING = { 'logging_detail' | DEFAULT }
    SQL Server フェールオーバー クラスタリングのログ記録レベルを設定します。 オンにすると、トラブルシューティングを目的とした詳細情報をエラー ログに追加できます。

    • 0: ログ記録はオフです (既定)。

    • 1: エラーのみ。

    • 2: エラーおよび警告。

  • SQLDUMPEREDUMPFLAGS
    SQL Server の SQLDumper ユーティリティによって生成されるダンプ ファイルの種類を決定します。 既定の設定は 0 です。 詳細については、SQL Server Dumper ユーティリティに関するサポート技術情報の資料を参照してください。

  • SQLDUMPERDUMPPATH = { 'os_file_path' | DEFAULT }
    SQLDumper ユーティリティがダンプ ファイルを保存する場所。 詳細については、SQL Server Dumper ユーティリティに関するサポート技術情報の資料を参照してください。

  • SQLDUMPERDUMPTIMEOUT = { 'dump_time-out' | DEFAULT }
    SQL Server でエラーが発生した場合の、SQLDumper ユーティリティによるダンプの生成のタイムアウト値 (ミリ秒単位)。 既定値は 0 で、ダンプの完了に時間制限がないことを示します。 詳細については、SQL Server Dumper ユーティリティに関するサポート技術情報の資料を参照してください。

  • FAILURECONDITIONLEVEL = { 'failure_condition_level' | DEFAULT }
    SQL Server フェールオーバー クラスター インスタンスがフェイルオーバーまたは再起動する必要がある状態。 既定値は 3 で、重大なサーバー エラーの発生時に SQL Server リソースがフェールオーバーまたは再起動することを示します。 これらのエラー状態レベルの詳細については、「FailureConditionLevel プロパティ設定の構成」を参照してください。

  • HEALTHCHECKTIMEOUT = { 'health_check_time-out' | DEFAULT }
    SQL Server データベース エンジンのリソース DLL が、サーバーの状態情報を待機する時間のタイムアウト値です。この待機時間を経過すると、SQL Server のインスタンスが応答不能と見なされます。 このタイムアウト値は、ミリ秒単位で指定します。 既定値は 60,000 ミリ秒 (60 秒) です。

<hadr_cluster_context> ::=

適用対象: SQL Server 2012 から SQL Server 2014

  • HADR CLUSTER CONTEXT = { 'remote_windows_cluster' | LOCAL }
    サーバー インスタンスの HADR クラスター コンテキストを、指定した Windows Server フェールオーバー クラスタリング (WSFC) クラスターに切り替えます。 HADR クラスター コンテキストは、サーバー インスタンスによってホストされる可用性レプリカのメタデータを管理する Windows Server フェールオーバー クラスタリング (WSFC) を決定します。 SET HADR CLUSTER CONTEXT オプションは、AlwaysOn 可用性グループを新しい WSFC クラスター上の SQL Server 2012 SP1 以降のバージョンのインスタンスに移行するクラスター間での移行中にのみ使用してください。

    HADR クラスター コンテキストの切り替えは、ローカル WSFC クラスターとリモート クラスター間でのみ実行できます。 HADR クラスター コンテキストは、SQL Server インスタンスが可用性レプリカをホストしていない場合のみリモート クラスターに切り替えることができます。

    リモート HADR クラスター コンテキストは、いつでもローカル クラスターに切り替えることができます。 ただし、コンテキストは、サーバー インスタンスが可用性レプリカをホストしている限り、再度切り替えることはできません。

    切り替え先のクラスターを識別するには、次のいずれかの値を指定します。

    • windows_cluster
      WSFC クラスターのクラスター オブジェクト名 (CON)。 短い名前または完全なドメイン名を指定できます。 短い名前のターゲット IP アドレスを検出するために、ALTER SERVER CONFIGURATION は DNS 解決を使用します。 ある種の状況では、短い名前を使用すると混乱が生じ、DNS から誤った IP アドレスが返されることがあります。 そのため、完全なドメイン名を指定することをお勧めします。

    • LOCAL
      ローカル WSFC クラスター。

    詳細については、「サーバー インスタンスの HADR クラスター コンテキストの変更 (SQL Server)」を参照してください。

<buffer_pool_extension>::=

適用対象: SQL Server 2014 から SQL Server 2014

  • ON
    バッファー プール拡張オプションを有効にします。 このオプションは、ソリッドステート ドライブ (SSD) などの不揮発性ストレージを使用してクリーン データ ページをプールに保持することで、バッファー プールのサイズを拡張します。 この機能の詳細については、「バッファー プール拡張」を参照してください。バッファー プール拡張機能は、すべての SQL Server エディションで使用できるとは限りません。 詳細については、「SQL Server 2014 の各エディションがサポートする機能」を参照してください。

  • FILENAME = 'os_file_path_and_name'
    バッファー プール拡張キャッシュ ファイルのディレクトリ パスと名前を定義します。 ファイル拡張子は .BPE と指定する必要があります。 FILENAME を変更する前に BUFFER POOL EXTENSION を無効にする必要があります。

  • SIZE = size [ KB | MB | GB ]
    キャッシュのサイズを定義します。 既定のサイズの指定は KB です。 最小サイズは最大サーバー メモリのサイズです。 最大値は最大サーバー メモリのサイズの 32 倍です。 最大サーバー メモリの詳細については、「sp_configure (Transact-SQL)」を参照してください。

    ファイルのサイズを変更する前に BUFFER POOL EXTENSION を無効にする必要があります。 現在のサイズより小さいサイズを指定するには、SQL Server のインスタンスを再起動してメモリを再利用する必要があります。 これを行わない場合は、現在のサイズのままにしておくか、現在のサイズより大きいサイズを指定する必要があります。

  • OFF
    バッファー プール拡張オプションを無効にします。 ファイルのサイズや名前など、関連するパラメーターを変更する場合は、事前にバッファー プール拡張オプションを無効にする必要があります。 このオプションを無効にすると、関連するすべての構成情報がレジストリから削除されます。

    注意

    バッファー プール拡張を無効にすると、バッファー プールのサイズが大幅に縮小されるため、サーバー パフォーマンスにマイナスの影響がある場合があります。

全般的な解説

このステートメントは、SQL Server の再起動を必要としません。 SQL Server フェールオーバー クラスター インスタンスの場合、SQL Server クラスター リソースを再起動する必要はありません。

制限事項と制約事項

このステートメントは、DDL トリガーをサポートしません。

権限

プロセス関係オプションに対する ALTER SETTINGS 権限が必要です。 診断ログとフェールオーバー クラスター プロパティ オプションに対する ALTER SETTINGS 権限と VIEW SERVER STATE 権限、および HADR クラスター コンテキスト オプションに対する CONTROL SERVER 権限。

バッファー プール拡張オプションに対する ALTER SERVER STATE 権限が必要です。

SQL Server データベース エンジンのリソース DLL は、ローカル システム アカウントで実行されます。 そのため、ローカル システム アカウントには、診断ログ オプションで指定されたパスに対する読み取りアクセス権および書き込みアクセス権が必要です。

使用例

カテゴリ

主な構文要素

プロセス関係を設定する

CPU、NUMANODE、AUTO

診断ログ オプションを設定する

ON、OFF、PATH、MAX_SIZE

フェールオーバー クラスター プロパティを設定する

HealthCheckTimeout

可用性レプリカのクラスター コンテキストを変更する

'windows_cluster'

バッファー プール拡張を設定する

BUFFER POOL EXTENSION

プロセス関係を設定する

このセクションの例では、CPU および NUMA ノードにプロセス関係を設定する方法を示します。 この例では、256 個の CPU が、4 つのグループから成る NUMA ノード構成 (4 グループ合計 16 ノード) でサーバーに搭載されていることを想定しています。 NUMA ノードにも CPU にもスレッドは割り当てられていません。

  • グループ 0: NUMA ノード 0 ~ 3、CPU 0 ~ 63

  • グループ 1: NUMA ノード 4 ~ 7、CPU 64 ~ 127

  • グループ 2: NUMA ノード 8 ~ 12、CPU 128 ~ 191

  • グループ 3: NUMA ノード 13 ~ 16、CPU 192 ~ 255

A. グループ 0 とグループ 2 のすべての CPU に関係を設定する

次の例では、グループ 0 とグループ 2 のすべての CPU に関係を設定します。

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=0 TO 63, 128 TO 191;

B. NUMA ノード 0 と NUMA ノード 7 のすべての CPU に関係を設定する

次の例では、ノード 0 とノード 7 にのみ CPU 関係を設定します。

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY NUMANODE=0, 7;

C. CPU 60 ~ 200 に関係を設定する

次の例では、CPU 60 ~ 200 に関係を設定します。

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=60 TO 200;

D. CPU が 2 個搭載されたシステムの CPU 0 に関係を設定する

次の例では、CPU を 2 個搭載しているコンピューターの CPU=0 に関係を設定します。 次のステートメントを実行する前の内部的な関係ビットマスク (affinity bitmask) は 00 です。

ALTER SERVER CONFIGURATION SET PROCESS AFFINITY CPU=0;

E. 関係を AUTO に設定する

次の例では、関係を AUTO に設定します。

ALTER SERVER CONFIGURATION
SET PROCESS AFFINITY CPU=AUTO;

診断ログ オプションを設定する

適用対象: SQL Server 2012 から SQL Server 2014

このセクションの例では、診断ログ オプションの値を設定する方法を示します。

A. 診断ログの記録を開始する

次の例では、診断データのログ記録を開始します。

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;

B. 診断ログの記録を停止する

次の例では、診断データのログ記録を停止します。

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;

C. 診断ログの場所を指定する

次の例では、診断ログの場所を、指定されたファイル パスに設定します。

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG PATH = 'C:\logs';

D. 各診断ログの最大サイズを指定する

次の例では、各診断ログの最大サイズを 10 MB に設定します。

ALTER SERVER CONFIGURATION 
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;

フェールオーバー クラスター プロパティを設定する

適用対象: SQL Server 2012 から SQL Server 2014

次の例では、SQL Server フェールオーバー クラスター リソースのプロパティの値を設定します。

A. HealthCheckTimeout プロパティの値を指定する

次の例では、HealthCheckTimeout オプションを 15,000 ミリ秒 (15 秒) に設定します。

ALTER SERVER CONFIGURATION 
SET FAILOVER CLUSTER PROPERTY HealthCheckTimeout = 15000;

B. 可用性レプリカのクラスター コンテキストを変更する

次の例では、SQL Server インスタンスの HADR クラスター コンテキストを変更します。 変更先の WSFC クラスターである clus01 を指定するため、この例では、完全なクラスター オブジェクト名である clus01.xyz.com を指定します。

ALTER SERVER CONFIGURATION SET HADR CLUSTER CONTEXT = 'clus01.xyz.com';

バッファー プール拡張オプションを設定する

A. バッファー プール拡張オプションを設定する

適用対象: SQL Server 2014 から SQL Server 2014

次の例では、バッファー プール拡張オプションを有効にし、ファイル名とサイズを指定します。

ALTER SERVER CONFIGURATION 
SET BUFFER POOL EXTENSION ON
    (FILENAME = 'F:\SSDCACHE\Example.BPE', SIZE = 50 GB);

B. バッファー プール拡張パラメーターを変更する

次の例は、バッファー プール拡張ファイルのサイズを変更します。 いずれかのパラメーターを変更する場合は、バッファー プール拡張オプションを事前に無効にする必要があります。

ALTER SERVER CONFIGURATION 
SET BUFFER POOL EXTENSION OFF;
GO
EXEC sp_configure 'max server memory (MB)', 12000;
GO
RECONFIGURE;
GO
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION ON
    (FILENAME = 'F:\SSDCACHE\Example.BPE', SIZE = 60 GB);
GO

関連項目

タスク

ソフト NUMA を使用するように SQL Server を構成する方法 (SQL Server)

参照

sys.dm_os_schedulers (Transact-SQL)

sys.dm_os_memory_nodes (Transact-SQL)

sys.dm_os_buffer_pool_extension_configuration (Transact-SQL)

概念

サーバー インスタンスの HADR クラスター コンテキストの変更 (SQL Server)

バッファー プール拡張