ALTER SERVER CONFIGURATION (Transact-SQL)

Ändert globale Konfigurationseinstellungen für den aktuellen Server in SQL Server 2012.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

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 }

Argumente

<process_affinity> ::=

  • PROCESS AFFINITY
    Ermöglicht das Zuordnen von Hardwarethreads zu CPUs.

  • CPU = { AUTO | <CPU_range_spec> }
    Verteilt SQL Server-Arbeitsthreads auf alle im angegebenen Bereich enthaltenen CPUs. CPUs außerhalb des angegebenen Bereichs werden keine Threads zugewiesen.

    • AUTO
      Gibt an, dass einer CPU kein Thread zugewiesen ist. Das Betriebssystem kann Threads auf der Grundlage der Serverarbeitsauslastung beliebig zwischen CPUs verschieben. Dies ist die Standardeinstellung und die empfohlene Einstellung.

    • <CPU_range_spec> ::=
      Gibt die CPU oder den Bereich von CPUs an, der bzw. denen Threads zugewiesen werden sollen.

    • { CPU_ID | CPU_ID TO CPU_ID } [ ,...n ]
      Ist die Liste mit mindestens einer CPU. CPU-IDs beginnen bei 0 und sind integer-Werte.
  • NUMANODE = <NUMA_node_range_spec>
    Weist allen zum angegebenen NUMA-Knoten oder Bereich von Knoten gehörigen CPUs Threads zu.

    • <NUMA_node_range_spec> ::=
      Gibt den NUMA-Knoten oder den Bereich von NUMA-Knoten an.

    • { NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID } [ ,...n ]
      Ist die Liste mit mindestens einem NUMA-Knoten. NUMA-Knoten-IDs beginnen bei 0 und sind integer-Werte.

<diagnostic_log> ::=

  • DIAGNOSTICS LOG
    Startet oder beendet die Protokollierung von Diagnosedaten, die von der sp_server_diagnostics-Prozedur erfasst wurden, und legt SQLDIAG-Protokollkonfigurationsparameter, wie z. B. die Protokolldatei-Rollover-Anzahl, Protokolldateigröße und den Dateispeicherort, fest. Weitere Informationen finden Sie unter Anzeigen und Lesen des Failoverclusterinstanz-Diagnoseprotokolls.

  • ON
    Startet die SQL Server-Protokollierung von Diagnosedaten am in der PATH-Dateioption angegebenen Speicherort. Dies ist die Standardeinstellung.

  • OFF
    Beendet die Protokollierung von Diagnosedaten.

  • PATH = { 'os_file_path' | DEFAULT }
    Pfad, der den Speicherort für die Diagnoseprotokolle angibt. Der Standardspeicherort ist <\MSSQL\Log> im Installationsordner der SQL Server-Failoverclusterinstanz.

  • MAX_SIZE = { 'log_max_size' MB | DEFAULT }
    Maximale Größe in Megabyte für jedes Diagnoseprotokoll. Die Standardeinstellung ist 100 MB.

  • MAX_FILES = { 'max_file_count' | DEFAULT }
    Maximale Anzahl von Diagnoseprotokolldateien, die auf dem Computer gespeichert werden können, bevor sie für neue Diagnoseprotokolle wiederverwendet werden.

<failover_cluster_property> ::=

  • FAILOVER CLUSTER PROPERTY
    Ändert die privaten Failoverclustereigenschaften der SQL Server-Ressource.

  • VERBOSE LOGGING = { 'logging_detail' | DEFAULT }
    Legt den Protokolliergrad für SQL Server-Failoverclustering fest. Diese Option kann aktiviert werden, um in den Fehlerprotokollen für die Problembehandlung weitere Details bereitzustellen.

    • 0 – Die Protokollierung ist deaktiviert (Standard)

    • 1 – Nur Fehler

    • 2 – Fehler und Warnungen

  • SQLDUMPEREDUMPFLAGS
    Bestimmt den Typ der Dumpdateien, die vom SQL Server-Hilfsprogramm SQLDumper generiert werden. Die Standardeinstellung ist 0. Weitere Informationen finden Sie im Knowledge Base-Artikel zum SQL Server Dumper-Hilfsprogramm.

  • SQLDUMPERDUMPPATH = { 'os_file_path' | DEFAULT }
    Der Speicherort, an dem das Hilfsprogramm SQLDumper die Dumpdateien speichert. Weitere Informationen finden Sie im Knowledge Base-Artikel zum SQL Server Dumper-Hilfsprogramm.

  • SQLDUMPERDUMPTIMEOUT = { 'dump_time-out' | DEFAULT }
    Der Timeoutwert in Millisekunden für die Generierung eines Dumps durch das Hilfsprogramm SQLDumper bei einem SQL Server-Fehler. Der Standardwert ist 0; das bedeutet, dass das Fertigstellen des Dumps nicht zeitlich begrenzt ist. Weitere Informationen finden Sie im Knowledge Base-Artikel zum SQL Server Dumper-Hilfsprogramm.

  • FAILURECONDITIONLEVEL = { 'failure_condition_level' | DEFAULT }
    Die Bedingungen, unter denen für die SQL Server-Failoverclusterinstanz ein Failover oder Neustart durchgeführt werden soll. Der Standardwert ist 3; das bedeutet, dass für die SQL Server-Ressource bei wichtigen Serverfehlern ein Failover oder Neustart durchgeführt wird. Weitere Informationen zu dieser und anderen Fehlerbedingungsebenen finden Sie unter Konfigurieren von FailureConditionLevel-Eigenschafteneinstellungen.

  • HEALTHCHECKTIMEOUT = { 'health_check_time-out' | DEFAULT }
    Der Timeoutwert, der festlegt, wie lange die Ressourcen-DLL des SQL Server-Datenbankmoduls auf Informationen über den Serverzustand warten soll, bevor eine Instanz von SQL Server als nicht reagierend eingestuft wird. Der Timeoutwert wird in Millisekunden angegeben. Der Standardwert beträgt 60000 Millisekunden (60 Sekunden).

