ALTER SERVER CONFIGURATION (Transact-SQL)

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

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

構文

ALTER SERVER CONFIGURATION
SET <optionspec> 

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

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

引数

<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> ::=

  • 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> ::=

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

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

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

    • 1: エラーのみ。

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

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

  • 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> ::=

  • 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)」を参照してください。

全般的な解説

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

制限事項と制約事項

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

権限

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

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

使用例

カテゴリ

主な構文要素

プロセス関係を設定する

CPU、NUMANODE、AUTO

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

ON、OFF、PATH、MAX_SIZE

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

HealthCheckTimeout

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

'windows_cluster'

プロセス関係を設定する

このセクションの例では、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;

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

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

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 フェールオーバー クラスター リソースのプロパティの値を設定します。

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

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

ALTER SERVER CONFIGURATION 
SET FAILOVER CLUSTER PROPERTY HealthCheckTimeout = 15000;

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

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

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

関連項目

タスク

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

参照

sys.dm_os_schedulers (Transact-SQL)

sys.dm_os_memory_nodes (Transact-SQL)

概念

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