<hadr_cluster_context> ::=

  • HADR CLUSTER CONTEXT = { 'remote_windows_cluster' | LOCAL }
    Schaltet den HADR-Clusterkontext der Serverinstanz in den angegebenen Windows Server Failover Clustering-Cluster (WSFC) um. Der HADR-Clusterkontext bestimmt, welcher Windows Server Failover Clustering-Cluster (WSFC) die Metadaten für von der Serverinstanz gehostete Verfügbarkeitsreplikate verwaltet. Verwenden Sie die SET HADR CLUSTER CONTEXT-Option nur während einer Kreuzclustermigration von AlwaysOn-Verfügbarkeitsgruppen zu einer Instanz von SQL Server 2012 SP1 auf einem neuen WSFC-Cluster.

    Sie können den HADR-Clusterkontext nur vom lokalen WSFC-Cluster auf einen Remotecluster und dann zurück vom Remotecluster zu dem lokalen Cluster umschalten. Der HADR-Clusterkontext kann nur in einen Remotecluster umgeschaltet werden, wenn die Instanz von SQL Server keine Verfügbarkeitsreplikate hostet.

    Ein Remote-HADR-Clusterkontext kann jederzeit zurück zum lokalen Cluster umgeschaltet werden. Der Kontext kann jedoch nicht erneut umgeschaltet werden, solange die Serverinstanz Verfügbarkeitsreplikate hostet.

    Um den Zielcluster zu identifizieren, geben Sie einen der folgenden Werte an:

    • windows_cluster
      Der Clusterobjektname (CON) eines WSFC-Clusters. Sie können entweder den Kurznamen oder den vollständigen Domänennamen angeben. ALTER SERVER CONFIGURATION sucht die Ziel-IP-Adresse eines Kurznamens mithilfe einer DNS-Auflösung. In einigen Situationen konnte ein Kurzname für Verwirrung sorgen, und DNS gibt möglicherweise die falsche IP-Adresse zurück. Daher empfiehlt es sich, dass Sie den vollständigen Domänennamen angeben.

    • LOCAL
      Der lokale WSFC-Cluster.

    Weitere Informationen finden Sie unter Ändern des HADR-Clusterkontexts der Serverinstanz (SQL Server).

Allgemeine Hinweise

Diese Anweisung erfordert keinen Neustart von SQL Server. Im Fall einer SQL Server-Failoverclusterinstanz ist kein Neustart der SQL Server-Clusterressource erforderlich.

Begrenzungen und Einschränkungen

Diese Anweisung unterstützt keine DDL-Trigger.

Berechtigungen

Erfordert ALTER SETTINGS-Berechtigungen für die Prozessaffinitätsoption. ALTER SETTINGS- und VIEW SERVER STATE-Berechtigungen für Diagnoseprotokoll- und Failoverclustereigenschaften-Optionen, und CONTROL SERVER-Berechtigung für die HADR-Clusterkontext-Option.

Die SQL Server Datenbankmodul-Ressourcen-DLL wird unter dem lokalen Systemkonto ausgeführt. Aus diesem Grund muss das lokale Systemkonto über Lese- und Schreibzugriff auf den angegebenen Pfad in der Diagnoseprotokolloption verfügen.

Beispiele

Kategorie

Funktionssyntaxelemente

Festlegen der Prozessaffinität

CPU • NUMANODE • AUTO

Festlegen von Diagnoseprotokolloptionen

ON • OFF • PATH • MAX_SIZE

Festlegen der Failoverclustereigenschaften

HealthCheckTimeout

Ändern des Clusterkontexts eines Verfügbarkeitsreplikats

'windows_cluster'

Festlegen der Prozessaffinität

Die Beispiele in diesem Abschnitt veranschaulichen, wie die Prozessaffinität für CPUs und NUMA-Knoten festgelegt wird. In den Beispielen wird davon ausgegangen, dass der Server 256 CPUs umfasst, die in vier Gruppen von jeweils 16 NUMA-Knoten unterteilt sind. Den NUMA-Knoten oder CPUs sind keine Threads zugewiesen.

  • Gruppe 0: NUMA-Knoten 0 bis 3, CPUs 0 bis 63

  • Gruppe 1: NUMA-Knoten 4 bis 7, CPUs 64 bis 127

  • Gruppe 2: NUMA-Knoten 8 bis 12, CPUs 128 bis 191

  • Gruppe 3: NUMA-Knoten 13 bis 16, CPUs 192 bis 255

A.Festlegen der Affinität für alle CPUs in den Gruppen 0 und 2

Im folgenden Beispiel wird für alle CPUs in den Gruppen 0 und 2 Affinität festgelegt.

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

B.Festlegen der Affinität für alle CPUs in den NUMA-Knoten 0 und 7

Im folgenden Beispiel wird veranschaulicht, wie die CPU-Affinität ausschließlich für die Knoten 0 und 7 festgelegt wird.

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

C.Festlegen der Affinität für die CPUs 60 bis 200

Im folgenden Beispiel wird die Affinität für CPUs 60 bis 200 festgelegt.

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

D.Festlegen der Affinität auf einem System, das über zwei CPUs verfügt, für CPU 0

Im folgenden Beispiel wird die Affinität auf einem Computer, der über zwei CPUs verfügt, auf CPU=0 festgelegt. Vor Ausführung der folgenden Anweisung ist die interne Affinitätsbitmaske 00.

ALTER SERVER CONFIGURATION SET PROCESS AFFINITY CPU=0;

E.Festlegen der Affinität auf AUTO

Im folgenden Beispiel wird die Affinität auf AUTO festgelegt.

ALTER SERVER CONFIGURATION
SET PROCESS AFFINITY CPU=AUTO;

Festlegen von Diagnoseprotokolloptionen

Die Beispiele in diesem Abschnitt veranschaulichen, wie die Werte für die Diagnoseprotokolloption festgelegt werden.

A.Starten der Diagnoseprotokollierung

Im folgenden Beispiel wird die Protokollierung von Diagnosedaten gestartet.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;

B.Beenden der Diagnoseprotokollierung

Im folgenden Beispiel wird die Protokollierung von Diagnosedaten beendet.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;

C.Angeben des Speicherorts für die Diagnoseprotokolle

Im folgenden Beispiel wird der Speicherort für die Diagnoseprotokolle auf den angegebenen Dateipfad festgelegt.

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

D.Angeben der maximalen Größe jedes Diagnoseprotokolls

Im folgenden Beispiel wird die maximale Größe jedes Diagnoseprotokolls auf 10 Megabyte festgelegt.

ALTER SERVER CONFIGURATION 
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;

Festlegen der Failoverclustereigenschaften

Im folgenden Beispiel wird veranschaulicht, wie die Werte für die Ressourceneigenschaften des SQL Server-Failoverclusters festgelegt werden.

A.Angeben des Werts für die HealthCheckTimeout-Eigenschaft

Im folgenden Beispiel wird die Option HealthCheckTimeout auf 15.000 Millisekunden (15 Sekunden) festgelegt.

ALTER SERVER CONFIGURATION 
SET FAILOVER CLUSTER PROPERTY HealthCheckTimeout = 15000;

Ändern des Clusterkontexts eines Verfügbarkeitsreplikats

Im folgenden Beispiel wird der HADR-Clusterkontext der Instanz von SQL Server geändert. Im Beispiel wird der vollständige Clusterobjektname, clus01.xyz.com, angegeben, um den Ziel-WSFC-Cluster clus01 anzugeben.

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

Siehe auch

Aufgaben

Konfigurieren von SQL Server zur Verwendung von Soft-NUMA (SQL Server)

Verweis

sys.dm_os_schedulers (Transact-SQL)

sys.dm_os_memory_nodes (Transact-SQL)

Konzepte

Ändern des HADR-Clusterkontexts der Serverinstanz (SQL Server)