ALTER DATABASE SET-Optionen (Transact-SQL)ALTER DATABASE SET options (Transact-SQL)

Legt Datenbankoptionen in Microsoft SQL ServerSQL Server, Azure SQL-DatenbankAzure SQL Database und Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) fest.Sets database options in Microsoft SQL ServerSQL Server, Azure SQL-DatenbankAzure SQL Database, and Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse). Informationen zu anderen ALTER DATABASE-Optionen finden Sie unter ALTER DATABASE.For other ALTER DATABASE options, see ALTER DATABASE.

Klicken Sie auf eine der folgenden Registerkarten, um Syntax, Argumente, Hinweise, Berechtigungen und Beispiele für eine bestimmte SQL-Version anzuzeigen, mit der Sie arbeiten.Select one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version that you're working with.

Weitere Informationen zu Syntaxkonventionen finden Sie unter Transact-SQL-Syntaxkonventionen.For more information about the syntax conventions, see Transact-SQL syntax conventions.

Auswählen eines ProduktsSelect a product

Klicken Sie in der folgenden Zeile auf den Namen des Produkts, das Sie am meisten interessiert.In the following row, select whichever product name you're interested in. Dadurch werden Ihnen auf dieser Webseite unterschiedliche Inhalte angezeigt, die zu dem von Ihnen ausgewählten Produkt passen.Doing that displays different content here on this webpage, appropriate for whichever product you select.

* SQL Server *  * SQL Server *  

 

SQL ServerSQL Server

Datenbankspiegelung, Always On-VerfügbarkeitsgruppenAlways On availability groups und Kompatibilitätsgrade sind zwar SET-Optionen, werden aufgrund ihres Umfangs jedoch in separaten Artikeln beschrieben.Database mirroring, Always On-VerfügbarkeitsgruppenAlways On availability groups, and compatibility levels are SET options but are described in separate articles because of their length. Weitere Informationen finden Sie unter ALTER DATABASE-Datenbankspiegelung, ALTER DATABASE SET HADR und ALTER DATABASE-Kompatibilitätsgrad.For more information, see ALTER DATABASE Database Mirroring, ALTER DATABASE SET HADR, and ALTER DATABASE compatibility level.

Datenbankweit gültige Konfigurationen werden zum Festlegen mehrerer Datenbankkonfigurationen auf der Ebene einzelner Datenbanken verwendet.Database scoped configurations are used to set several database configurations at the individual database level. Weitere Informationen finden Sie unter ALTER DATABASE SCOPED CONFIGURATION.For more information, see ALTER DATABASE SCOPED CONFIGURATION.

Hinweis

Viele DATABASE SET-Optionen können mithilfe von SET-Anweisungen für die aktuelle Sitzung konfiguriert werden; häufig werden sie bei der Verbindung von Anwendungen konfiguriert.Many database set options can be configured for the current session by using SET statements and are often configured by applications when they connect. Die ALTER DATABASE SET-Werte werden durch SET-Optionen auf Sitzungsebene überschrieben.Session-level set options override the ALTER DATABASE SET values. Die in den folgenden Abschnitten beschriebenen Datenbankoptionen entsprechen Werten, die Sie für Sitzungen festlegen können, von denen explizit keine weiteren Werte für SET-Optionen bereitgestellt werden.The database options described in the following sections are values that you can set for sessions that don't explicitly provide other set option values.

SyntaxSyntax

ALTER DATABASE { database_name | CURRENT }
SET
{
    <option_spec> [ ,...n ] [ WITH <termination> ]
}

<option_spec> ::=
{
    <accelerated_database_recovery>
  | <auto_option>
  | <automatic_tuning_option>
  | <change_tracking_option>
  | <containment_option>
  | <cursor_option>
  | <database_mirroring_option>
  | <date_correlation_optimization_option>
  | <db_encryption_option>
  | <db_state_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <external_access_option>
  | FILESTREAM ( <FILESTREAM_option> )
  | <HADR_options>
  | <mixed_page_allocation_option>
  | <parameterization_option>
  | <query_store_options>
  | <recovery_option>
  | <remote_data_archive_option>
  | <service_broker_option>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
  | <data_retention_policy>
}
;

<accelerated_database_recovery> ::=
{
    ACCELERATED_DATABASE_RECOVERY = { ON | OFF }
     [ ( PERSISTENT_VERSION_STORE_FILEGROUP = { filegroup name } ) ];
}

<auto_option> ::=
{
    AUTO_CLOSE { ON | OFF }
  | AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
    AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { ON | OFF } )
}

<change_tracking_option> ::=
{
    CHANGE_TRACKING
   {
       = OFF
     | = ON [ ( <change_tracking_option_list > [,...n] ) ]
     | ( <change_tracking_option_list> [,...n] )
   }
}

<change_tracking_option_list> ::=
{
   AUTO_CLEANUP = { ON | OFF }
 | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
}

<containment_option> ::=
   CONTAINMENT = { NONE | PARTIAL }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
  | CURSOR_DEFAULT { LOCAL | GLOBAL }
}

<database_mirroring_option>
  ALTER DATABASE Database Mirroring

<date_correlation_optimization_option> ::=
    DATE_CORRELATION_OPTIMIZATION { ON | OFF }

<db_encryption_option> ::=
    ENCRYPTION { ON | OFF | SUSPEND | RESUME }

<db_state_option> ::=
    { ONLINE | OFFLINE | EMERGENCY }

<db_update_option> ::=
    { READ_ONLY | READ_WRITE }

<db_user_access_option> ::=
    { SINGLE_USER | RESTRICTED_USER | MULTI_USER }

<delayed_durability_option> ::=
    DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<external_access_option> ::=
{
    DB_CHAINING { ON | OFF }
  | TRUSTWORTHY { ON | OFF }
  | DEFAULT_FULLTEXT_LANGUAGE = { <lcid> | <language name> | <language alias> }
  | DEFAULT_LANGUAGE = { <lcid> | <language name> | <language alias> }
  | NESTED_TRIGGERS = { OFF | ON }
  | TRANSFORM_NOISE_WORDS = { OFF | ON }
  | TWO_DIGIT_YEAR_CUTOFF = { 1753, ..., 2049, ..., 9999 }
}

<FILESTREAM_option> ::=
{
    NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL
  | DIRECTORY_NAME = <directory_name>
}

<HADR_options> ::=
    ALTER DATABASE SET HADR

<mixed_page_allocation_option> ::=
    MIXED_PAGE_ALLOCATION { OFF | ON }

<parameterization_option> ::=
    PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
    QUERY_STORE
    {
          = OFF [ ( FORCED ) ] 
        | = ON [ ( <query_store_option_list> [,...n] ) ]
        | ( < query_store_option_list> [,...n] )
        | CLEAR [ ALL ]
    }
}

<query_store_option_list> ::=
{
      OPERATION_MODE = { READ_WRITE | READ_ONLY }
    | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
    | DATA_FLUSH_INTERVAL_SECONDS = number
    | MAX_STORAGE_SIZE_MB = number
    | INTERVAL_LENGTH_MINUTES = number
    | SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
    | QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
    | MAX_PLANS_PER_QUERY = number
    | WAIT_STATS_CAPTURE_MODE = { ON | OFF }
    | QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}

<query_capture_policy_option_list> :: =
{
      STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
    | EXECUTION_COUNT = number
    | TOTAL_COMPILE_CPU_TIME_MS = number
    | TOTAL_EXECUTION_CPU_TIME_MS = number
}

<recovery_option> ::=
{
    RECOVERY { FULL | BULK_LOGGED | SIMPLE }
  | TORN_PAGE_DETECTION { ON | OFF }
  | PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
}

<remote_data_archive_option> ::=
{
    REMOTE_DATA_ARCHIVE =
    {
        ON ( SERVER = <server_name> ,
             { 
                  CREDENTIAL = <db_scoped_credential_name>
                  | FEDERATED_SERVICE_ACCOUNT = ON | OFF
             }
        )
        | OFF
    }
}

<service_broker_option> ::=
{
    ENABLE_BROKER
  | DISABLE_BROKER
  | NEW_BROKER
  | ERROR_BROKER_CONVERSATIONS
  | HONOR_BROKER_PRIORITY { ON | OFF}
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT { ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = { ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<target_recovery_time_option> ::=
    TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

<termination>::=
{
    ROLLBACK AFTER number [ SECONDS ]
  | ROLLBACK IMMEDIATE
  | NO_WAIT
}

<temporal_history_retention> ::=
    TEMPORAL_HISTORY_RETENTION { ON | OFF }

<data_retention_policy> ::=
    DATA_RETENTION { ON | OFF }

ArgumenteArguments

database_name database_name
Der Name der Datenbank, die geändert werden soll.The name of the database to be modified.

CURRENTCURRENT
Gilt für: SQL ServerSQL Server (ab SQL Server 2012 (11.x)SQL Server 2012 (11.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2012 (11.x)SQL Server 2012 (11.x))

Führt die Aktion in der aktuellen Datenbank aus.Runs the action in the current database. CURRENT wird nicht in allen Kontexten für alle Optionen unterstützt.CURRENT isn't supported for all options in all contexts. Wenn CURRENT einen Fehler verursacht, geben Sie den Datenbanknamen an.If CURRENT fails, provide the database name.

<accelerated_database_recovery> ::= <accelerated_database_recovery> ::=
Gilt für: SQL ServerSQL Server (ab SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))

Aktiviert die schnellere Datenbankwiederherstellung (Accelerated Database Recovery, ADR) für jede Datenbank.Enables accelerated database recovery (ADR) per-database. Die Standardeinstellung für ADR in SQL Server 2019 (15.x)SQL Server 2019 (15.x) ist „OFF“.ADR is set to OFF by default in SQL Server 2019 (15.x)SQL Server 2019 (15.x). Mit dieser Syntax verfügen Sie über die Option, eine bestimmte Dateigruppe für die Daten des persistenten Versionsspeichers (PVS) festzulegen.By using this syntax, you have the option to designate a specific file group for the Persistent Version Store (PVS) data. Wenn keine Dateigruppe angegeben wird, wird der PVS in der PRIMARY-Dateigruppe gespeichert.If no file group is specified, the PVS will be stored in the PRIMARY file group. Beispiele und weitere Informationen finden Sie unter Schnellere Datenbankwiederherstellung.For examples and more information, see Accelerated database recovery.

<auto_option> ::= <auto_option> ::=
Steuert automatische Optionen.Controls automatic options.

AUTO_CLOSE { ON | OFF }AUTO_CLOSE { ON | OFF }
EINON
Die Datenbank wird ordnungsgemäß heruntergefahren, und ihre Ressourcen werden freigegeben, nachdem der letzte Benutzer die Anwendung beendet hat.The database is shut down cleanly and its resources are freed after the last user exits.

Die Datenbank wird automatisch wieder geöffnet, wenn ein Benutzer versucht, die Datenbank erneut zu verwenden.The database automatically reopens when a user tries to use the database again. Dieses Verhalten (erneutes Öffnen) tritt auf, wenn ein Benutzer eine USE database_name-Anweisung ausgibt.For example, this reopen behavior occurs when a user issues a USE database_name statement. Die Datenbank kann mit auf ON festgelegtem AUTO_CLOSE ordnungsgemäß heruntergefahren werden.The database may shut down cleanly with AUTO_CLOSE set to ON. Ist dies der Fall, wird die Datenbank erst dann wieder geöffnet, wenn ein Benutzer versucht, die Datenbank beim nächsten Neustart von Datenbank-EngineDatabase Engine zu verwenden.If so, the database doesn't reopen until a user tries to use the database the next time the Datenbank-EngineDatabase Engine restarts.

OFFOFF
Die Datenbank bleibt nach dem Beenden der Verwendung durch den letzten Benutzer geöffnet.The database remains open after the last user exits.

Die Option AUTO_CLOSE ist sehr nützlich für Desktopdatenbanken, da mit ihrer Hilfe Datenbankdateien wie reguläre Dateien verwaltet werden können.The AUTO_CLOSE option is useful for desktop databases because it allows for database files to be managed as regular files. Sie können verschoben, zur Sicherung kopiert oder sogar per E-Mail an andere Benutzer gesendet werden.They can be moved, copied to make backups, or even emailed to other users. AUTO_CLOSE ist ein asynchroner Prozess. Das wiederholte Öffnen und Schließen der Datenbank beeinträchtigt nicht die Leistung.The AUTO_CLOSE process is asynchronous; repeatedly opening and closing the database doesn't reduce performance.

Hinweis

Die AUTO_CLOSE-Option ist nicht in einer eigenständigen Datenbank oder SQL-DatenbankSQL Database verfügbar.The AUTO_CLOSE option isn't available in a contained database or on SQL-DatenbankSQL Database. Sie können den Status dieser Option mithilfe der Spalte is_auto_close_on in der Katalogsicht sys.databases oder der IsAutoClose-Eigenschaft der DATABASEPROPERTYEX-Funktion ermitteln.You can determine this option's status by examining the is_auto_close_on column in the sys.databases catalog view or the IsAutoClose property of the DATABASEPROPERTYEX function.

Ist AUTO_CLOSE auf ON festgelegt, geben einige Spalten in der sys.databases-Katalogsicht sowie die DATABASEPROPERTYEX-Funktion den Wert NULL zurück, da die Datenbank nicht für den Abruf der Daten verfügbar ist.When AUTO_CLOSE is set to ON, some columns in the sys.databases catalog view and the DATABASEPROPERTYEX function will return NULL because the database is unavailable to retrieve the data. Führen Sie eine USE-Anweisung zum Öffnen der Datenbank aus, um dieses Problem zu beheben.To resolve this issue, run a USE statement to open the database.

Für die Datenbankspiegelung muss AUTO_CLOSE auf OFF festgelegt sein.Database mirroring requires AUTO_CLOSE set to OFF.

Wenn die Datenbank auf AUTOCLOSE = ON festgelegt ist, wird mit einem Vorgang, mit dem das automatische Beenden der Datenbank initiiert wird, der Plancache für die Instanz von SQL ServerSQL Server gelöscht.When the database is set to AUTOCLOSE = ON, an operation that initiates an automatic database shutdown clears the plan cache for the instance of SQL ServerSQL Server. Durch das Löschen des Plancaches wird eine Neukompilierung aller nachfolgenden Ausführungspläne verursacht, und möglicherweise entsteht plötzlich eine temporäre Verringerung der Abfrageleistung.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Ab SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 2 enthält das SQL ServerSQL Server-Fehlerprotokoll für jeden geleerten Cachespeicher im Plancache die folgende Meldung: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.Starting with SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 2, for each cleared cache store in the plan cache, the SQL ServerSQL Server error log contains the following informational message: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. Diese Meldung wird alle fünf Minuten protokolliert, solange der Cache innerhalb dieses Zeitintervalls geleert wird.This message is logged every five minutes as long as the cache is flushed within that time interval.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
EINON
Der Abfrageoptimierer erstellt nach Bedarf Statistiken für einzelne Spalten in Abfrageprädikaten, um Abfragepläne und die Abfrageleistung zu verbessern.The Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Diese Statistiken für einzelne Spalten werden erstellt, wenn der Abfrageoptimierer Abfragen kompiliert.These single-column statistics are created when Query Optimizer compiles queries. Die Statistiken für einzelne Spalten werden nur für Spalten erstellt, die noch nicht der ersten Spalte eines vorhandenen Statistikobjekts entsprechen.The single-column statistics are created only on columns that aren't already the first column of an existing statistics object.

Die Standardeinstellung ist ON.The default setting is ON. Für die meisten Datenbanken empfiehlt sich die Verwendung der Standardeinstellung.We recommend that you use the default setting for most databases.

OFFOFF
Der Abfrageoptimierer erstellt beim Kompilieren von Abfragen keine Statistiken für einzelne Spalten in Abfrageprädikaten.The Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Das Festlegen dieser Option auf OFF kann zu suboptimalen Abfrageplänen und einer beeinträchtigten Abfrageleistung führen.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_auto_create_stats_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAutoCreateStatistics-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Weitere Informationen finden Sie im Abschnitt „Verwenden der datenbankweiten Statistikoptionen“ unter Statistiken.For more information, see the section "Using the Database-wide statistics options" in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Gilt für: SQL ServerSQL Server (ab SQL Server 2014 (12.x)SQL Server 2014 (12.x)) und Azure SQL-DatenbankAzure SQL DatabaseApplies to: SQL ServerSQL Server (Starting with SQL Server 2014 (12.x)SQL Server 2014 (12.x)) and Azure SQL-DatenbankAzure SQL Database

Legen Sie AUTO_CREATE_STATISTICS auf ON und INCREMENTAL auf ON fest.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Dadurch werden automatisch erstellte Statistiken als inkrementell festgelegt, wenn inkrementelle Statistiken unterstützt werden.This sets automatically created stats as incremental whenever incremental stats are supported. Der Standardwert ist OFF.The default value is OFF. Weitere Informationen finden Sie unter CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
EINON
Die Datenbankdateien sind Kandidaten für das periodische Verkleinern.The database files are candidates for periodic shrinking.

Sowohl Daten- als auch Protokolldateien können automatisch verkleinert werden.Both data files and log files can be automatically shrunk. AUTO_SHRINK reduziert die Größe des Transaktionsprotokolls nur, wenn Sie die Datenbank auf das SIMPLE-Wiederherstellungsmodell festlegen oder das Protokoll sichern.AUTO_SHRINK reduces the size of the transaction log only if you set the database to SIMPLE recovery model or if you back up the log. Wenn Sie AUTO_SHRINK auf OFF festlegen, werden die Datenbankdateien während der periodisch ausgeführten Überprüfung auf nicht verwendeten Speicherplatz nicht automatisch verkleinert.When you set AUTO_SHRINK to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

Die Option AUTO_SHRINK verkleinert eine Datei, wenn mehr als 25 Prozent dieser aus nicht verwendetem Speicherplatz bestehen.The AUTO_SHRINK option shrinks files when more than 25 percent of the file contains unused space. Die Datei wird auf eine von zwei Größen verkleinert (je nachdem, welche größer ist):It shrinks the file to one of two sizes (whichever is larger):

  • die Größe, bei der 25 Prozent der Datei aus nicht verwendetem Speicherplatz bestehenThe size at which 25 percent of the file is unused space
  • die Größe der Datei, als sie erstellt wurdeThe size of the file when it was created

Eine schreibgeschützte Datenbank kann nicht verkleinert werden.You can't shrink a read-only database.

OFFOFF
Die Datenbankdateien werden bei periodischen Prüfungen auf nicht verwendeten Speicherplatz nicht automatisch verkleinert.The database files are not automatically shrunk during periodic checks for unused space.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_auto_shrink_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAutoShrink-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Hinweis

Die AUTO_SHRINK-Option ist in einer eigenständigen Datenbank nicht verfügbar.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
EINON
Gibt an, dass der Abfrageoptimierer Statistiken aktualisiert, wenn sie von einer Abfrage verwendet werden und veraltet sein könnten.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Statistiken sind veraltet, wenn die Datenverteilung in der Tabelle oder indizierten Sicht durch die Vorgänge INSERT, UPDATE, DELETE oder MERGE geändert wurde.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. Der Abfrageoptimierer stellt fest, wann Statistiken veraltet sein könnten, indem er die Anzahl von Datenänderungen seit der letzten Statistikaktualisierung ermittelt und sie mit einem Schwellenwert vergleicht.Query Optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. Der Schwellenwert basiert auf der Anzahl von Zeilen in der Tabelle oder indizierten Sicht.The threshold is based on the number of rows in the table or indexed view.

Bevor der Abfrageoptimierer eine Abfrage kompiliert und einen zwischengespeicherten Abfrageplan ausführt, sucht er nach veralteten Statistiken.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. Der Abfrageoptimierer ermittelt anhand der Spalten, Tabellen und indizierten Sichten im Abfrageprädikat, welche Statistiken veraltet sein könnten.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. Der Abfrageoptimierer ermittelt diese Informationen, bevor er eine Abfrage kompiliert.Query Optimizer determines this information before it compiles a query. Vor dem Ausführen eines zwischengespeicherten Abfrageplans stellt die Datenbank-EngineDatabase Engine sicher, dass der Abfrageplan auf aktuelle Statistiken verweist.Before running a cached query plan, the Datenbank-EngineDatabase Engine verifies that the query plan references up-to-date statistics.

Die AUTO_UPDATE_STATISTICS-Option gilt für Statistikobjekte, die für Indizes, einzelne Spalten in Abfrageprädikaten und mit der CREATE STATISTICS-Anweisung generierte Statistiken erstellt wurden.The AUTO_UPDATE_STATISTICS option applies to statistics created for indexes, single-columns in query predicates, and statistics that are created by using the CREATE STATISTICS statement. Diese Option gilt auch für gefilterte Statistiken.This option also applies to filtered statistics.

Der Standardwert ist ON.The default is ON. Für die meisten Datenbanken empfiehlt sich die Verwendung der Standardeinstellung.We recommend that you use the default setting for most databases.

Verwenden Sie die AUTO_UPDATE_STATISTICS_ASYNC-Option, um anzugeben, ob die Statistiken synchron oder asynchron aktualisiert werden.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Gibt an, dass der Abfrageoptimierer Statistiken nicht aktualisiert, wenn sie von einer Abfrage verwendet werden.Specifies that Query Optimizer doesn't update statistics when they're used by a query. Der Abfrageoptimierer aktualisiert Statistiken auch nicht, wenn sie veraltet sein könnten.Query Optimizer also doesn't update statistics when they might be out-of-date. Das Festlegen dieser Option auf OFF kann zu suboptimalen Abfrageplänen und einer beeinträchtigten Abfrageleistung führen.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_auto_update_stats_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAutoUpdateStatistics-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Weitere Informationen finden Sie im Abschnitt „Verwenden der datenbankweiten Statistikoptionen“ unter Statistiken.For more information, see the section "Using the Database-wide statistics options" in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
EINON
Gibt an, dass Statistikupdates für die AUTO_UPDATE_STATISTICS-Option asynchron sind.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. Der Abfrageoptimierer wartet nicht, bis Statistikaktualisierungen abgeschlossen sind, bevor Abfragen kompiliert werden.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

Das Festlegen dieser Option auf ON hat nur dann Auswirkungen, wenn AUTO_UPDATE_STATISTICS auf ON festgelegt ist.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Die Standardeinstellung der Option AUTO_UPDATE_STATISTICS_ASYNC ist „OFF“, und der Abfrageoptimierer aktualisiert Statistiken synchron.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Gibt an, dass Statistikupdates für die AUTO_UPDATE_STATISTICS-Option synchron sind.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. Der Abfrageoptimierer wartet, bis Statistikupdates abgeschlossen sind, bevor Abfragen kompiliert werden.Query Optimizer waits for statistics updates to complete before it compiles queries.

Hinweis

Das Festlegen dieser Option auf OFF hat nur dann Auswirkungen, wenn AUTO_UPDATE_STATISTICS auf ON festgelegt ist.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_auto_update_stats_async_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_update_stats_async_on column in the sys.databases catalog view.

Weitere Informationen dazu, wann synchrone bzw. asynchrone Statistikupdates verwendet werden sollten, finden Sie im Abschnitt „Statistikoptionen“ unter Statistiken.For more information that describes when to use synchronous or asynchronous statistics updates, see the "Statistics options" section in Statistics.

<automatic_tuning_option> ::= <automatic_tuning_option> ::=
Gilt für: SQL ServerSQL Server (ab SQL Server 2017 (14.x)SQL Server 2017 (14.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x))

Aktiviert bzw. deaktiviert die Option FORCE_LAST_GOOD_PLAN für die automatische Optimierung.Enables or disables FORCE_LAST_GOOD_PLAN Automatic tuning option.

FORCE_LAST_GOOD_PLAN = { ON | OFF }FORCE_LAST_GOOD_PLAN = { ON | OFF }
EINON
Die Datenbank-EngineDatabase Engine erzwingt automatisch den neusten bekannten, geeigneten Plan bei Transact-SQLTransact-SQL-Abfragen, bei denen neue Abfragepläne negative Auswirkungen auf die Leistung haben.The Datenbank-EngineDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. Die Datenbank-EngineDatabase Engine überwacht regelmäßig die Abfrageleistung der Transact-SQLTransact-SQL-Abfrage mit dem erzwungenen Plan.The Datenbank-EngineDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan.

Wenn die Leistung verbessert wurde, verwendet die Datenbank-EngineDatabase Engine weiterhin den neusten bekannten, geeigneten Plan.If there are performance gains, the Datenbank-EngineDatabase Engine will keep using last known good plan. Wenn die Leistung nicht verbessert wurde, erstellt die Datenbank-EngineDatabase Engine einen neuen Abfrageplan.If performance gains are not detected, the Datenbank-EngineDatabase Engine will produce a new query plan. Die Anweisung schlägt fehl, wenn der Abfragespeicher nicht aktiviert ist oder sich nicht im Lese-/Schreibmodus befindet.The statement will fail if the Query Store isn't enabled or if the Query Store isn't in Read-Write mode.

OFFOFF
Die Datenbank-EngineDatabase Engine meldet potentielle Einbußen im Hinblick auf die Abfrageleistung, die von Änderungen des Abfrageplans in der sys.dm_db_tuning_recommendations-Sicht hervorgerufen werden könnten.The Datenbank-EngineDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Diese Empfehlungen werden allerdings nicht automatisch angewendet.However, these recommendations are not automatically applied. Benutzer können aktive Empfehlungen überwachen und ermittelte Probleme beheben, indem sie die in der Sicht aufgeführten Transact-SQLTransact-SQL-Skripts anwenden.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Der Standardwert ist OFF.The default value is OFF.

<change_tracking_option> ::= <change_tracking_option> ::=
Gilt für : SQL ServerSQL Server und SQL-DatenbankSQL DatabaseApplies to: SQL ServerSQL Server and SQL-DatenbankSQL Database

Steuert Änderungsnachverfolgungsoptionen.Controls change tracking options. Sie können die Änderungsnachverfolgung aktivieren, Optionen festlegen, Optionen ändern und die Änderungsnachverfolgung deaktivieren.You can enable change tracking, set options, change options, and disable change tracking. Beispiele hierzu finden Sie im Abschnitt „Beispiele“ weiter unten in diesem Artikel.For examples, see the "Examples" section later in this article.

EINON
Aktiviert die Änderungsnachverfolgung für die Datenbank.Enables change tracking for the database. Wenn die Änderungsnachverfolgung aktiviert wird, können auch die AUTO CLEANUP-Option und die CHANGE RETENTION-Option festgelegt werden.When you enable change tracking, you can also set the AUTO CLEANUP and CHANGE RETENTION options.

AUTO_CLEANUP = { ON | OFF }AUTO_CLEANUP = { ON | OFF }
EINON
Die Änderungsnachverfolgungsdaten werden nach der angegebenen Beibehaltungsdauer automatisch entfernt.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Die Änderungsnachverfolgungsdaten werden nicht automatisch aus der Datenbank entfernt.Change tracking data isn't automatically removed from the database.

CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Gibt die Mindestdauer für die Beibehaltung von Änderungsnachverfolgungsdaten in der Datenbank an.Specifies the minimum period for keeping change tracking information in the database. Die Daten werden nur dann entfernt, wenn der Wert für AUTO_CLEANUP ON lautet.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period ist ein Integer, der die numerische Komponente der Vermerkdauer angibt.retention_period is an integer that specifies the numerical component of the retention period.

Die Standardbeibehaltungsdauer beträgt 2 Tage.The default retention period is 2 days. Die Mindestbeibehaltungsdauer ist 1 Minute.The minimum retention period is 1 minute. Der Standardtyp für die Beibehaltung ist DAYS.The default retention type is DAYS.

OFFOFF
Deaktiviert die Änderungsnachverfolgung für die Datenbank.Disables change tracking for the database. Deaktivieren Sie erst die Änderungsnachverfolgung für alle Tabellen, bevor Sie sie für die Datenbank deaktivieren.Disable change tracking on all tables before you disable change tracking off the database.

<containment_option> ::= <containment_option> ::=
Gilt für: SQL ServerSQL Server (ab SQL Server 2012 (11.x)SQL Server 2012 (11.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2012 (11.x)SQL Server 2012 (11.x))

Steuert die Einschlussoptionen für Datenbanken.Controls database containment options.

CONTAINMENT = { NONE | PARTIAL}CONTAINMENT = { NONE | PARTIAL}
KeineNONE
Die Datenbank ist keine eigenständige Datenbank.The database isn't a contained database.

PARTIALPARTIAL
Die Datenbank ist eine eigenständige Datenbank.The database is a contained database. Wenn für die Datenbank die Replikation, das Aufzeichnen oder das Nachverfolgen von Änderungsdaten aktiviert ist, tritt beim Festlegen des Datenbankeinschlusses auf einen partiellen Einschluss ein Fehler auf.Setting database containment to partial will fail if the database has replication, change data capture, or change tracking enabled. Die Fehlerüberprüfung wird nach einem Fehler beendet.Error checking stops after one failure. Weitere Informationen zu eigenständigen Datenbanken finden Sie unter Eigenständige Datenbanken.For more information about contained databases, see Contained Databases.

<cursor_option> ::=<cursor_option> ::=

Steuert Cursoroptionen.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
EINON
Alle beim Commit oder Rollback einer Transaktion geöffneten Cursor werden geschlossen.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Cursor bleiben beim Commit einer Transaktion geöffnet. Beim Rollback einer Transaktion werden alle Cursor geschlossen, sofern sie nicht als INSENSITIVE oder STATIC definiert sind.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für CURSOR_CLOSE_ON_COMMIT.Connection-level settings that are set by using the SET statement override the default database setting for CURSOR_CLOSE_ON_COMMIT. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die CURSOR_CLOSE_ON_COMMIT für die Sitzung auf OFF festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Sie können den Status dieser Option mithilfe der Spalte is_cursor_close_on_commit_on in der Katalogsicht sys.databases oder der IsCloseCursorsOnCommitEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion ermitteln.You can determine this option's status by examining the is_cursor_close_on_commit_on column in the sys.databases catalog view or the IsCloseCursorsOnCommitEnabled property of the DATABASEPROPERTYEX function.

CURSOR_DEFAULT { LOCAL | GLOBAL }CURSOR_DEFAULT { LOCAL | GLOBAL }
Gilt für: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Steuert, ob der Cursorbereich LOCAL oder GLOBAL verwendet.Controls whether cursor scope uses LOCAL or GLOBAL.

LOCALLOCAL
Wenn Sie LOCAL angeben und keinen Cursor als GLOBAL definieren, wenn Sie den Cursor erstellen, ist der Gültigkeitsbereich des Cursors lokal.When you specify LOCAL and don't define a cursor as GLOBAL when you create the cursor, the cursor's scope is local. Insbesondere ist der Gültigkeitsbereich des Cursors für den Batch, die gespeicherte Prozedur oder den Trigger lokal, in dem bzw. der Sie ihn erstellt haben.Specifically, the scope is local to the batch, stored procedure, or trigger in which you created the cursor. Der Cursorname ist nur innerhalb dieses Bereichs gültig.The cursor name is valid only within this scope.

Auf den Cursor kann durch lokale Cursorvariablen im Batch, in der gespeicherten Prozedur, im Trigger oder im OUTPUT-Parameter einer gespeicherten Prozedur verwiesen werden.The cursor can be referenced by local cursor variables in the batch, stored procedure, or trigger, or a stored procedure OUTPUT parameter. Die Zuordnung des Cursors wird implizit aufgehoben, wenn der Batch, die gespeicherte Prozedur oder der Trigger beendet wird.The cursor is implicitly deallocated when the batch, stored procedure, or trigger ends. Die Zuordnung des Cursors wird aufgehoben, außer er wurde zurück in einen OUTPUT-Parameter übergeben.The cursor is deallocated unless it was passed back in an OUTPUT parameter. Der Cursor könnte zurück in einen OUTPUT-Parameter übergeben werden.The cursor might be passed back in an OUTPUT parameter. Wenn die Rückgabe des Cursors auf diese Weise erfolgt, wird die Zuordnung des Cursors aufgehoben, wenn die Zuordnung der letzten auf ihn verweisenden Variablen aufgehoben wird, oder wenn der Cursor den Gültigkeitsbereich verlässt.If the cursor passes back this way, the cursor is deallocated when the last variable that references the cursor is deallocated or goes out of scope.

GLOBALGLOBAL
Wenn GLOBAL angegeben wurde und beim Erstellen kein Cursor als LOCAL definiert wird, ist der Bereich des Cursors global für die Verbindung.When GLOBAL is specified, and a cursor isn't defined as LOCAL when created, the scope of the cursor is global to the connection. Auf den Cursornamen kann in jeder gespeicherten Prozedur und in jedem Batch verwiesen werden, die bzw. der von der Verbindung ausgeführt wird.The cursor name can be referenced in any stored procedure or batch executed by the connection.

Die Zuordnung des Cursors wird implizit nur aufgehoben, wenn die Verbindung getrennt wird.The cursor is implicitly deallocated only at disconnect. Weitere Informationen finden Sie unter DECLARE CURSOR.For more information, see DECLARE CURSOR.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_local_cursor_default in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_local_cursor_default column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsLocalCursorsDefault-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsLocalCursorsDefault property of the DATABASEPROPERTYEX function.

<data_retention_policy> ::=<data_retention_policy> ::=

Gilt für: nur Azure SQL EdgeApplies to: Azure SQL Edge Only

DATA_RETENTION { ON | OFF }DATA_RETENTION { ON | OFF }
EINON
Aktiviert das auf der Datenaufbewahrungsrichtlinie basierende Bereinigen einer Datenbank.Enables Data Retention policy based cleanup on a database.

OFFOFF
Deaktiviert das auf der Datenaufbewahrungsrichtlinie basierende Bereinigen einer Datenbank.Disables Data Retention policy based cleanup on a database.

<database_mirroring>
Gilt für: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Die Argumentbeschreibungen finden Sie unter ALTER DATABASE-Datenbankspiegelung.For the argument descriptions, see ALTER DATABASE Database Mirroring.

<date_correlation_optimization_option> ::= <date_correlation_optimization_option> ::=
Gilt für: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Steuert die Option DATE_CORRELATION_OPTIMIZATION.Controls the date_correlation_optimization option.

DATE_CORRELATION_OPTIMIZATION { ON | OFF }DATE_CORRELATION_OPTIMIZATION { ON | OFF }
EINON
SQL ServerSQL Server verwaltet die Korrelationsstatistiken, wenn zwei beliebige Tabellen in der Datenbank durch eine FOREIGN KEY-Einschränkung verknüpft sind, und die Tabellen über datetime-Spalten verfügen.maintains correlation statistics where a FOREIGN KEY constraint links any two tables in the database and the tables have datetime columns.

OFFOFF
Es werden keine Korrelationsstatistiken verwaltet.Correlation statistics are not maintained.

Wenn DATE_CORRELATION_OPTIMIZATION auf ON festgelegt werden soll, darf keine aktive Verbindung mit der Datenbank bestehen, außer der Verbindung, über die die ALTER DATABASE-Anweisung ausgeführt wird.To set DATE_CORRELATION_OPTIMIZATION to ON, there must be no active connections to the database except for the connection that's executing the ALTER DATABASE statement. Anschließend werden mehrere Verbindungen unterstützt.Afterwards, multiple connections are supported.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte is_date_correlation_on in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the is_date_correlation_on column in the sys.databases catalog view.

<db_encryption_option> ::= <db_encryption_option> ::=
Steuert den Status der Datenbankverschlüsselung.Controls the database encryption state.

ENCRYPTION {ON | OFF | SUSPEND | RESUME}ENCRYPTION { ON | OFF | SUSPEND | RESUME }
EINON
Legt fest, dass die Datenbank verschlüsselt wird.Sets the database to be encrypted.

OFFOFF
Legt fest, dass die Datenbank nicht verschlüsselt wird.Sets the database to not be encrypted.

SUSPENDSUSPEND
Gilt für: SQL ServerSQL Server (ab SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))

Kann verwendet werden, um den Verschlüsselungsscan anzuhalten, nachdem TDE aktiviert oder deaktiviert wurde oder der Verschlüsselungsschlüssel geändert wurde.Can be used to pause the encryption scan after Transparent Data Encryption has been enabled or disabled, or after the encryption key has been changed.

RESUMERESUME
Gilt für: SQL ServerSQL Server (ab SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))

Kann verwendet werden, um einen zuvor angehaltenen Verschlüsselungsscan fortzusetzen.Can be used to resume a previously paused encryption scan.

Weitere Informationen finden Sie unter Transparent Data Encryption und Transparent Data Encryption in Azure SQL-Datenbank.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Wenn die Verschlüsselung auf Datenbankebene aktiviert wird, werden alle Dateigruppen verschlüsselt.When encryption is enabled at the database level, all file groups will be encrypted. Alle neuen Dateigruppen erben die verschlüsselte Eigenschaft.Any new file groups will inherit the encrypted property. Wenn Dateigruppen in der Datenbank als READ ONLY festgelegt sind, tritt beim Datenbankverschlüsselungsvorgang ein Fehler auf.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Sie können den sowohl den Verschlüsselungsstatus der Datenbank als auch den Status des Verschlüsselungsscans mithilfe der dynamischen Verwaltungssicht sys.dm_database_encryption_keys anzeigen.You can see the encryption state of the database as well as the state of the encryption scan by using the sys.dm_database_encryption_keys dynamic management view.

<db_state_option> ::= <db_state_option> ::=
Gilt für: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Steuert den Status der Datenbank.Controls the state of the database.

OFFLINEOFFLINE
Die Datenbank ist geschlossen, ordnungsgemäß heruntergefahren und als offline gekennzeichnet.The database is closed, shut down cleanly, and marked offline. Die Datenbank kann nicht geändert werden, während sie als offline gekennzeichnet ist.The database can't be modified while it's offline.

ONLINEONLINE
Die Datenbank ist geöffnet und kann verwendet werden.The database is open and available for use.

EMERGENCYEMERGENCY
Die Datenbank ist als READ_ONLY markiert, die Protokollierung deaktiviert und der Zugriff auf Mitglieder der festen Serverrolle sysadmin beschränkt.The database is marked READ_ONLY, logging is disabled, and access is limited to members of the sysadmin fixed server role. Der Status EMERGENCY wird hauptsächlich zu Problembehandlungszwecken verwendet.EMERGENCY is primarily used for troubleshooting purposes. Beispielsweise kann für eine Datenbank, die wegen einer beschädigten Protokolldatei als fehlerverdächtig gekennzeichnet ist, der Status EMERGENCY festgelegt werden.For example, a database marked as suspect because of a corrupted log file can be set to the EMERGENCY state. Durch diese Einstellung wird u. U. für den Systemadministrator der schreibgeschützte Zugriff auf die Datenbank aktiviert.This setting could enable the system administrator read-only access to the database. Nur Mitglieder der festen Serverrolle sysadmin können für eine Datenbank den Status NOTFALL festlegen.Only members of the sysadmin fixed server role can set a database to the EMERGENCY state.

Erfordert die ALTER DATABASE-Berechtigung für die Betreffdatenbank, um eine Datenbank in den Status OFFLINE oder EMERGENCY zu ändern, und die ALTER ANY DATABASE-Berechtigung auf Serverebene, um eine Datenbank von OFFLINE in ONLINE zu verschieben.Requires the ALTER DATABASE permission for the subject database, to change a database to the offline or emergency state, and the server level ALTER ANY DATABASE permission to move a database from offline to online.

Sie können den Status dieser Option ermitteln, indem Sie die Spalten state und state_desc in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the state and state_desc columns in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der Status-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the Status property of the DATABASEPROPERTYEX function. Weitere Informationen finden Sie unter Database States.For more information, see Database States.

Für eine Datenbank, die als RESTORING gekennzeichnet ist, kann nicht OFFLINE, ONLINE oder EMERGENCY festgelegt werden.A database marked as RESTORING can't be set to OFFLINE, ONLINE, or EMERGENCY. Eine Datenbank kann den Status RESTORING aufweisen, während ein Wiederherstellungsvorgang aktiv ist oder wenn ein Wiederherstellungsvorgang einer Datenbank oder Protokolldatei aufgrund einer beschädigten Sicherungsdatei fehlschlägt.A database may be in the RESTORING state during an active restore operation or when a restore operation of a database or log file fails because of a corrupted backup file.

<db_update_option> ::=<db_update_option> ::=

Steuert, ob Updates für die Datenbank zugelassen sind.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Benutzer können Daten aus der Datenbank lesen, aber nicht ändern.Users can read data from the database but not modify it.

Hinweis

Um die Abfrageleistung zu verbessern, sollten Sie vor dem Festlegen einer Datenbank auf READ_ONLY die Statistiken aktualisieren.To improve query performance, update statistics before setting a database to READ_ONLY. Wenn weitere Statistiken benötigt werden, nachdem eine Datenbank auf READ_ONLY festgelegt wurde, erstellt das Datenbank-EngineDatabase Engine Statistiken in tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Datenbank-EngineDatabase Engine will create statistics in tempdb. Weitere Informationen zu Statistiken für eine schreibgeschützte Datenbank finden Sie unter Statistiken.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
Die Datenbank ist für Lese- und Schreibvorgänge verfügbar.The database is available for read and write operations.

Sie müssen über exklusiven Zugriff auf die Datenbank verfügen, um diesen Status zu ändern.To change this state, you must have exclusive access to the database. Weitere Informationen finden Sie unter der SINGLE_USER-Klausel.For more information, see the SINGLE_USER clause.

Hinweis

Bei Verbunddatenbanken in Azure SQL-DatenbankAzure SQL Database ist SET { READ_ONLY | READ_WRITE } deaktiviert.On Azure SQL-DatenbankAzure SQL Database federated databases, SET { READ_ONLY | READ_WRITE } is disabled.

<db_user_access_option> ::= <db_user_access_option> ::=
Steuert den Benutzerzugriff auf die Datenbank.Controls user access to the database.

SINGLE_USERSINGLE_USER
Gilt für: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Gibt an, dass jeweils nur ein Benutzer auf die Datenbank zugreifen kann.Specifies that only one user at a time can access the database. Wenn Sie SINGLE_USER angeben und sich andere Benutzer mit der Datenbank verbinden, wird die ALTER DATABASE-Anweisung blockiert, bis alle Benutzer die Verbindung mit der angegebenen Datenbank trennen.If you specify SINGLE_USER and other users connect to the database, the ALTER DATABASE statement is blocked until all users disconnect from the specified database. Informationen zur Außerkraftsetzung dieses Verhaltens finden Sie im Abschnitt zur WITH <termination>-Klausel.To override this behavior, see the WITH <termination> clause.

Die Datenbank verbleibt im SINGLE_USER-Modus, selbst wenn sich der Benutzer abmeldet, der die Option festgelegt hat. Dadurch kann ein anderer Benutzer (aber nur einer) eine Verbindung mit der Datenbank herstellen.The database remains in SINGLE_USER mode even if the user that set the option signs out. At that point, a different user, but only one, can connect to the database.

Bevor Sie die Datenbank auf SINGLE_USER festlegen, müssen Sie überprüfen, ob die Option AUTO_UPDATE_STATISTICS_ASYNC auf OFF festgelegt ist.Before you set the database to SINGLE_USER, verify the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF. Wenn diese Option auf ON festgelegt ist, stellt der Hintergrundthread, der zum Aktualisieren von Statistiken verwendet wird, eine Verbindung mit der Datenbank her, und Sie können im Einzelbenutzermodus nicht auf die Datenbank zugreifen.When set to ON, the background thread used to update statistics takes a connection against the database, and you'll be unable to access the database in single-user mode. Fragen Sie zum Anzeigen des Status dieser Option die is_auto_update_stats_async_on-Spalte in der sys.databases-Katalogsicht ab.To view the status of this option, query the is_auto_update_stats_async_on column in the sys.databases catalog view. Wenn die Option auf ON festgelegt wird, sollten Sie folgende Tasks ausführen:If the option is set to ON, perform the following tasks:

  1. Legen Sie AUTO_UPDATE_STATISTICS_ASYNC auf OFF fest.Set AUTO_UPDATE_STATISTICS_ASYNC to OFF.

  2. Führen Sie eine Überprüfung auf aktive asynchrone Statistikaufträge aus, indem Sie die dynamische Verwaltungssicht sys.dm_exec_background_job_queue abfragen.Check for active asynchronous statistics jobs by querying the sys.dm_exec_background_job_queue dynamic management view.

Wenn aktive Aufträge vorhanden sind, warten Sie, bis die Aufträge abgeschlossen sind, oder beenden Sie sie manuell mithilfe von KILL STATS JOB.If there are active jobs, either allow the jobs to complete or manually terminate them by using KILL STATS JOB.

RESTRICTED_USERRESTRICTED_USER
Ermöglicht nur Mitgliedern der festen Datenbankrolle db_owner und der festen Serverrollen dbcreator und sysadmin eine Verbindung mit der Datenbank.Allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database. RESTRICTED_USER beschränkt nicht deren Anzahl.RESTRICTED_USER doesn't limit their number. Trennen Sie alle Verbindungen mit der Datenbank, indem Sie den durch die Beendigungsklausel der ALTER DATABASE-Anweisung angegebenen Zeitraum verwenden.Disconnect all connections to the database using the timeframe specified by the ALTER DATABASE statement's termination clause. Sobald die Datenbank in den Status RESTRICTED_USER gewechselt hat, werden Verbindungsversuche von nicht qualifizierten Benutzern abgelehnt.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused.

MULTI_USERMULTI_USER
Alle Benutzer, die über die entsprechenden Berechtigungen für die Verbindung mit der Datenbank verfügen, sind zugelassen.All users that have the appropriate permissions to connect to the database are allowed.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte user_access in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the user_access column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der UserAccess-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::= <delayed_durability_option> ::=
Gilt für: SQL ServerSQL Server (ab SQL Server 2014 (12.x)SQL Server 2014 (12.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2014 (12.x)SQL Server 2014 (12.x))

Steuert, ob für Transaktionen ein Commit mit vollständiger oder verzögerter Dauerhaftigkeit ausgeführt wird.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Alle Transaktionen nach SET DISABLED sind vollständig dauerhaft.All transactions following SET DISABLED are fully durable. Alle Dauerhaftigkeitsoptionen, die in einem Atomic-Block oder einer Commitanweisung festgelegt sind, werden ignoriert.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Alle Transaktionen nach SET ALLOWED sind abhängig von der im atomischen Block oder der Commitanweisung festgelegten Dauerhaftigkeitsoption entweder vollständig dauerhaft oder verzögert dauerhaft.All transactions following SET ALLOWED are either fully durable or delayed durable, depending upon the durability option set in the atomic block or commit statement.

FORCEDFORCED
Alle Transaktionen nach SET FORCED sind verzögert dauerhaft.All transactions following SET FORCED are delayed durable. Alle Dauerhaftigkeitsoptionen, die in einem Atomic-Block oder einer Commitanweisung festgelegt sind, werden ignoriert.Any durability options set in an atomic block or commit statement are ignored.

<external_access_option> ::= <external_access_option> ::=
Gilt für: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Steuert, ob externe Ressourcen, z. B. Objekte aus einer anderen Datenbank, auf die Datenbank zugreifen können.Controls whether the database can be accessed by external resources, such as objects from another database.

DB_CHAINING { ON | OFF }DB_CHAINING { ON | OFF }
EINON
Die Datenbank kann Quelle oder Ziel einer datenbankübergreifenden Besitzverkettung sein.Database can be the source or target of a cross-database ownership chain.

OFFOFF
Die Datenbank kann nicht an der datenbankübergreifenden Besitzverkettung teilnehmen.Database can't participate in cross-database ownership chaining.

Wichtig

Die Instanz von SQL ServerSQL Server erkennt diese Einstellung, wenn die Datenbankübergreifende Besitzverkettung-Serveroption deaktiviert (0 bzw. OFF) ist.The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). Wenn für Datenbankübergreifende Besitzverkettung der Wert 1 (ON) festgelegt ist, können alle Benutzerdatenbanken unabhängig vom Wert dieser Option Teile von datenbankübergreifenden Besitzketten sein.When cross db ownership chaining is 1 (ON), all user databases can participate in cross-database ownership chains, regardless of the value of this option. Diese Option wird mit sp_configure festgelegt.This option is set by using sp_configure.

Für das Festlegen dieser Option ist die CONTROL SERVER-Berechtigung für die Datenbank erforderlich.To set this option, requires CONTROL SERVER permission on the database.

Die Option DB_CHAINING kann nicht für master-, model- und tempdb-Systemdatenbanken festgelegt werden.The DB_CHAINING option can't be set on the master, model, and tempdb system databases.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_db_chaining_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_db_chaining_on column in the sys.databases catalog view.

TRUSTWORTHY { ON | OFF }TRUSTWORTHY { ON | OFF }
EINON
Datenbankmodule (z. B. benutzerdefinierte Funktionen oder gespeicherte Prozeduren), die einen Identitätswechselkontext verwenden, können auf Ressourcen außerhalb der Datenbank zugreifen.Database modules (for example, user-defined functions or stored procedures) that use an impersonation context can access resources outside the database.

OFFOFF
Datenbankmodule in einem Identitätswechselkontext können nicht auf Ressourcen außerhalb der Datenbank zugreifen.Database modules in an impersonation context can't access resources outside the database.

TRUSTWORTHY wird auf OFF festgelegt, wenn die Datenbank angefügt wird.TRUSTWORTHY is set to OFF whenever the database is attached.

Standardmäßig ist TRUSTWORTHY für alle Systemdatenbanken mit Ausnahme der msdb-Datenbank auf OFF festgelegt.By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. Der Wert kann für die „model“- und „tempdb“-Datenbanken nicht geändert werden.The value can't be changed for the model and tempdb databases. Für die master-Datenbank sollten Sie die Option TRUSTWORTHY niemals auf ON festlegen.We recommend that you never set the TRUSTWORTHY option to ON for the master database.

Für das Festlegen dieser Option ist die CONTROL SERVER-Berechtigung für die Datenbank erforderlich.To set this option, requires CONTROL SERVER permission on the database.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_trustworthy_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_trustworthy_on column in the sys.databases catalog view.

DEFAULT_FULLTEXT_LANGUAGEDEFAULT_FULLTEXT_LANGUAGE
Gilt für: SQL ServerSQL Server (ab SQL Server 2012 (11.x)SQL Server 2012 (11.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2012 (11.x)SQL Server 2012 (11.x))

Gibt den Standardsprachenwert für volltextindizierte Spalten an.Specifies the default language value for full-text indexed columns.

Wichtig

Diese Option ist nur zulässig, wenn CONTAINMENT auf PARTIAL festgelegt wurde.This option is allowable only when CONTAINMENT has been set to PARTIAL. Wenn CONTAINMENT auf NONE festgelegt wird, treten Fehler auf.If CONTAINMENT is set to NONE, errors will occur.

DEFAULT_LANGUAGEDEFAULT_LANGUAGE
Gilt für: SQL ServerSQL Server (ab SQL Server 2012 (11.x)SQL Server 2012 (11.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2012 (11.x)SQL Server 2012 (11.x))

Gibt die Standardsprache für alle neu erstellten Benutzernamen an.Specifies the default language for all newly created logins. Die Sprache kann durch Bereitstellung der lokalen ID (lcid), des Sprachennamens oder des Sprachenalias angegeben werden.Language can be specified by providing the local ID (lcid), the language name, or the language alias. Eine Liste mit zulässigen Sprachennamen und -aliasen finden Sie unter sys.syslanguages.For a list of acceptable language names and aliases, see sys.syslanguages. Diese Option ist nur zulässig, wenn CONTAINMENT auf PARTIAL festgelegt wurde.This option is allowable only when CONTAINMENT has been set to PARTIAL. Wenn CONTAINMENT auf NONE festgelegt wird, treten Fehler auf.If CONTAINMENT is set to NONE, errors will occur.

NESTED_TRIGGERSNESTED_TRIGGERS
Gilt für: SQL ServerSQL Server (ab SQL Server 2012 (11.x)SQL Server 2012 (11.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2012 (11.x)SQL Server 2012 (11.x))

Gibt an, ob ein AFTER-Trigger kaskadiert werden kann, d. h., ob er eine Aktion ausführen kann, durch die ein anderer Trigger initiiert wird, der einen weiteren Trigger initiiert usw.Specifies whether an AFTER trigger can cascade; that is, perform an action that initiates another trigger, which initiates another trigger, and so on. Diese Option ist nur zulässig, wenn CONTAINMENT auf PARTIAL festgelegt wurde.This option is allowable only when CONTAINMENT has been set to PARTIAL. Wenn CONTAINMENT auf NONE festgelegt wird, treten Fehler auf.If CONTAINMENT is set to NONE, errors will occur.

TRANSFORM_NOISE_WORDSTRANSFORM_NOISE_WORDS
Gilt für: SQL ServerSQL Server (ab SQL Server 2012 (11.x)SQL Server 2012 (11.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2012 (11.x)SQL Server 2012 (11.x))

Wird zum Unterdrücken einer Fehlermeldung verwendet, wenn Füllwörter oder Stoppwörter bewirken, dass eine boolesche Operation für eine Volltextabfrage einen Fehler erzeugt.Used to suppress an error message if noise words, or stopwords, cause a Boolean operation on a full-text query to fail. Diese Option ist nur zulässig, wenn CONTAINMENT auf PARTIAL festgelegt wurde.This option is allowable only when CONTAINMENT has been set to PARTIAL. Wenn CONTAINMENT auf NONE festgelegt wird, treten Fehler auf.If CONTAINMENT is set to NONE, errors will occur.

TWO_DIGIT_YEAR_CUTOFFTWO_DIGIT_YEAR_CUTOFF
Gilt für: SQL ServerSQL Server (ab SQL Server 2012 (11.x)SQL Server 2012 (11.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2012 (11.x)SQL Server 2012 (11.x))

Gibt eine ganze Zahl zwischen 1753 und 9999 an, die das Umstellungsjahr für das Interpretieren zweistelliger Jahre als vierstellige Jahre darstellt.Specifies an integer from 1753 to 9999 that represents the cutoff year for interpreting two-digit years as four-digit years. Diese Option ist nur zulässig, wenn CONTAINMENT auf PARTIAL festgelegt wurde.This option is allowable only when CONTAINMENT has been set to PARTIAL. Wenn CONTAINMENT auf NONE festgelegt wird, treten Fehler auf.If CONTAINMENT is set to NONE, errors will occur.

<FILESTREAM_option> ::= <FILESTREAM_option> ::=
Gilt für: SQL ServerSQL Server (ab SQL Server 2012 (11.x)SQL Server 2012 (11.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2012 (11.x)SQL Server 2012 (11.x))

Steuert die Einstellungen für FileTables.Controls the settings for FileTables.

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
OFFOFF
Nicht transaktionaler Zugriff auf FileTable-Daten ist deaktiviert.Non-transactional access to FileTable data is disabled.

READ_ONLYREAD_ONLY
FILESTREAM-Daten in FileTables in dieser Datenbank können von nicht transaktionalen Prozessen gelesen werden.FILESTREAM data in FileTables in this database can be read by non-transactional processes.

FULLFULL
Aktiviert vollständigen, nicht transaktionalen Zugriff auf FILESTREAM-Daten in FileTables.Enables full, non-transactional access to FILESTREAM data in FileTables is enabled.

DIRECTORY_NAME = <directory_name> DIRECTORY_NAME = <directory_name>
Ein Windows-kompatibler Verzeichnisname.A windows-compatible directory name. Dieser Name sollte für alle Verzeichnisnamen auf Datenbankebene in der SQL ServerSQL Server-Instanz eindeutig sein.This name should be unique among all the database-level directory names in the SQL ServerSQL Server instance. Bei Eindeutigkeitsvergleichen wird unabhängig von den Sortiereinstellungen die Groß-/Kleinschreibung nicht beachtet.Uniqueness comparison is case-insensitive, regardless of collation settings. Diese Option muss vor dem Erstellen einer FileTable in dieser Datenbank festgelegt werden.This option must be set before creating a FileTable in this database.

<HADR_options> ::= <HADR_options> ::=
Gilt für: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Siehe ALTER DATABASE SET HADR.See ALTER DATABASE SET HADR.

<mixed_page_allocation_option> ::= <mixed_page_allocation_option> ::=
Gilt für: SQL ServerSQL Server (ab SQL Server 2016 (13.x)SQL Server 2016 (13.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x))

Steuert, ob die Datenbank die ersten Seiten mit einem gemischten Block für die ersten acht Seiten einer Tabelle oder eines Index erstellen kann.Controls whether the database can create initial pages using a mixed extent for the first eight pages of a table or index.

MIXED_PAGE_ALLOCATION { OFF | ON }MIXED_PAGE_ALLOCATION { OFF | ON }
OFFOFF
Die Datenbank erstellt die ersten Seiten immer mit gleichartigen Blöcken.The database always creates initial pages using uniform extents. OFF ist der Standardwert.OFF is the default value.

EINON
Die Datenbank erstellt die ersten Seiten immer mit gemischten Blöcken.The database can create initial pages using mixed extents.

Diese Einstellung ist für alle Systemdatenbanken auf ON festgelegt.This setting is ON for all system databases. tempdb ist die einzige Systemdatenbank, die die OFF-Einstellung unterstützt.tempdb is the only system database that supports OFF.

<PARAMETERIZATION_option> ::= <PARAMETERIZATION_option> ::=
Steuert die Parametrisierungsoption.Controls the parameterization option. Weitere Informationen zur Parametrisierung finden Sie im Handbuch zur Architektur der Abfrageverarbeitung.For more information on parameterization, see the Query Processing Architecture Guide.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Abfragen werden basierend auf dem Standardverhalten der Datenbank parametrisiert.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server parametrisiert alle Abfragen in der Datenbank.parameterizes all queries in the database.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte is_parameterization_forced column in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the is_parameterization_forced column in the sys.databases catalog view.

<query_store_options> ::= <query_store_options> ::=
Gilt für: SQL ServerSQL Server (ab SQL Server 2016 (13.x)SQL Server 2016 (13.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x))

ON | OFF [ ( FORCED ) ] | CLEAR [ ALL ]ON | OFF [ ( FORCED ) ] | CLEAR [ ALL ]
Überprüft, ob der Abfragespeicher in dieser Datenbank aktiviert ist, und steuert außerdem das Entfernen des Inhalts des Abfragespeichers.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store. Weitere Informationen finden Sie unter Verwendungsszenarios für den Abfragespeicher.For more information, see Query Store Usage Scenarios.

EINON
Aktiviert den Abfragespeicher.Enables the Query Store.

OFF [ ( FORCED ) ]OFF [ ( FORCED ) ]
Deaktiviert den Abfragespeicher.Disables the Query Store. OFF ist der Standardwert.OFF is the default value. FORCED ist optional.FORCED is optional. FORCED bricht alle Hintergrundaufgaben, die gerade im Abfragespeicher ausgeführt werden, ab und überspringt die synchrone Leerung, wenn der Abfragespeicher deaktiviert wird.FORCED aborts all running Query Store background tasks, and skips the synchronous flush when Query Store is turned off. Bewirkt, dass der Abfragespeicher so schnell wie möglich heruntergefahren wird.Causes the Query Store to shut down as fast as possible. FORCED gilt für SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP2 CU14, SQL Server 2017 (14.x)SQL Server 2017 (14.x) CU21, SQL Server 2019 (15.x)SQL Server 2019 (15.x) CU6 und höhere Builds.FORCED applies to SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP2 CU14, SQL Server 2017 (14.x)SQL Server 2017 (14.x) CU21, SQL Server 2019 (15.x)SQL Server 2019 (15.x) CU6, and later builds.

Hinweis

In Azure SQL-DatenbankAzure SQL Database mit einer Einzeldatenbank oder einem Pool für elastische Datenbanken kann der Abfragespeicher nicht deaktiviert werden.Query Store cannot be disabled in Azure SQL-DatenbankAzure SQL Database single database and Elastic Pool. Beim Ausführen von ALTER DATABASE [database] SET QUERY_STORE = OFF wird die Warnung 'QUERY_STORE=OFF' is not supported in this version of SQL Server. zurückgegeben.Executing ALTER DATABASE [database] SET QUERY_STORE = OFF will return the warning 'QUERY_STORE=OFF' is not supported in this version of SQL Server..

CLEAR [ ALL ]CLEAR [ ALL ]
Entfernt abfragebezogene Daten aus dem Abfragespeicher.Removes query-related data from the Query Store. ALL ist optional.ALL is optional. ALL entfernt abfragebezogene Daten und Metadaten aus dem Abfragespeicher.ALL removes query-related data and metadata from the Query Store.

OPERATION_MODE { READ_ONLY | READ_WRITE }OPERATION_MODE { READ_ONLY | READ_WRITE }
Beschreibt den Betriebsmodus des Abfragespeichers.Describes the operation mode of the Query Store.

READ_WRITEREAD_WRITE
In diesem Modus sammelt und speichert der Abfragespeicher Angaben zum Abfrageplan und statistische Informationen zur Laufzeitausführung.The Query Store collects and persists query plan and runtime execution statistics information.

READ_ONLYREAD_ONLY
Im diesem Modus können Informationen aus dem Abfragespeicher gelesen werden, es werden jedoch keine neuen Informationen hinzugefügt.Information can be read from the Query Store, but new information isn't added. Wenn der maximal ausgegebene Speicherplatz des Abfragespeichers ausgelastet ist, wird der Betriebsmodus in READ_ONLY geändert.If the maximum issued space of the Query Store has been exhausted, the Query Store will change is operation mode to READ_ONLY.

CLEANUP_POLICYCLEANUP_POLICY
Beschreibt die Datenaufbewahrungsrichtlinie des Abfragespeichers.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS bestimmt die Anzahl an Tagen, für die die Informationen für eine Abfrage im Abfragespeicher aufbewahrt werden.STALE_QUERY_THRESHOLD_DAYS determines the number of days for which the information for a query is kept in the Query Store. STALE_QUERY_THRESHOLD_DAYS weist den Typ bigint auf.STALE_QUERY_THRESHOLD_DAYS is type bigint. Der Standardwert ist 30.The default value is 30.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Bestimmt die Häufigkeit, mit der in den Abfragespeicher geschriebene Daten auf Datenträger gespeichert werden.Determines the frequency at which data written to the Query Store is persisted to disk. Um die Leistung zu optimieren, werden durch den Abfragespeicher gesammelte Daten asynchron auf den Datenträger geschrieben.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. Die Häufigkeit, mit der diese asynchrone Übertragung stattfindet, wird mit dem Argument DATA_FLUSH_INTERVAL_SECONDS konfiguriert.The frequency at which this asynchronous transfer occurs is configured by using the DATA_FLUSH_INTERVAL_SECONDS argument. DATA_FLUSH_INTERVAL_SECONDS weist den Typ bigint auf.DATA_FLUSH_INTERVAL_SECONDS is type bigint. Der Standardwert ist 900 (15 Minuten).The default value is 900 (15 min).

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Bestimmt den Speicherplatz, der vom Abfragespeicher belegt wird.Determines the space issued to the Query Store. MAX_SIZE_MB weist den Typ bigint auf.MAX_STORAGE_SIZE_MB is type bigint. Der Standardwert ist 100 MB für SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) durch SQL Server 2017 (14.x)SQL Server 2017 (14.x)).The default value is 100 MB for SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017 (14.x)SQL Server 2017 (14.x)). Ab SQL Server 2019 (15.x)SQL Server 2019 (15.x) beträgt der Standardwert 1 GB.Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x), the default value is 1 GB.

Hinweis

Die Begrenzung MAX_STORAGE_SIZE_MB wird nicht streng erzwungen.MAX_STORAGE_SIZE_MB limit isn't strictly enforced. Die Speichergröße wird nur überprüft, wenn der Abfragespeicher Daten auf einen Datenträger schreibt.Storage size is checked only when Query Store writes data to disk. Dieses Intervall wird durch die Option DATA_FLUSH_INTERVAL_SECONDS oder die Option Datenleerungsintervall im Dialogfeld des Management StudioManagement Studio-Abfragespeichers festgelegt.This interval is set by the DATA_FLUSH_INTERVAL_SECONDS option or the Management StudioManagement Studio Query Store dialog box option Data Flush Interval. Der Standardwert des Intervalls liegt bei 900 Sekunden (oder 15 Minuten).The interval default value is 900 seconds (or 15 minutes). Wenn der Abfragespeicher die Begrenzung MAX_STORAGE_SIZE_MB zwischen Speichergrößenüberprüfungen überschritten hat, wechselt er in den schreibgeschützten Modus.If the Query Store has breached the MAX_STORAGE_SIZE_MB limit between storage size checks, it will transition to read-only mode. Bei Aktivierung von SIZE_BASED_CLEANUP_MODE wird auch der Bereinigungsmechanismus zum Erzwingen der Begrenzung MAX_STORAGE_SIZE_MB ausgelöst.If SIZE_BASED_CLEANUP_MODE is enabled, the cleanup mechanism to enforce the MAX_STORAGE_SIZE_MB limit is also triggered. Sobald ausreichend Speicherplatz befreit wurde, wird der Abfragespeichermodus automatisch in den Lese-/Schreibmodus gewechselt.Once enough space has been cleared, the Query Store mode will automatically switch back to read-write.

Wichtig

Wenn Sie glauben, dass für Ihre Arbeitsauslastungserfassung mehr als 10 GB Speicherplatz benötigt werden, sollten Sie vermutlich die Arbeitsauslastung überdenken und optimieren, um Abfragepläne wiederzuverwenden (z. B. mithilfe von erzwungener Parametrisierung), oder die Abfragespeicherkonfigurationen anpassen.If you think that your workload capture will need more than 10 GB of disk space, you should probably rethink and optimize your workload to reuse query plans (for example using forced parameterization, or adjust the Query Store configurations.
Ab SQL Server 2019 (15.x)SQL Server 2019 (15.x) und in Azure SQL-DatenbankAzure SQL Database können Sie für zusätzliche Kontrolle über die Abfrageerfassungsrichtlinie QUERY_CAPTURE_MODE auf CUSTOM festlegen.Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x) and in Azure SQL-DatenbankAzure SQL Database, you can set QUERY_CAPTURE_MODE to CUSTOM for additional control over the query capture policy.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Bestimmt das Zeitintervall, mit dem statistische Daten zur Laufzeitausführung im Abfragespeicher aggregiert werden.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Um die Speicherverwendung zu optimieren, werden die statistischen Daten zur Laufzeitausführung im Speicher für Laufzeitstatistiken über ein festes Zeitfenster aggregiert.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Dieses feste Zeitfenster wird mit dem Argument INTERVAL_LENGTH_MINUTES konfiguriert.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES weist den Typ bigint auf.INTERVAL_LENGTH_MINUTES is type bigint. Der Standardwert lautet 60.The default value is 60.

SIZE_BASED_CLEANUP_MODE { AUTO | OFF }SIZE_BASED_CLEANUP_MODE { AUTO | OFF }
Steuert, ob die Bereinigung automatisch aktiviert wird, wenn sich die Gesamtmenge der Daten der maximalen Größe nähert.Controls whether cleanup automatically activates when the total amount of data gets close to maximum size.

AUTOAUTO
Eine auf der Größe basierende Bereinigung wird automatisch aktiviert, wenn die Größe auf dem Datenträger 90 % von MAX_STORAGE_SIZE_MB erreicht.Size-based cleanup will be automatically activated when size on disk reaches 90% of MAX_STORAGE_SIZE_MB. Ein auf der Größe basierendes Cleanup entfernt die am wenigsten aufwendigen und die ältesten Abfragen.Size-based cleanup removes the least expensive and oldest queries first. Bei ungefähr 80 % von MAX_STORAGE_SIZE_MB wird dieser Vorgang angehalten.It stops at approximately 80% of MAX_STORAGE_SIZE_MB. Dies ist der Standardkonfigurationswert.This value is the default configuration value.

OFFOFF
Eine auf der Größe basierte Bereinigung wird nicht automatisch aktiviert.Size-based cleanup won't be automatically activated.

SIZE_BASED_CLEANUP_MODE ist vom Typ nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODE {ALL | AUTO | CUSTOM | NONE}QUERY_CAPTURE_MODE { ALL | AUTO | CUSTOM | NONE }
Bestimmt den zum aktuellen Zeitpunkt aktiven Abfrageerfassungsmodus.Designates the currently active query capture mode. Für jeden Modus sind bestimmte Abfrageerfassungsrichtlinien definiert.Each mode defines specific query capture policies.

Hinweis

Cursor, Abfragen in gespeicherten Prozeduren und nativ kompilierte Abfragen werden immer erfasst, wenn der Abfrageerfassungsmodus auf ALL, AUTO oder CUSTOM festgelegt ist.Cursors, queries inside Stored Procedures, and Natively compiled queries are always captured when the query capture mode is set to ALL, AUTO, or CUSTOM.

ALLALL
Erfasst alle Abfragen.Captures all queries. ALL ist der Standardkonfigurationswert für SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) bis SQL Server 2017 (14.x)SQL Server 2017 (14.x)).ALL is the default configuration value for SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017 (14.x)SQL Server 2017 (14.x)).

AUTOAUTO
Relevante Abfragen werden anhand der Ausführungsanzahl und des Ressourcenverbrauchs erfasst.Capture relevant queries based on execution count and resource consumption. Dies ist der Standardkonfigurationswert für SQL ServerSQL Server (ab SQL Server 2019 (15.x)SQL Server 2019 (15.x)) und Azure SQL-DatenbankAzure SQL Database.This is the default configuration value for SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x)) and Azure SQL-DatenbankAzure SQL Database.

KeineNONE
Es werden keine weiteren neuen Abfragen erfasst.Stop capturing new queries. Der Abfragespeicher sammelt weiterhin Statistiken zur Kompilierung und Runtime für Abfragen, die bereits erfasst wurden.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Verwenden Sie diese Konfiguration mit Bedacht, da dadurch möglicherweise wichtige Abfragen verloren gehen.Use this configuration with caution since you may miss capturing important queries.

CUSTOMCUSTOM
Gilt für: SQL ServerSQL Server (ab SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))

Ermöglicht die Kontrolle über die QUERY_CAPTURE_POLICY-Optionen.Allows control over the QUERY_CAPTURE_POLICY options.

QUERY_CAPTURE_MODE ist vom Typ nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Definiert die maximale Anzahl von Plänen, die für jede Abfrage beibehalten werden.Defines the maximum number of plans maintained for each query. MAX_PLANS_PER_QUERY ist vom Typ int. Der Standardwert ist 200.MAX_PLANS_PER_QUERY is type int. The default value is 200.

WAIT_STATS_CAPTURE_MODE { ON | OFF }WAIT_STATS_CAPTURE_MODE { ON | OFF }
Gilt für: SQL ServerSQL Server (ab SQL Server 2017 (14.x)SQL Server 2017 (14.x)))Applies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)))

Steuert, ob Wartestatistiken pro Abfrage erfasst werdenControls whether wait statistics will be captured per query.

EINON
Wartestatistikinformationen pro Abfrage werden erfasst.Wait statistics information per query is captured. Dies ist der Standardkonfigurationswert.This value is the default configuration value.

OFFOFF
Wartestatistikinformationen pro Abfrage werden nicht erfasst.Wait statistics information per query won't be captured.

<query_capture_policy_option_list> :: = <query_capture_policy_option_list> :: =
Gilt für: SQL ServerSQL Server (ab SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))

Steuert die Optionen für die Erfassungsrichtlinie des Abfragespeichers.Controls the Query Store capture policy options. Mit Ausnahme von STALE_CAPTURE_POLICY_THRESHOLD definieren diese Optionen die OR-Bedingungen, die auftreten müssen, damit Abfragen im definierten STALE_CAPTURE_POLICY_THRESHOLD-Wert erfasst werden.Except for STALE_CAPTURE_POLICY_THRESHOLD, these options define the OR conditions that need to happen for queries to be captured in the defined Stale Capture Policy Threshold value.

STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
Definiert den Zeitraum des Auswertungsintervalls um zu bestimmen, ob eine Abfrage erfasst werden sollte.Defines the evaluation interval period to determine if a query should be captured. Der Standardwert ist 1 Tag. Sie können Werte zwischen 1 Stunde und sieben Tagen festlegen.The default is 1 day, and it can be set from 1 hour to seven days. number ist vom Datentyp int.number is type int.

EXECUTION_COUNTEXECUTION_COUNT
Definiert die Häufigkeit, mit der eine Abfrage im Auswertungszeitraum ausgeführt wird.Defines the number of times a query is executed over the evaluation period. Der Standardwert ist 30, was bedeutet, dass für den Stale Capture Policy Threshold-Standardwert eine Abfrage mindestens 30 Mal an einem Tag ausgeführt werden muss, um im Abfragespeicher persistent gespeichert zu werden.The default is 30, which means that for the default Stale Capture Policy Threshold, a query must execute at least 30 times in one day to be persisted in the Query Store. EXECUTION_COUNT ist vom Typ int.EXECUTION_COUNT is type int.

TOTAL_COMPILE_CPU_TIME_MSTOTAL_COMPILE_CPU_TIME_MS
Definiert die gesamte verstrichene Kompilierungs-CPU-Zeit, die eine Abfrage über den Auswertungszeitraum in Anspruch nimmt.Defines total elapsed compile CPU time used by a query over the evaluation period. Der Standardwert ist 1000, was bedeutet, dass für den Stale Capture Policy Threshold-Standardwert eine Abfrage insgesamt mindestens eine Sekunde CPU-Zeit während der Abfragekompilierung an einem Tag verbraucht haben muss, um im Abfragespeicher persistent gespeichert zu werden.The default is 1000 which means that for the default Stale Capture Policy Threshold, a query must have a total of at least one second of CPU time spent during query compilation in one day to be persisted in the Query Store. TOTAL_COMPILE_CPU_TIME_MS ist vom Typ int.TOTAL_COMPILE_CPU_TIME_MS is type int.

TOTAL_EXECUTION_CPU_TIME_MSTOTAL_EXECUTION_CPU_TIME_MS
Definiert die gesamte verstrichene Ausführungs-CPU-Zeit, die eine Abfrage über den Auswertungszeitraum in Anspruch nimmt.Defines total elapsed execution CPU time used by a query over the evaluation period. Der Standardwert ist 100, was bedeutet, dass für den Stale Capture Policy Threshold-Standardwert eine Abfrage insgesamt mindestens 100 ms CPU-Zeit während der Ausführung an einem Tag verbraucht haben muss, um im Abfragespeicher persistent gespeichert zu werden.The default is 100 which means that for the default Stale Capture Policy Threshold, a query must have a total of at least 100 ms of CPU time spent during execution in one day to be persisted in the Query Store. TOTAL_EXECUTION_CPU_TIME_MS ist vom Typ int.TOTAL_EXECUTION_CPU_TIME_MS is type int.

<recovery_option> ::= <recovery_option> ::=
Gilt für: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Steuert Datenbankwiederherstellungsoptionen und Datenträger-E/A-Fehlerprüfung.Controls database recovery options and disk I/O error checking.

FULLFULL
Stellt nach einem Medienausfall mithilfe von Transaktionsprotokollsicherungen eine vollständige Wiederherstellung bereit.Provides full recovery after media failure by using transaction log backups. Falls eine Datendatei beschädigt ist, kann die Medienwiederherstellung alle Transaktionen wiederherstellen, für die ein Commit ausgeführt wurde.If a data file is damaged, media recovery can restore all committed transactions. Weitere Informationen finden Sie unter Wiederherstellungsmodelle.For more information, see Recovery Models.

BULK_LOGGEDBULK_LOGGED
Stellt nach einem Medienausfall Wiederherstellung bereit.Provides recovery after media failure. Kombiniert hierzu die beste Leistung mit der geringsten Verwendung von Protokollspeicher für bestimmte umfangreiche Vorgänge oder Massenvorgänge.Combines the best performance and least amount of log-space use for certain large-scale or bulk operations. Informationen zu Vorgängen, die minimal protokolliert werden können, finden Sie unter Das Transaktionsprotokoll.For information about what operations can be minimally logged, see The Transaction Log. Bei dem BULK_LOGGED-Wiederherstellungsmodell ist die Protokollierung für diese Vorgänge minimal.Under the BULK_LOGGED recovery model, logging for these operations is minimal. Weitere Informationen finden Sie unter Wiederherstellungsmodelle.For more information, see Recovery Models.

SIMPLESIMPLE
Es wird eine einfache Sicherungsstrategie bereitgestellt, die minimalen Protokollspeicherplatz verwendet.A simple backup strategy that uses minimal log space is provided. Protokollspeicherplatz kann automatisch erneut verwendet werden, wenn er für die Wiederherstellung nach einem Serverfehler nicht mehr benötigt wird.Log space can be automatically reused when it's no longer required for server failure recovery. Weitere Informationen finden Sie unter Wiederherstellungsmodelle.For more information, see Recovery Models.

Wichtig

Das Modell der einfachen Wiederherstellung ist einfacher zu verwalten als die anderen beiden Modelle, jedoch auf Kosten eines höheren Datenverlustes, falls eine Datendatei beschädigt ist.The simple recovery model is easier to manage than the other two models but at the expense of greater data loss exposure if a data file is damaged. Alle Änderungen, die nach der neuesten Datenbank- oder differenziellen Datenbanksicherung durchgeführt wurden, gehen verloren und müssen manuell erneut eingegeben werden.All changes since the most recent database or differential database backup are lost and must be manually reentered.

Das standardmäßige Wiederherstellungsmodell wird durch das Wiederherstellungsmodell der model-Datenbank bestimmt.The default recovery model is determined by the recovery model of the model database. Weitere Informationen zum Auswählen des geeigneten Wiederherstellungsmodells finden Sie unter Wiederherstellungsmodelle.For more information about selecting the appropriate recovery model, see Recovery Models.

Sie können den Status dieser Option ermitteln, indem Sie die Spalten recovery_model und recovery_modl_desc in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the recovery_model and recovery_model_desc columns in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der Recovery-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the Recovery property of the DATABASEPROPERTYEX function.

TORN_PAGE_DETECTION { ON | OFF }TORN_PAGE_DETECTION { ON | OFF }
EINON
Unvollständige Seiten können vom Datenbank-EngineDatabase Engine erkannt werden.Incomplete pages can be detected by the Datenbank-EngineDatabase Engine.

OFFOFF
Unvollständige Seiten können nicht vom Datenbank-EngineDatabase Engine erkannt werden.Incomplete pages can't be detected by the Datenbank-EngineDatabase Engine.

Wichtig

Die TORN_PAGE_DETECTION ON | OFF-Syntaxstruktur wird in zukünftigen Versionen von SQL ServerSQL Server entfernt.The syntax structure TORN_PAGE_DETECTION ON | OFF will be removed in a future version of SQL ServerSQL Server. Vermeiden Sie das Verwenden dieser Syntaxstruktur bei neuen Entwicklungsarbeiten, und planen Sie die Änderung von Anwendungen, die diese Syntaxstruktur zurzeit verwenden.Avoid using this syntax structure in new development work, and plan to modify applications that currently use the syntax structure. Verwenden Sie stattdessen die Option PAGE_VERIFY.Use the PAGE_VERIFY option instead.

PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
Entdeckt Datenbankseiten, die durch Datenträger-E/A-Pfadfehler beschädigt wurden.Discovers damaged database pages caused by disk I/O path errors. Datenträger-E/A-Pfadfehler können die Ursache von Datenbankbeschädigungen sein.Disk I/O path errors can be the cause of database corruption problems. Diese Fehler werden am häufigsten durch Stromausfälle oder Datenträger-Hardwarefehler verursacht, die beim Schreiben der Seite auf den Datenträger auftreten.These errors are most often caused by power failures or disk hardware failures that occur at the time the page is written to disk.

CHECKSUMCHECKSUM
Berechnet eine Prüfsumme für den Inhalt der gesamten Seite und speichert den Wert im Seitenkopf, wenn eine Seite auf den Datenträger geschrieben wird.Calculates a checksum over the contents of the whole page and stores the value in the page header when a page is written to disk. Wenn die Seite vom Datenträger gelesen wird, wird die Prüfsumme erneut berechnet und mit dem im Seitenkopf gespeicherten Prüfsummenwert verglichen.When the page is read from disk, the checksum is recomputed and compared to the checksum value stored in the page header. Stimmen die Werte nicht überein, wird Fehlermeldung 824 (Hinweis auf einen Prüfsummenfehler) an das SQL ServerSQL Server-Fehlerprotokoll und an das Windows-Ereignisprotokoll gemeldet.If the values don't match, error message 824 (indicating a checksum failure) is reported to both the SQL ServerSQL Server error log and the Windows event log. Ein Prüfsummenfehler weist auf ein Problem mit dem E/A-Pfad hin.A checksum failure indicates an I/O path problem. Um die eigentliche Ursache zu ermitteln, müssen die Hardware, die Firmwaretreiber, das BIOS, die Filtertreiber (z. B. Antivirussoftware) und andere Komponenten des E/A-Pfads untersucht werden.To determine the root cause requires investigation of the hardware, firmware drivers, BIOS, filter drivers (such as virus software), and other I/O path components.

TORN_PAGE_DETECTIONTORN_PAGE_DETECTION
Speichert ein bestimmtes 2-Bit-Muster für jeden 512-Byte-Sektor in der 8-KB-Datenbankseite und wird im Kopf der Datenbankseite gespeichert, wenn die Seite auf den Datenträger geschrieben wird.Saves a specific 2-bit pattern for each 512-byte sector in the 8-kilobyte (KB) database page and stored in the database page header when the page is written to disk. Wenn die Seite vom Datenträger gelesen wird, werden die im Seitenkopf gespeicherten zerrissenen Bits mit den tatsächlichen Seitensektorinformationen verglichen.When the page is read from disk, the torn bits stored in the page header are compared to the actual page sector information.

Nicht übereinstimmende Werte weisen darauf hin, dass nur ein Teil der Seite auf den Datenträger geschrieben wurde.Unmatched values indicate that only part of the page was written to disk. In dieser Situation wird Fehlermeldung 824 (Hinweis auf einen Fehler durch eine zerrissene Seite) an das SQL ServerSQL Server-Fehlerprotokoll und an das Windows-Ereignisprotokoll gemeldet.In this situation, error message 824 (indicating a torn page error) is reported to both the SQL ServerSQL Server error log and the Windows event log. Zerrissene Seiten werden im Allgemeinen bei der Datenbankwiederherstellung entdeckt, wenn es sich tatsächlich um einen unvollständigen Schreibvorgang für eine Seite handelt.Torn pages are typically detected by database recovery if it's truly an incomplete write of a page. Allerdings können auch andere E/A-Pfadfehler jederzeit eine zerrissene Seite verursachen.However, other I/O path failures can cause a torn page at any time.

KeineNONE
Schreibvorgänge auf Datenbankseiten generieren keinen CHECKSUM- oder TORN_PAGE_DETECTION-Wert.Database page writes won't generate a CHECKSUM or TORN_PAGE_DETECTION value. SQL ServerSQL Server überprüft während eines Lesevorgangs selbst dann keine Prüfsummen oder zerrissenen Seiten, wenn ein CHECKSUM- oder TORN_PAGE_DETECTION-Wert im Seitenkopf vorhanden ist.will not verify a checksum or torn page during a read even if a CHECKSUM or TORN_PAGE_DETECTION value is present in the page header.

Beachten Sie beim Verwenden der PAGE_VERIFY-Option die folgenden wichtigen Punkte:Consider the following important points when you use the PAGE_VERIFY option:

  • Der Standardwert ist CHECKSUM.The default is CHECKSUM.

  • Wenn eine Benutzer- oder Systemdatenbank auf SQL Server 2005 (9.x)SQL Server 2005 (9.x) oder eine höhere Version aktualisiert wird, bleibt der PAGE_VERIFY-Wert (NONE oder TORN_PAGE_DETECTION) unverändert.When a user or system database is upgraded to SQL Server 2005 (9.x)SQL Server 2005 (9.x) or a later version, the PAGE_VERIFY value (NONE or TORN_PAGE_DETECTION) isn't changed. Sie sollten den Wert in CHECKSUM ändern.We recommend that you change to CHECKSUM.

    Hinweis

    In früheren Versionen von SQL ServerSQL Server ist die Datenbankoption PAGE_VERIFY für die TempDB-Datenbank auf NONE festgelegt und kann nicht geändert werden.In earlier versions of SQL ServerSQL Server, the PAGE_VERIFY database option is set to NONE for the TempDB database and can't be modified. Ab SQL Server 2008SQL Server 2008 ist der Standardwert für die Datenbank tempdb für neue Installationen von SQL ServerSQL Server CHECKSUM.Starting with SQL Server 2008SQL Server 2008, the default value for the TempDB database is CHECKSUM for new installations of SQL ServerSQL Server. Bei dem Upgrade einer Installation von SQL ServerSQL Server bleibt der Standardwert NONE.When upgrading an installation SQL ServerSQL Server, the default value remains NONE. Die Option kann geändert werden.The option can be modified. Sie sollten CHECKSUM für die tempdb-Datenbank verwenden.We recommend that you use CHECKSUM for the tempdb database.

  • TORN_PAGE_DETECTION verwendet zwar weniger Ressourcen, bietet jedoch einen minimalen Teil des Schutzes von CHECKSUM.TORN_PAGE_DETECTION may use fewer resources but provides a minimal subset of the CHECKSUM protection.

  • PAGE_VERIFY kann festgelegt werden, ohne die Datenbank offline zu schalten, zu sperren oder die Parallelität der Datenbank anderweitig zu beeinträchtigen.PAGE_VERIFY can be set without taking the database offline, locking the database, or otherwise impeding concurrency on that database.

  • CHECKSUM und TORN_PAGE_DETECTION schließen sich gegenseitig aus.CHECKSUM is mutually exclusive to TORN_PAGE_DETECTION. Beide Optionen können nicht gleichzeitig aktiviert werden.Both options can't be enabled at the same time.

Bei Entdecken einer zerrissenen Seite oder eines Prüfsummenfehlers können Sie eine Wiederherstellung ausführen, indem Sie die Daten wiederherstellen oder den Index u. U. neu erstellen, wenn der Fehler auf Indexseiten beschränkt ist.When a torn page or checksum failure is detected, you can recover by restoring the data or potentially rebuilding the index if the failure is limited only to index pages. Führen Sie DBCC CHECKDB aus, um bei einem Prüfsummenfehler den Typ der betroffenen Datenbankseite(n) zu bestimmen.If you encounter a checksum failure, to determine the type of database page or pages affected, run DBCC CHECKDB. Weitere Informationen zu RESTORE-Optionen finden Sie unter RESTORE-Argumente.For more information about restore options, see RESTORE Arguments. Auch wenn das Datenbeschädigungsproblem durch das Wiederherstellen der Daten behoben wird, sollte die eigentliche Ursache, wie z. B. ein Datenträger-Hardwarefehler, diagnostiziert und baldmöglichst behoben werden, um wiederholte Fehler zu vermeiden.Although restoring the data will resolve the data corruption problem, the root cause, for example, disk hardware failure, should be diagnosed and corrected as soon as possible to prevent continuing errors.

SQL ServerSQL Server wiederholt Lesevorgänge, die wegen eines Prüfsummenfehlers, einer zerrissenen Seite oder eines anderen E/A-Fehlers fehlschlagen, vier Mal.will retry any read that fails with a checksum, torn page, or other I/O error four times. Ist der Lesevorgang bei einem dieser Wiederholungsversuche erfolgreich, wird eine Meldung in das Fehlerprotokoll geschrieben.If the read is successful in any one of the retry attempts, a message is written to the error log. Der Befehl, der den Lesevorgang ausgelöst hat, wird fortgesetzt.The command that triggered the read will continue. Schlagen alle Wiederholungsversuche fehl, schlägt der Befehl mit Fehlermeldung 824 fehl.The command will fail with error message 824 if the retry attempts fail.

Weitere Informationen zu den Fehlermeldungen 823, 824 und 825 finden Sie unter:For more information about error messages 823, 824 and 825, see:

Die aktuelle Einstellung dieser Option kann mithilfe der page_verify_option-Spalte in der sys.databases-Katalogsicht oder der IsTornPageDetectionEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion ermittelt werden.The current setting of this option can be determined by examining the page_verify_option column in the sys.databases catalog view or the IsTornPageDetectionEnabled property of the DATABASEPROPERTYEX function.

<remote_data_archive_option> ::= <remote_data_archive_option> ::=
Gilt für: SQL ServerSQL Server (ab SQL Server 2016 (13.x)SQL Server 2016 (13.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x))

Aktiviert bzw. Deaktiviert Stretch Database für die Datenbank.Enables or disables Stretch Database for the database. Weitere Informationen finden Sie unter Stretch Database.For more info, see Stretch Database.

REMOTE_DATA_ARCHIVE = {ON (SERVER = <server_name> , {CREDENTIAL = <db_scoped_credential_name> | FEDERATED_SERVICE_ACCOUNT = ON | OFF})| OFF REMOTE_DATA_ARCHIVE = { ON ( SERVER = <server_name> , { CREDENTIAL = <db_scoped_credential_name> | FEDERATED_SERVICE_ACCOUNT = ON | OFF } )| OFF
EINON
Aktiviert Stretch Database für die Datenbank.Enables Stretch Database for the database. Weitere Informationen, einschließlich zusätzlicher Voraussetzungen, finden Sie unter Aktivieren von Stretch Database für eine Datenbank.For more info, including additional prerequisites, see Enable Stretch Database for a database.

Erfordert die db_owner-Berechtigung, um Stretch Database für eine Tabelle zu aktivieren.Requires db_owner permission to enable Stretch Database for a table. Erfordert die db_owner- und CONTROL DATABASE-Berechtigungen, um Stretch Database für eine Datenbank zu aktivieren.Requires db_owner and CONTROL DATABASE permissions to enable Stretch Database for a database.

SERVER = <server_name> SERVER = <server_name>
Gibt die Adresse des Azure-Servers an.Specifies the address of the Azure server. Fügen Sie den .database.windows.net-Anteil des Namens ein.Include the .database.windows.net portion of the name. Beispiel: MyStretchDatabaseServer.database.windows.net.For example, MyStretchDatabaseServer.database.windows.net.

CREDENTIAL = <db_scoped_credential_name> CREDENTIAL = <db_scoped_credential_name>
Gibt die datenbankbezogenen Anmeldeinformationen an, die die Instanz von SQL ServerSQL Server verwendet, um eine Verbindung mit dem Azure-Server herzustellen.Specifies the database scoped credential that the instance of SQL ServerSQL Server uses to connect to the Azure server. Vergewissern Sie sich, dass die Anmeldinformationen bestehen, bevor Sie den Befehl ausführen.Make sure the credential exists before you run this command. Weitere Informationen finden Sie unter CREATE DATABASE SCOPED CREDENTIAL.For more info, see CREATE DATABASE SCOPED CREDENTIAL.

FEDERATED_SERVICE_ACCOUNT = { ON | OFF }FEDERATED_SERVICE_ACCOUNT = { ON | OFF }
Sie können ein Verbunddienstkonto verwenden, damit SQL Server lokal mit dem Azure-Remoteserver kommunizieren kann, wenn sämtliche der folgenden Bedingungen zutreffen.You can use a federated service account for the on-premises SQL Server to communicate with the remote Azure server when the following conditions are all true.

  • Das Dienstkonto, unter dem die SQL Server-Instanz ausgeführt wird, ist ein Domänenkonto.The service account under which the instance of SQL Server is running is a domain account.
  • Das Domänenkonto gehört zu einer Domäne, deren Active Directory mit Azure Active Directory verbunden ist.The domain account belongs to a domain whose Active Directory is federated with Azure Active Directory.
  • Der Azure-Remoteserver wird konfiguriert, um die Azure Active Directory-Authentifizierung zu unterstützen.The remote Azure server is configured to support Azure Active Directory authentication.
  • Das Dienstkonto, unter dem die SQL Server-Instanz ausgeführt wird, muss auf dem Azure-Remoteserver als ein dbmanager- oder sysadmin-Konto konfiguriert worden sein.The service account under which the instance of SQL Server is running must be configured as a dbmanager or sysadmin account on the remote Azure server.

Wenn Sie angeben, dass das Konto des Verbunddiensts ON ist, können Sie nicht auch noch das CREDENTIAL-Argument angeben.If you specify that the federated service account is ON, you can't also specify the CREDENTIAL argument. Wenn Sie Off angeben, geben Sie gleichzeitig auch das CREDENTIAL-Argument an.Provide the CREDENTIAL argument if you specify OFF.

OFFOFF
Deaktiviert Stretch Database für die Datenbank.Disables Stretch Database for the database. Weitere Informationen finden Sie unter Deaktivieren von Stretch Database und Zurückholen von Remotedaten.For more info, see Disable Stretch Database and bring back remote data.

Sie können Stretch Database für eine Datenbank erst deaktivieren, wenn diese keine Tabellen mehr enthält, die für Stretch Database aktiviert sind.You can only disable Stretch Database for a database after the database no longer contains any tables that are enabled for Stretch Database. Nachdem Sie Stretch Database deaktiviert haben, wird die Datenmigration beendet.After you disable Stretch Database, data migration stops. Außerdem enthalten Abfrageergebnisse keine Ergebnisse mehr aus Remotetabellen.Also, query results no longer include results from remote tables.

Auch wenn Stretch deaktiviert wird, wird die Remotedatenbank nicht entfernt.Disabling Stretch doesn't remove the remote database. Das Löschen der Remotedatenbank muss über das Azure-Portal erfolgen.To delete the remote database, drop it by using the Azure portal.

<service_broker_option> ::= <service_broker_option> ::=
Gilt für: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Steuert die folgenden Service BrokerService Broker-Optionen: Aktivieren oder Deaktivieren der Nachrichtenübermittlung, Festlegen eines neuen Service BrokerService Broker-Bezeichners oder Festlegen der Konversationsprioritäten auf ON oder OFF.Controls the following Service BrokerService Broker options: enables or disables message delivery, sets a new Service BrokerService Broker identifier, or sets conversation priorities to ON or OFF.

ENABLE_BROKERENABLE_BROKER
Gibt an, dass Service BrokerService Broker für die angegebene Datenbank aktiviert ist.Specifies that Service BrokerService Broker is enabled for the specified database. Die Nachrichtenübermittlung ist gestartet, und das is_broker_enabled-Flag ist in der sys.databases-Katalogsicht auf TRUE festgelegt.Message delivery is started, and the is_broker_enabled flag is set to true in the sys.databases catalog view. Die Datenbank behält den vorhandenen Service BrokerService Broker-Bezeichner bei.The database keeps the existing Service BrokerService Broker identifier. Service Broker kann nicht aktiviert werden, während die Datenbank der Prinzipal in einer Datenbank-Spiegelungskonfiguration ist.Service broker can't be enabled while the database is the principal in a database mirroring configuration.

Hinweis

ENABLE_BROKER benötigt eine exklusive Datenbanksperre.ENABLE_BROKER requires an exclusive database lock. Wenn Ressourcen in der Datenbank durch andere Sitzungen gesperrt wurden, wartet ENABLE_BROKER, bis die anderen Sitzungen ihre Sperren freigeben.If other sessions have locked resources in the database, ENABLE_BROKER will wait until the other sessions release their locks. Um Service BrokerService Broker in einer Benutzerdatenbank zu aktivieren, stellen Sie sicher, dass keine anderen Sitzungen auf die Datenbank zugreifen, bevor Sie die Anweisung ALTER DATABASE SET ENABLE_BROKER ausführen. Setzen Sie zum Beispiel die Datenbank in den Einzelbenutzermodus.To enable Service BrokerService Broker in a user database, ensure that no other sessions are using the database before you run the ALTER DATABASE SET ENABLE_BROKER statement, such as by putting the database in single user mode. Um Service BrokerService Broker in der msdb-Datenbank zu aktivieren, beenden Sie zunächst den SQL ServerSQL Server-Agenten, sodass Service BrokerService Broker die erforderliche Sperre abrufen kann.To enable Service BrokerService Broker in the msdb database, first stop SQL ServerSQL Server Agent so that Service BrokerService Broker can obtain the necessary lock.

DISABLE_BROKERDISABLE_BROKER
Gibt an, dass Service BrokerService Broker für die angegebene Datenbank deaktiviert ist.Specifies that Service BrokerService Broker is disabled for the specified database. Die Nachrichtenübermittlung ist angehalten, und das is_broker_enabled-Flag ist in der sys.databases-Katalogsicht auf FALSE festgelegt.Message delivery is stopped, and the is_broker_enabled flag is set to false in the sys.databases catalog view. Die Datenbank behält den vorhandenen Service BrokerService Broker-Bezeichner bei.The database keeps the existing Service BrokerService Broker identifier.

NEW_BROKERNEW_BROKER
Gibt an, dass die Datenbank einen neuen Broker-Bezeichner erhalten sollte.Specifies that the database should receive a new broker identifier. Die Datenbank fungiert als neuer Service Broker.The database acts as a new service broker. Somit werden alle bestehenden Konversationen in der Datenbank sofort entfernt, ohne Nachrichten über das Beenden des Dialogs zu erstellen.As such, all existing conversations in the database are immediately removed without producing end dialog messages. Jede Route, die auf den alten Service BrokerService Broker-Bezeichner verweist, muss mit dem neuen Bezeichner neu erstellt werden.Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONSERROR_BROKER_CONVERSATIONS
Gibt an, dass die Service BrokerService Broker-Nachrichtenübermittlung aktiviert ist.Specifies that Service BrokerService Broker message delivery is enabled. Mit dieser Einstellung wird der vorhandene Service BrokerService Broker-Bezeichner für die Datenbank beibehalten.This setting preserves the existing Service BrokerService Broker identifier for the database. Service BrokerService Broker beendet alle Konversationen in der Datenbank mit einem Fehler.ends all conversations in the database with an error. Diese Einstellung ermöglicht Anwendungen, reguläre Cleanups für bestehende Konversationen ausführen.This setting enables applications to run regular cleanup for existing conversations.

HONOR_BROKER_PRIORITY {ON | OFF}HONOR_BROKER_PRIORITY {ON | OFF}
EINON
Bei Sendevorgängen werden die den Konversationen zugewiesenen Prioritätsstufen berücksichtigt.Send operations take into consideration the priority levels that are assigned to conversations. Nachrichten aus Konversationen mit hohen Prioritätsstufen werden in der Regel vor Nachrichten aus Konversationen mit niedrigen Prioritätsstufen gesendet.Messages from conversations that have high priority levels are sent before messages from conversations that are assigned low-priority levels.

OFFOFF
Sendevorgänge werden so ausgeführt, als ob alle Konversationen die Standardprioritätsstufe haben.Send operations run as if all conversations have the default priority level.

Änderungen an der HONOR_BROKER_PRIORITY-Option treten bei neuen Dialogfeldern oder Dialogfeldern, in denen keine Nachrichten darauf warten, gesendet zu werden, sofort in Kraft.Changes to the HONOR_BROKER_PRIORITY option take effect immediately for new dialogs or dialogs that have no messages waiting to be sent. Dialogfelder mit Nachrichten, die gesendet werden sollen, wenn ALTER DATABASE ausgeführt wird, übernehmen die neue Einstellung erst, nachdem einige Nachrichten für das Dialogfeld gesendet wurden.Dialogs with messages to be sent when ALTER DATABASE is run won't pick up the new setting until some of the messages for the dialog are sent. Es kann unterschiedlich lange dauern, bis in allen Dialogfeldern die neue Einstellung verwendet wird.The amount of time before all dialogs start using the new setting can vary considerably.

Die aktuelle Einstellung dieser Eigenschaft wird in der is_broker_priority_honored-Spalte der sys.databases-Katalogsicht angezeigt.The current setting of this property is reported in the is_broker_priority_honored column in the sys.databases catalog view.

<snapshot_option> ::= <snapshot_option> ::=
Berechnet die Isolationsstufe für die Transaktionen.Calculates the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
EINON
Aktiviert die Momentaufnahmeoption auf Datenbankebene.Enables Snapshot option at the database level. Wenn die Option aktiviert ist, beginnen DML-Anweisungen mit der Generierung von Zeilenversionen, auch wenn keine Transaktion die Momentaufnahmeisolation verwendet.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Sobald diese Option aktiviert ist, können Transaktionen die SNAPSHOT-Transaktionsisolationsstufe angeben.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Wenn eine Transaktion auf der SNAPSHOT-Isolationsebene ausgeführt wird, sehen alle Anweisungen eine Momentaufnahme der Daten, wie sie beim Start der Transaktion vorlagen.When a transaction runs at the SNAPSHOT isolation level, all statements see a snapshot of data as it exists at the start of the transaction. Greift eine Transaktion, die auf der SNAPSHOT-Isolationsstufe ausgeführt wird, auf Daten in mehreren Datenbanken zu, muss entweder in allen Datenbanken ALLOW_SNAPSHOT_ISOLATION auf ON festgelegt sein oder jede Anweisung in der Transaktion muss Sperrhinweise für alle Verweise in einer FROM-Klausel verwenden, die auf eine Tabelle in einer Datenbank verweisen, bei der ALLOW_SNAPSHOT_ISOLATION auf OFF festgelegt ist.If a transaction running at the SNAPSHOT isolation level accesses data in multiple databases, either ALLOW_SNAPSHOT_ISOLATION must be set to ON in all the databases, or each statement in the transaction must use locking hints on any reference in a FROM clause to a table in a database where ALLOW_SNAPSHOT_ISOLATION is OFF.

OFFOFF
Deaktiviert die Momentaufnahmeoption auf Datenbankebene.Turns off the Snapshot option at the database level. Transaktionen können die SNAPSHOT-Isolationsstufe für Transaktionen nicht angeben.Transactions can't specify the SNAPSHOT transaction isolation level.

Wenn Sie ALLOW_SNAPSHOT_ISOLATION auf einen neuen Status festlegen (von ON zu OFF oder von OFF zu ON), gibt ALTER DATABASE die Kontrolle erst dann an den Aufrufer zurück, wenn ein Commit aller bestehenden Transaktionen in der Datenbank ausgeführt wurde.When you set ALLOW_SNAPSHOT_ISOLATION to a new state (from ON to OFF, or from OFF to ON), ALTER DATABASE doesn't return control to the caller until all existing transactions in the database are committed. Hat die Datenbank bereits den in der ALTER DATABASE-Anweisung angegebenen Status, wird die Kontrolle direkt an den Aufrufer zurückgegeben.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Wenn keine schnelle Rückgabe durch die ALTER DATABASE-Anweisung erfolgt, verwenden Sie sys.dm_tran_active_snapshot_database_transactions, um zu bestimmen, ob lang andauernde Transaktionen vorhanden sind.If the ALTER DATABASE statement doesn't return quickly, use sys.dm_tran_active_snapshot_database_transactions to determine whether there are long-running transactions. Wird die ALTER DATABASE-Anweisung abgebrochen, bleibt die Datenbank in dem Status, in dem sie sich vor dem Start von ALTER DATABASE befand.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. In der sys.databases-Katalogsicht wird der Status von Isolationstransaktionen von Momentaufnahmen in der Datenbank angegeben.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Ist snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, wird ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF für 6 Sekunden angehalten und der Vorgang anschließend wiederholt.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Sie können den Status von ALLOW_SNAPSHOT_ISOLATION nicht ändern, wenn die Datenbank OFFLINE ist.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Wenn Sie ALLOW_SNAPSHOT_ISOLATION in einer READ_ONLY-Datenbank festlegen, wird die Einstellung gespeichert, wenn die Datenbank später auf READ_WRITE festgelegt wird.If you set ALLOW_SNAPSHOT_ISOLATION in a READ_ONLY database, the setting will be kept if the database is later set to READ_WRITE.

Sie können die ALLOW_SNAPSHOT_ISOLATION-Einstellungen für die Datenbanken master, model, msdb und tempdb ändern.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. Wenn Sie die Einstellung für tempdb ändern, wird die Einstellung jedes Mal beibehalten, wenn die Instanz von Datenbank-EngineDatabase Engine beendet und neu gestartet wird.The setting is kept every time the instance of the Datenbank-EngineDatabase Engine is stopped and restarted if you change the setting for tempdb. Wenn Sie die Einstellung für model ändern, wird die Einstellung zur Standardeinstellung für alle neu erstellten Datenbanken, mit Ausnahme von tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

Die Option ist für die master- und msdb-Datenbanken standardmäßig auf ON eingestellt.The option is ON by default for the master and msdb databases.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte snapshot_isolation_state in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }
EINON
Aktiviert die Option READ COMMITTED-Snapshot auf Datenbankebene.Enables Read-Committed Snapshot option at the database level. Wenn die Option aktiviert ist, beginnen DML-Anweisungen mit der Generierung von Zeilenversionen, auch wenn keine Transaktion die Momentaufnahmeisolation verwendet.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Sobald diese Option aktiviert ist, verwenden Transaktionen, die die Read Committed-Isolationsstufe angeben, anstelle von Sperren die Zeilenversionsverwaltung.Once this option is enabled, the transactions specifying the read committed isolation level use row versioning instead of locking. Wenn eine Transaktion auf der READ COMMITTED-Isolationsstufe ausgeführt wird, sehen alle Anweisungen eine Momentaufnahme der Daten, wie sie beim Start der Anweisung vorlagen.All statements see a snapshot of data as it exists at the start of the statement when a transaction runs at the READ COMMITTED isolation level.

OFFOFF
Deaktiviert die Option READ COMMITTED-Snapshot auf Datenbankebene.Turns off Read-Committed Snapshot option at the database level. Transaktionen, die die READ COMMITTED-Isolationsstufe angeben, verwenden Sperren.Transactions specifying the READ COMMITTED isolation level use locking.

Wenn READ_COMMITTED_SNAPSHOT auf ON oder OFF festgelegt werden soll, dürfen außer der Verbindung, die den ALTER DATABASE-Befehl ausführt, keine aktiven Verbindungen zur Datenbank bestehen.To set READ_COMMITTED_SNAPSHOT ON or OFF, there must be no active connections to the database except for the connection running the ALTER DATABASE command. Die Datenbank muss sich jedoch nicht im Einzelbenutzermodus befinden.However, the database doesn't have to be in single-user mode. Sie können den Status dieser Option nicht ändern, wenn die Datenbank OFFLINE ist.You can't change the state of this option when the database is OFFLINE.

Wenn Sie READ_COMMITTED_SNAPSHOT in einer READ_ONLY-Datenbank festlegen, wird die Einstellung beibehalten, wenn die Datenbank später auf READ_WRITE festgelegt wird.If you set READ_COMMITTED_SNAPSHOT in a READ_ONLY database, the setting will be kept when the database is later set to READ_WRITE.

READ_COMMITTED_SNAPSHOT kann für die Systemdatenbanken master, tempdb oder msdb nicht auf ON festgelegt werden.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Wenn Sie die Einstellung für model ändern, wird die Einstellung zur Standardeinstellung für alle neu erstellten Datenbanken, mit Ausnahme von tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte is_read_committed_snapshot_on in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the is_read_committed_snapshot_on column in the sys.databases catalog view.

Warnung

Wenn eine Tabelle mit DURABILITY = SCHEMA_ONLY erstellt wird und READ_COMMITTED_SNAPSHOT anschließend mithilfe von ALTER DATABASE geändert wird, gehen Daten in der Tabelle verloren.When a table is created with DURABILITY = SCHEMA_ONLY, and READ_COMMITTED_SNAPSHOT is subsequently changed using ALTER DATABASE, data in the table will be lost.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
Gilt für: SQL ServerSQL Server (ab SQL Server 2014 (12.x)SQL Server 2014 (12.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2014 (12.x)SQL Server 2014 (12.x))

EINON
Wenn die Isolationsstufe für Transaktionen auf eine niedrigere Isolationsstufe als SNAPSHOT festgelegt wird, werden alle interpretierten Transact-SQLTransact-SQL-Vorgänge für speicheroptimierte Tabelle unter der Isolationsstufe SNAPSHOT ausgeführt.When the transaction isolation level is set to any isolation level lower than SNAPSHOT, all interpreted Transact-SQLTransact-SQL operations on memory-optimized tables are run under SNAPSHOT isolation. Beispiele für Isolationsstufen, die niedriger als SNAPSHOT sind, sind READ COMMITTED oder READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Diese Vorgänge erfolgen ungeachtet des Umstands, ob die Transaktionsisolationsstufe explizit auf der Sitzungsebene festgelegt ist, oder ob implizit die Standardeinstellung verwendet wird.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
Erhöht nicht die Isolationsstufe für Transaktionen für interpretierte Transact-SQLTransact-SQL-Vorgänge für speicheroptimierte Tabellen.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Sie können den Status von MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT nicht ändern, wenn die Datenbank OFFLINE ist.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

Die Standardoption ist OFF.The default option is OFF.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte is_memory_optimized_elevate_to_snapshot_on in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the is_memory_optimized_elevate_to_snapshot_on column in the sys.databases catalog view.

<sql_option> ::= <sql_option> ::=
Steuert die ANSI-Kompatibilitätsoptionen auf der Datenbankebene.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Legt den Standardwert (NULL oder NOT NULL) einer Spalte oder CLR user-defined type fest, für den die NULL-Zulässigkeit nicht explizit in den CREATE TABLE- oder ALTER TABLE-Anweisungen festgelegt wurde.Determines the default value, NULL or NOT NULL, of a column or CLR user-defined type for which the nullability isn't explicitly defined in CREATE TABLE or ALTER TABLE statements. Spalten, die mit Einschränkungen definiert werden, folgen den Einschränkungsregeln, egal wie diese Einstellung lautet.Columns that are defined with constraints follow constraint rules whatever this setting may be.

EINON
Der Standardwert für eine nicht definierte Spalte ist NULL.The default value for an undefined column is NULL.

OFFOFF
Der Standardwert für eine nicht definierte Spalte ist NOT NULL.The default value for an undefined column is NOT NULL.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_NULL_DEFAULT für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Für die ANSI-Kompatibilität wird durch Festlegen der Datenbankoption ANSI_NULL_DEFAULT auf ON der Datenbankstandardwert auf NULL geändert.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_null_default_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiNullDefault-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiNullDefault property of the DATABASEPROPERTYEX function.

ANSI_NULLS { ON | OFF }ANSI_NULLS { ON | OFF }
EINON
Alle Vergleiche mit einem Nullwert ergeben UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Vergleiche von Nicht-UNICODE-Werten mit einem Nullwert ergeben TRUE, wenn beide Werte NULL sind.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Wichtig

In einer späteren Version von SQL ServerSQL Server wird ANSI_NULLS immer auf ON festgelegt, und jede Anwendung, für die die Option explizit auf OFF festgelegt wird, löst einen Fehler aus.In a future version of SQL ServerSQL Server, ANSI_NULLS will always be ON and any applications that explicitly set the option to OFF will produce an error. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_NULLS für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Wichtig

SET ANSI_NULLS muss ebenfalls auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_nulls_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiNullsEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiNullsEnabled property of the DATABASEPROPERTYEX function.

ANSI_PADDING { ON | OFF }ANSI_PADDING { ON | OFF }
EINON
Zeichenfolgen werden vor der Konvertierung auf dieselbe Länge aufgefüllt.Strings are padded to the same length before conversion. Sie werden auch vor dem Einfügen in einen varchar- oder nvarchar-Datentyp durch Einfügen von Leerstellen auf dieselbe Länge gebracht.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Fügt nachfolgende Leerräume in Zeichenwerte in varchar oder nvarchar-Spalten ein.Inserts trailing blanks in character values into varchar or nvarchar columns. Belässt außerdem nachfolgende Nullen in Binärwerten, die in varbinary-Spalten eingefügt werden.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Werte werden nicht bis zur Spaltenlänge aufgefüllt.Values aren't padded to the length of the column.

Ist OFF festgelegt, wirkt sich diese Einstellung nur auf die Definition neuer Spalten aus.When OFF is specified, this setting affects only the definition of new columns.

Wichtig

In einer späteren Version von SQL ServerSQL Server wird ANSI_PADDING immer auf ON festgelegt, und jede Anwendung, für die die Option explizit auf OFF festgelegt ist, löst einen Fehler aus.In a future version of SQL ServerSQL Server, ANSI_PADDING will always be ON and any applications that explicitly set the option to OFF will produce an error. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Es wird empfohlen, für ANSI_PADDING stets den Wert ON festzulegen.We recommend that you always set ANSI_PADDING to ON. ANSI_PADDING muss beim Erstellen oder Bearbeiten von Indizes für berechnete Spalten oder indizierte Sichten auf ON festgelegt sein.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

char(n) - und binary(n) -Spalten, die NULL-Werte zulassen, werden bis zur Spaltenlänge aufgefüllt, wenn ANSI_PADDING auf ON festgelegt ist.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Ist ANSI_PADDING hingegen auf OFF festgelegt, werden nachfolgende Leerzeichen und Nullen abgeschnitten.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. char(n) - und binary(n) -Spalten, die keine NULL-Werte zulassen, werden immer bis zur Spaltenlänge aufgefüllt.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_PADDING für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_padding_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiPaddingEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiPaddingEnabled property of the DATABASEPROPERTYEX function.

ANSI_WARNINGS { ON | OFF }ANSI_WARNINGS { ON | OFF }
EINON
Fehler und Warnungen werden ausgegeben, wenn z.B. ein Fehler wegen „Division durch Null“ auftritt.Errors or warnings are issued when conditions such as divide-by-zero occur. Fehler oder Warnungen werden ebenfalls ausgegeben, wenn Nullwerte in Aggregatfunktionen auftreten.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Bei Bedingungen wie einer Division durch Null werden keine Warnungen ausgegeben, und Nullwerte werden zurückgegeben.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Wichtig

SET ANSI_WARNINGS muss auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_WARNINGS für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_warnings_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiWarningsEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
EINON
Eine Abfrage wird beendet, wenn während der Abfrage ein Überlauffehler oder ein Fehler aufgrund einer Division durch Null auftritt.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Eine Warnmeldung wird angezeigt, wenn einer dieser Fehler auftritt.A warning message is displayed when one of these errors occurs. Die Verarbeitung der Abfrage, des Batches oder der Transaktion wird fortgesetzt, als wäre kein Fehler aufgetreten, selbst wenn eine Warnung angezeigt wird.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Wichtig

SET ARITHABORT muss auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_arithabort_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsArithmeticAbortEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsArithmeticAbortEnabled property of the DATABASEPROPERTYEX function.

COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }

Weitere Informationen finden Sie unter ALTER DATABASE-Kompatibilitätsgrad.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
EINON
Das Ergebnis einer Verkettungsoperation ist NULL, wenn einer der Operanden NULL ist.The result of a concatenation operation is NULL when either operand is NULL. Wenn z. B. die Zeichenfolge „This is“ und NULL verkettet werden und NULL den NULL-Wert anstelle des „This is“-Werts zurückgibt.For example, concatenating the character string "This is" and NULL returns the NULL value instead of the "This is" value.

OFFOFF
Der Nullwert wird als leere Zeichenfolge behandelt.The null value is treated as an empty character string.

[WICHTIG] CONCAT_NULL_YIELDS_NULL muss auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.[IMPORTANT] CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

In zukünftigen Versionen von SQL ServerSQL Server wird CONCAT_NULL_YIELDS_NULL immer auf ON festgelegt, und jede Anwendung, die für die Option explizit OFF festlegt, löst einen Fehler aus.In upcoming versions of SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL will always be ON, and any applications that explicitly set the option to OFF will trigger an error. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für CONCAT_NULL_YIELDS_NULL.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die CONCAT_NULL_YIELDS_NULL für die Sitzung auf ON festgelegt wird, wenn sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.By default, ODBC and OLE DB clients issue a connection-level SET statement setting CONCAT_NULL_YIELDS_NULL to ON for the session when connecting to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_concat_null_yields_null_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_concat_null_yields_null_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsNullConcat-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsNullConcat property of the DATABASEPROPERTYEX function.

QUOTED_IDENTIFIER { ON | OFF }QUOTED_IDENTIFIER { ON | OFF }
EINON
Doppelte Anführungszeichen können nur zum Einschließen von Begrenzungsbezeichnern verwendet werden.Double quotation marks can be used to enclose delimited identifiers.

Alle Zeichenfolgen, die durch doppelte Anführungszeichen begrenzt werden, werden als Objektbezeichner interpretiert.All strings delimited by double quotation marks are interpreted as object identifiers. Bezeichner in Anführungszeichen müssen nicht den Transact-SQLTransact-SQL-Regeln für Bezeichner entsprechen.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Sie können Schlüsselwörter darstellen und Zeichen einschließen, die in Transact-SQLTransact-SQL-Bezeichnern nicht zulässig sind.They can be keywords and can include characters that aren't allowed in Transact-SQLTransact-SQL identifiers. Ein einfaches Anführungszeichen (’), das zur Literalzeichenfolge selbst gehört, kann durch doppelte Anführungszeichen (’’) dargestellt werden.If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Bezeichner dürfen nicht in Anführungszeichen eingeschlossen werden und müssen allen Transact-SQLTransact-SQL-Regeln für Bezeichner entsprechen.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Literale können in einfache oder doppelte Anführungszeichen eingeschlossen werden.Literals can be delimited by either single or double quotation marks.

In SQL ServerSQL Server ist es zudem möglich, Bezeichner durch eckige Klammern ([ ]) zu begrenzen.SQL ServerSQL Server also allows for identifiers to be delimited by square brackets ([ ]). Bezeichner in eckigen Klammern können immer verwendet werden, egal wie die Einstellung für QUOTED_IDENTIFIER lautet.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Weitere Informationen finden Sie unter Datenbankbezeichner.For more information, see Database Identifiers.

Beim Erstellen einer Tabelle wird die Option QUOTED IDENTIFIER immer als ON in den Metadaten der Tabelle gespeichert.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. Die Option wird gespeichert, selbst wenn die Option beim Erstellen der Tabelle auf OFF festgelegt ist.The option is stored even if the option is set to OFF when the table is created.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die QUOTED_IDENTIFIER auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_quoted_identifier_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsQuotedIdentifiersEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsQuotedIdentifiersEnabled property of the DATABASEPROPERTYEX function.

NUMERIC_ROUNDABORT { ON | OFF }NUMERIC_ROUNDABORT { ON | OFF }
EINON
Es wird ein Fehler generiert, wenn ein Genauigkeitsverlust in einem Ausdruck auftritt.An error is generated when loss of precision occurs in an expression.

OFFOFF
Bei einem Genauigkeitsverlust wird keine Fehlermeldung generiert, und das Ergebnis wird auf die Genauigkeit der Spalte oder Variablen gerundet, die das Ergebnis speichert.Loss of precision doesn't generate an error message, and the result is rounded to the precision of the column or variable storing the result.

Wichtig

NUMERIC_ROUNDABORT muss auf OFF festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_numeric_roundabort_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsNumericRoundAbortEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsNumericRoundAbortEnabled property of the DATABASEPROPERTYEX function.

RECURSIVE_TRIGGERS { ON | OFF }RECURSIVE_TRIGGERS { ON | OFF }
EINON
Das rekursive Auslösen von AFTER-Triggern ist zugelassen.Recursive firing of AFTER triggers is allowed.

OFFOFF
Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_recursive_triggers_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsRecursiveTriggersEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Hinweis

Nur die direkte Rekursion wird verhindert, wenn RECURSIVE_TRIGGERS auf OFF festgelegt ist.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Sie müssen auch die Geschachtelte Trigger-Serveroption auf 0 festlegen, um die indirekte Rekursion zu deaktivieren.To disable indirect recursion, you must also set the nested triggers server option to 0.

Sie können den Status dieser Option mithilfe der Spalte is_recursive_triggers_on in der Katalogsicht sys.databases oder der IsRecursiveTriggersEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion ermitteln.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view or the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

<target_recovery_time_option> ::= <target_recovery_time_option> ::=
Gilt für: SQL ServerSQL Server (ab SQL Server 2012 (11.x)SQL Server 2012 (11.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2012 (11.x)SQL Server 2012 (11.x))

Gibt die Frequenz indirekter Prüfpunkte auf Basis einzelner Datenbanken an.Specifies the frequency of indirect checkpoints on a per-database basis. Ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) beträgt der Standardwert für neue Datenbanken, der darauf hindeutet, dass Datenbanken indirekte Prüfpunkte verwendet werden, eine Minute.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database will use indirect checkpoints. Der Standard für ältere Versionen ist 0 (null) und gibt an, dass die Datenbank automatische Prüfpunkte verwendet, deren Frequenz von der Einstellung für das Wiederherstellungsintervall der Serverinstanz abhängt.For older versions the default is 0, which indicates that the database will use automatic checkpoints, whose frequency depends on the recovery interval setting of the server instance. Für MicrosoftMicrosoft ist für die meisten Systeme eine Minute empfohlen.MicrosoftMicrosoft recommends 1 minute for most systems.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
target_recovery_time target_recovery_time
Gibt die maximale Grenze für die Zeit an, die für die Wiederherstellung der angegebenen Datenbank im Fall eines Fehlers aufgewendet wird.Specifies the maximum bound on the time to recover the specified database in the event of a crash. target_recovery_time ist vom Typ int.target_recovery_time is type int.

SECONDSSECONDS
Gibt an, dass target_recovery_time die Anzahl von Sekunden darstellt.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Gibt an, dass target_recovery_time die Anzahl von Minuten darstellt.Indicates that target_recovery_time is expressed as the number of minutes.

Weitere Informationen zu indirekten Prüfpunkten finden Sie unter Datenbankprüfpunkte.For more information about indirect checkpoints, see Database Checkpoints.

WITH <termination> ::= WITH <termination> ::=
Gibt an, wann beim Übergang der Datenbank von einem Status in einen anderen für unvollständige Transaktionen ein Rollback ausgeführt werden soll.Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Wird die Beendigungsklausel ausgelassen, wartet die ALTER DATABASE-Anweisung auf unbestimmte Zeit, wenn keine Sperre für die Datenbank besteht.If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there's any lock on the database. Es kann nur eine Beendigungsklausel angegeben werden, und diese steht hinter den SET-Klauseln.Only one termination clause can be specified, and it follows the SET clauses.

Hinweis

Nicht alle Datenbankoptionen verwenden die WITH <termination>-Klausel.Not all database options use the WITH <termination> clause. Weitere Informationen finden Sie in der Tabelle unter Festlegen von Optionen im Abschnitt „Hinweise“ in diesem Artikel.For more information, see the table under "Setting options of the "Remarks" section of this article.

ROLLBACK AFTER number [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER number [SECONDS] | ROLLBACK IMMEDIATE
Gibt an, ob ein Rollback sofort oder nach Ablauf der angegebenen Sekundenzahl ausgeführt werden soll.Specifies whether to roll back after the specified number of seconds or immediately. number ist vom Datentyp int.number is type int.

NO_WAITNO_WAIT
Gibt an, dass die Anforderung fehlschlägt, wenn diese Änderung des Datenbankstatus oder der Datenbankoption nicht sofort vollständig vorgenommen werden kann.Specifies that the request will fail if the requested database state or option change can't complete immediately. Der sofortige Abschluss des Vorgangs bedeutet, dass nicht darauf gewartet wird, dass Transaktionen eigenständig einen Commit oder Rollback ausführen.Completing immediately means not waiting for transactions to commit or roll back on their own.

Festlegen von OptionenSetting options

Verwenden Sie die sys.databases-Katalogsicht oder DATABASEPROPERTYEX, um die aktuellen Einstellungen für Datenbankoptionen abzurufen.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Wenn Sie eine Datenbankoption festlegen, tritt die neue Einstellung sofort in Kraft.After you set a database option, the new setting takes effect immediately.

Sie können die Standardwerte einer Datenbankoption für alle neu erstellten Datenbanken ändern.You can change the default values for any one of the database options for all newly created databases. Hierzu ändern Sie die entsprechende Datenbankoption in der Modelldatenbank.To do so, change the appropriate database option in the model database.

Nicht alle Datenbankoptionen verwenden die WITH <termination>-Klausel oder können zusammen mit anderen Optionen festgelegt werden.Not all database options use the WITH <termination> clause or can be specified in combination with other options. In der folgenden Tabelle sind die Optionen und ihr Options- und Beendigungsstatus aufgeführt.The following table lists these options and their option and termination status.

OptionskategorieOptions category Kann mit anderen Optionen angegeben werdenCan be specified with other options Kann WITH <termination>-Klausel verwendenCan use the WITH <termination> clause
<db_state_option> JaYes JaYes
<db_user_access_option> JaYes JaYes
<db_update_option> JaYes JaYes
<delayed_durability_option> JaYes JaYes
<external_access_option> JaYes NeinNo
<cursor_option> JaYes NeinNo
<auto_option> JaYes NeinNo
<sql_option> JaYes NeinNo
<recovery_option> JaYes NeinNo
<target_recovery_time_option> NeinNo JaYes
<database_mirroring_option> NeinNo NeinNo
ALLOW_SNAPSHOT_ISOLATIONALLOW_SNAPSHOT_ISOLATION NeinNo NeinNo
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT NeinNo JaYes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOTMEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT JaYes JaYes
<service_broker_option> JaYes NeinNo
DATE_CORRELATION_OPTIMIZATIONDATE_CORRELATION_OPTIMIZATION JaYes JaYes
<parameterization_option> JaYes JaYes
<change_tracking_option> JaYes JaYes
<db_encryption_option> JaYes NeinNo

Der Plancache für die Instanz von SQL ServerSQL Server wird gelöscht, indem eine der folgenden Optionen festgelegt wird:The plan cache for the instance of SQL ServerSQL Server is cleared by setting one of the following options:

OFFLINEOFFLINE

ONLINEONLINE

MODIFY_NAMEMODIFY_NAME

COLLATECOLLATE

READ_ONLYREAD_ONLY

READ_WRITEREAD_WRITE

MODIFY FILEGROUP DEFAULTMODIFY FILEGROUP DEFAULT

MODIFY FILEGROUP READ_WRITEMODIFY FILEGROUP READ_WRITE

MODIFY FILEGROUP READ_ONLYMODIFY FILEGROUP READ_ONLY

Der Plancache wird auch in den folgenden Szenarios geleert.The plan cache is also flushed in the following scenarios.

  • Die AUTO_CLOSE-Datenbankoption ist für eine Datenbank auf ON festgelegt.A database has the AUTO_CLOSE database option set to ON. Wenn die Datenbank von keiner Benutzerverbindung verwendet wird bzw. keine Benutzerverbindung darauf verweist, versucht der Hintergrundtask, die Datenbank automatisch zu schließen und herunterzufahren.When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
  • Sie führen mehrere Abfragen für eine Datenbank aus, die über Standardoptionen verfügt.You run several queries against a database that has default options. Anschließend wird die Datenbank gelöscht.Then, the database is dropped.
  • Eine Datenbank-Momentaufnahme für eine Quelldatenbank wird gelöscht.A database snapshot for a source database is dropped.
  • Sie erstellen das Transaktionsprotokoll für eine Datenbank erfolgreich neu.You successfully rebuild the transaction log for a database.
  • Sie stellen eine Datenbanksicherung wieder her.You restore a database backup.
  • Sie trennen eine Datenbank.You detach a database.

Durch das Löschen des Plancaches wird eine Neukompilierung aller nachfolgenden Ausführungspläne verursacht, und möglicherweise entsteht plötzlich eine temporäre Verringerung der Abfrageleistung.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Das SQL ServerSQL Server-Fehlerprotokoll enthält für jeden geleerten Cachespeicher im Plancache folgende Infonachricht: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.For each cleared cache store in the plan cache, the SQL ServerSQL Server error log contains the following informational message: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. Diese Meldung wird alle fünf Minuten protokolliert, solange der Cache innerhalb dieses Zeitintervalls geleert wird.This message is logged every five minutes as long as the cache is flushed within that time interval.

BeispieleExamples

A.A. Festlegen von Optionen für eine DatenbankSetting options on a database

Im folgenden Beispiel werden die Optionen für das Wiederherstellungsmodell und die Datenseitenüberprüfung für die AdventureWorks2012AdventureWorks2012-Beispieldatenbank festgelegt.The following example sets the recovery model and data page verification options for the AdventureWorks2012AdventureWorks2012 sample database.

USE master;
GO
ALTER DATABASE [database_name]
SET RECOVERY FULL PAGE_VERIFY CHECKSUM;
GO

B.B. Festlegen der Datenbank auf READ_ONLYSetting the database to READ_ONLY

Für die Änderung des Status einer Datenbank oder Dateigruppe in READ_ONLY oder READ_WRITE wird der exklusive Zugriff auf die Datenbank benötigt.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. Im folgenden Beispiel wird die Datenbank auf den SINGLE_USER-Modus festgelegt, um exklusiven Zugriff zu erhalten.The following example sets the database to SINGLE_USER mode to obtain exclusive access. Anschließend wird in dem Beispiel der Status der AdventureWorks2012AdventureWorks2012-Datenbank auf READ_ONLY festgelegt und der Zugriff auf die Datenbank an alle Benutzer zurückgegeben.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

Hinweis

In diesem Beispiel wird die Beendigungsoption WITH ROLLBACK IMMEDIATE in der ersten ALTER DATABASE-Anweisung verwendet.This example uses the termination option WITH ROLLBACK IMMEDIATE in the first ALTER DATABASE statement. Für alle unvollständigen Transaktionen wird ein Rollback ausgeführt, und alle anderen Verbindungen zur AdventureWorks2012AdventureWorks2012-Datenbank werden sofort getrennt.All incomplete transactions will be rolled back and any other connections to the AdventureWorks2012AdventureWorks2012 database will be immediately disconnected.

USE master;
GO
ALTER DATABASE [database_name]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO

C.C. Aktivieren der Momentaufnahmeisolation für eine DatenbankEnabling snapshot isolation on a database

Im folgenden Beispiel wird die Option für das Momentaufnahmeisolations-Framework für die AdventureWorks2012AdventureWorks2012-Datenbank aktiviert.The following example enables the snapshot isolation framework option for the AdventureWorks2012AdventureWorks2012 database.

USE [database_name];
USE master;
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'[database_name]';
GO

Das Resultset zeigt, dass das Framework für die Momentaufnahmeisolation aktiviert ist.The result set shows that the snapshot isolation framework is enabled.

namename snapshot_isolation_statesnapshot_isolation_state descriptiondescription
[database_name][database_name] 11 EINON

D:D. Aktivieren, Ändern und Deaktivieren der ÄnderungsnachverfolgungEnabling, modifying, and disabling change tracking

Im folgenden Beispiel wird die Änderungsnachverfolgung für die AdventureWorks2012AdventureWorks2012-Datenbank aktiviert und die Aufbewahrungsdauer auf 2 Tage festgelegt.The following example enables change tracking for the AdventureWorks2012AdventureWorks2012 database and sets the retention period to 2 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

Das folgende Beispiel veranschaulicht, wie die Beibehaltungsdauer in 3 Tage geändert wird.The following example shows how to change the retention period to 3 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

Das folgende Beispiel veranschaulicht, wie die Änderungsnachverfolgung für die AdventureWorks2012AdventureWorks2012-Datenbank deaktiviert wird.The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

E.E. Aktivieren des AbfragespeichersEnabling the Query Store

Gilt für: SQL ServerSQL Server (ab SQL Server 2016 (13.x)SQL Server 2016 (13.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x))

Im folgenden Beispiel werden der Abfragespeicher aktiviert und dessen Parameter konfiguriert.The following example enables the Query Store and configures its parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      QUERY_CAPTURE_MODE = AUTO,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60
    );

F.F. Aktivieren des Abfragespeichers mit WartestatistikenEnabling the Query Store with wait statistics

Gilt für: SQL ServerSQL Server (ab SQL Server 2017 (14.x)SQL Server 2017 (14.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x))

Im folgenden Beispiel werden der Abfragespeicher aktiviert und dessen Parameter konfiguriert.The following example enables the Query Store and configures its parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
    );

G.G. Aktivieren des Abfragespeichers mit benutzerdefinierten ErfassungsrichtlinienoptionenEnabling the Query Store with custom capture policy options

Gilt für: SQL ServerSQL Server (ab SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))

Im folgenden Beispiel werden der Abfragespeicher aktiviert und dessen Parameter konfiguriert.The following example enables the Query Store and configures its parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
      QUERY_CAPTURE_MODE = CUSTOM,
      QUERY_CAPTURE_POLICY = (
        STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
        EXECUTION_COUNT = 30,
        TOTAL_COMPILE_CPU_TIME_MS = 1000,
        TOTAL_EXECUTION_CPU_TIME_MS = 100
      )
    );

Weitere InformationenSee Also

* SQL-Datenbank *  * SQL Database *  

 

SQL-DatenbankSQL Database

Kompatibilitätsgrade sind SET-Optionen, die jedoch unter ALTER DATABASE-Kompatibilitätsgrad beschrieben werden.Compatibility levels are SET options but are described in ALTER DATABASE Compatibility Level.

Hinweis

Viele DATABASE SET-Optionen können mithilfe von SET-Anweisungen konfiguriert werden; häufig werden sie bei der Verbindung von Anwendungen konfiguriert.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. Die ALTER DATABASE SET-Werte werden durch SET-Optionen auf Sitzungsebene überschrieben.Session-level set options override the ALTER DATABASE SET values. Die unten beschriebenen Datenbankoptionen entsprechen Werten, die für Sitzungen festgelegt werden können, von denen explizit keine weiteren Werte für SET-Optionen bereitgestellt werden.The database options described in the following sections are values that can be set for sessions that don't explicitly provide other set option values.

SyntaxSyntax

ALTER DATABASE { database_name | Current }
SET
{
    <option_spec> [ ,...n ] [ WITH <termination> ]
}
;

<option_spec> ::=
{
    <auto_option>
  | <automatic_tuning_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;

<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
    AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
  | AUTOMATIC_TUNING ( CREATE_INDEX = { DEFAULT | ON | OFF } )
  | AUTOMATIC_TUNING ( DROP_INDEX = { DEFAULT | ON | OFF } )
  | AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}

<change_tracking_option> ::=
{
    CHANGE_TRACKING
    {
        = OFF
      | = ON [ ( <change_tracking_option_list > [,...n] ) ]
      | ( <change_tracking_option_list> [,...n] )
    }
}

<change_tracking_option_list> ::=
   {
       AUTO_CLEANUP = { ON | OFF }
     | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
   }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}

<db_encryption_option> ::=
  ENCRYPTION { ON | OFF }

<db_update_option> ::=
  { READ_ONLY | READ_WRITE }

<db_user_access_option> ::=
  { RESTRICTED_USER | MULTI_USER }

<delayed_durability_option> ::= DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<parameterization_option> ::=
  PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
  QUERY_STORE
  {
      = OFF
    | = ON [ ( <query_store_option_list> [,... n] ) ]
    | ( < query_store_option_list> [,... n] )
    | CLEAR [ ALL ]
  }
}

<query_store_option_list> ::=
{
  OPERATION_MODE = { READ_WRITE | READ_ONLY }
  | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
  | DATA_FLUSH_INTERVAL_SECONDS = number
  | MAX_STORAGE_SIZE_MB = number
  | INTERVAL_LENGTH_MINUTES = number
  | SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
  | QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
  | MAX_PLANS_PER_QUERY = number
  | WAIT_STATS_CAPTURE_MODE = { ON | OFF }
  | QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}

<query_capture_policy_option_list> :: =
{
    STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
    | EXECUTION_COUNT = number
    | TOTAL_COMPILE_CPU_TIME_MS = number
    | TOTAL_EXECUTION_CPU_TIME_MS = number
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT {ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT {ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<termination>::=
{
    ROLLBACK AFTER integer [ SECONDS ]
  | ROLLBACK IMMEDIATE
  | NO_WAIT
}

<temporal_history_retention>::=TEMPORAL_HISTORY_RETENTION { ON | OFF }

ArgumenteArguments

database_name database_name
Der Name der Datenbank, die geändert werden soll.Is the name of the database to be modified.

CURRENTCURRENT
CURRENT führt die Aktion in der aktuellen Datenbank aus.CURRENT runs the action in the current database. CURRENT wird nicht in allen Kontexten für alle Optionen unterstützt.CURRENT isn't supported for all options in all contexts. Wenn CURRENT einen Fehler verursacht, geben Sie den Datenbanknamen an.If CURRENT fails, provide the database name.

<auto_option> ::= <auto_option> ::=
Steuert automatische Optionen.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
EINON
Der Abfrageoptimierer erstellt nach Bedarf Statistiken für einzelne Spalten in Abfrageprädikaten, um Abfragepläne sowie die Abfrageleistung zu verbessern.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Diese Statistiken für einzelne Spalten werden erstellt, wenn der Abfrageoptimierer Abfragen kompiliert.These single-column statistics are created when Query Optimizer compiles queries. Die Statistiken für einzelne Spalten werden nur für Spalten erstellt, die noch nicht der ersten Spalte eines vorhandenen Statistikobjekts entsprechen.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

Der Standardwert ist ON.The default is ON. Für die meisten Datenbanken empfiehlt sich die Verwendung der Standardeinstellung.We recommend that you use the default setting for most databases.

OFFOFF
Der Abfrageoptimierer erstellt beim Kompilieren von Abfragen keine Statistiken für einzelne Spalten in Abfrageprädikaten.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Das Festlegen dieser Option auf OFF kann zu suboptimalen Abfrageplänen und einer beeinträchtigten Abfrageleistung führen.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_auto_create_stats_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAutoCreateStatistics-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Weitere Informationen finden Sie im Abschnitt „Statistikoptionen“ unter Statistiken.For more information, see the "Statistics options" section in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Legen Sie AUTO_CREATE_STATISTICS auf ON und INCREMENTAL auf ON fest.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Diese Einstellung erstellt automatisch Statistiken als inkrementell, wann immer inkrementelle Statistiken unterstützt werden.This setting creates automatically created stats as incremental whenever incremental stats are supported. Der Standardwert ist OFF.The default value is OFF. Weitere Informationen finden Sie unter CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
EINON
Die Datenbankdateien sind Kandidaten für das periodische Verkleinern.The database files are candidates for periodic shrinking.

Sowohl Daten- als auch Protokolldateien können automatisch verkleinert werden.Both data file and log files can be automatically shrunk. AUTO_SHRINK reduziert die Größe des Transaktionsprotokolls nur, wenn Sie die Datenbank auf das SIMPLE-Wiederherstellungsmodell festlegen oder das Protokoll sichern.AUTO_SHRINK reduces the size of the transaction log only if you set the database to SIMPLE recovery model or if you back up the log. Ist diese Option auf OFF festgelegt, werden die Datenbankdateien während der periodisch ausgeführten Überprüfung auf nicht verwendeten Speicherplatz nicht automatisch verkleinert.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

Durch die Option AUTO_SHRINK werden Dateien dann verkleinert, wenn mehr als 25 Prozent der Datei aus nicht verwendetem Speicherplatz bestehen.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. Die Option bewirkt, dass die Datei, auf eine von zwei Größen verkleinert wird.The option causes the file to shrink to one of two sizes. Sie wird auf den jeweils größeren Wert verkleinert:It shrinks to whichever is larger:

  • die Größe, bei der 25 Prozent der Datei aus nicht verwendetem Speicherplatz bestehenThe size where 25 percent of the file is unused space
  • die Größe der Datei, als sie erstellt wurdeThe size of the file when it was created

Eine schreibgeschützte Datenbank kann nicht verkleinert werden.You can't shrink a read-only database.

OFFOFF
Die Datenbankdateien werden bei periodischen Prüfungen auf nicht verwendeten Speicherplatz nicht automatisch verkleinert.The database files are not automatically shrunk during periodic checks for unused space.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_auto_shrink_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAutoShrink-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Hinweis

Die AUTO_SHRINK-Option ist in einer eigenständigen Datenbank nicht verfügbar.The AUTO_SHRINK option isn't available in a contained database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
EINON
Gibt an, dass der Abfrageoptimierer Statistiken aktualisiert, wenn sie von einer Abfrage verwendet werden und veraltet sein könnten.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Statistiken sind veraltet, wenn die Datenverteilung in der Tabelle oder indizierten Sicht durch die Vorgänge INSERT, UPDATE, DELETE oder MERGE geändert wurde.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. Der Abfrageoptimierer stellt fest, wann Statistiken veraltet sein könnten, indem er die Anzahl von Datenänderungen seit der letzten Statistikaktualisierung ermittelt und sie mit einem Schwellenwert vergleicht.Query Optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. Der Schwellenwert basiert auf der Anzahl von Zeilen in der Tabelle oder indizierten Sicht.The threshold is based on the number of rows in the table or indexed view.

Bevor der Abfrageoptimierer eine Abfrage kompiliert und einen zwischengespeicherten Abfrageplan ausführt, sucht er nach veralteten Statistiken.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. Der Abfrageoptimierer ermittelt anhand der Spalten, Tabellen und indizierten Sichten im Abfrageprädikat, welche Statistiken veraltet sein könnten.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. Der Abfrageoptimierer ermittelt diese Informationen, bevor er eine Abfrage kompiliert.Query Optimizer determines this information before it compiles a query. Vor dem Ausführen eines zwischengespeicherten Abfrageplans stellt die Datenbank-EngineDatabase Engine sicher, dass der Abfrageplan auf aktuelle Statistiken verweist.Before running a cached query plan, the Datenbank-EngineDatabase Engine verifies that the query plan references up-to-date statistics.

Die AUTO_UPDATE_STATISTICS-Option gilt für Statistikobjekte, die für Indizes, einzelne Spalten in Abfrageprädikaten und mit der CREATE STATISTICS-Anweisung generierte Statistiken erstellt wurden.The AUTO_UPDATE_STATISTICS option applies to statistics created for indexes, single-columns in query predicates, and statistics that are created by using the CREATE STATISTICS statement. Diese Option gilt auch für gefilterte Statistiken.This option also applies to filtered statistics.

Der Standardwert ist ON.The default is ON. Für die meisten Datenbanken empfiehlt sich die Verwendung der Standardeinstellung.We recommend that you use the default setting for most databases.

Verwenden Sie die AUTO_UPDATE_STATISTICS_ASYNC-Option, um anzugeben, ob die Statistiken synchron oder asynchron aktualisiert werden.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Gibt an, dass der Abfrageoptimierer Statistiken nicht aktualisiert, wenn sie von einer Abfrage verwendet werden.Specifies that Query Optimizer doesn't update statistics when they're used by a query. Der Abfrageoptimierer aktualisiert Statistiken auch nicht, wenn sie veraltet sein könnten.Query Optimizer also doesn't update statistics when they might be out-of-date. Das Festlegen dieser Option auf OFF kann zu suboptimalen Abfrageplänen und einer beeinträchtigten Abfrageleistung führen.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_auto_update_stats_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAutoUpdateStatistics-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Weitere Informationen finden Sie im Abschnitt „Statistikoptionen“ unter Statistiken.For more information, see the "Statistics options" section in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
EINON
Gibt an, dass Statistikupdates für die AUTO_UPDATE_STATISTICS-Option asynchron sind.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. Der Abfrageoptimierer wartet nicht, bis Statistikaktualisierungen abgeschlossen sind, bevor Abfragen kompiliert werden.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

Das Festlegen dieser Option auf ON hat nur dann Auswirkungen, wenn AUTO_UPDATE_STATISTICS auf ON festgelegt ist.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Die AUTO_UPDATE_STATISTICS_ASYNC-Option ist standardmäßig auf OFF festgelegt, sodass der Abfrageoptimierer Statistiken synchron aktualisiert.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Gibt an, dass Statistikupdates für die AUTO_UPDATE_STATISTICS-Option synchron sind.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. Der Abfrageoptimierer wartet, bis Statistikupdates abgeschlossen sind, bevor Abfragen kompiliert werden.Query Optimizer waits for statistics updates to complete before it compiles queries.

Das Festlegen dieser Option auf OFF hat nur dann Auswirkungen, wenn AUTO_UPDATE_STATISTICS auf ON festgelegt ist.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_auto_update_stats_async_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_update_stats_async_on column in the sys.databases catalog view.

Weitere Informationen dazu, wann synchrone bzw. asynchrone Statistikupdates verwendet werden sollten, finden Sie im Abschnitt „Statistikoptionen“ unter Statistiken.For more information that describes when to use synchronous or asynchronous statistics updates, see the "Statistics options" section in Statistics.

<automatic_tuning_option> ::= <automatic_tuning_option> ::=
Gilt für: SQL Server 2017 (14.x)SQL Server 2017 (14.x)Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x)

Steuert automatische Optionen für die automatische Optimierung.Controls automatic options for Automatic tuning.

AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
AUTOAUTO
Durch Festlegen des Werts AUTOMATIC_TUNING auf AUTO werden die Azure-Konfigurationsstandards für die automatische Optimierung festgelegt.Setting the Automatic tuning value to AUTO will apply Azure configuration defaults for Automatic tuning.

INHERITINHERIT
Durch das Verwenden des Werts INHERIT wird die Standardkonfiguration vom übergeordneten Server geerbt.Using the INHERIT value inherits the default configuration from the parent server. Dies ist besonders nützlich, wenn Sie die Konfiguration für die automatische Optimierung auf einem übergeordneten Server anpassen möchten und alle Datenbanken auf dem Server diese benutzerdefinierten Einstellung erben sollen.This is especially useful if you would like to customize Automatic tuning configuration on a parent server, and have all the databases on such server INHERIT these custom settings. Beachten Sie, dass die drei Optimierungsoptionen FORCE_LAST_GOOD_PLAN, CREATE_INDEX und DROP_INDEX auf diesen Datenbanken auf DEFAULT festgelegt sein müssen, damit die Vererbung funktioniert.Please note that in order for the inheritance to work, the three individual tuning options FORCE_LAST_GOOD_PLAN, CREATE_INDEX and DROP_INDEX need to be set to DEFAULT on databases.

CUSTOMCUSTOM
Durch das Verwenden des CUSTOM-Werts müssen Sie alle in den Datenbanken verfügbaren Optionen für die automatische Optimierung benutzerdefiniert konfigurieren.Using the CUSTOM value, you'll need to custom-configure each of the Automatic Tuning options available on databases.

Aktiviert oder deaktiviert die automatische Indexverwaltungsoption CREATE_INDEX der automatischen Optimierung.Enables or disables automatic index management CREATE_INDEX option of Automatic tuning.

CREATE_INDEX = { DEFAULT | ON | OFF }CREATE_INDEX = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Standardeinstellungen werden vom Server geerbt.Inherits default settings from the server. In diesem Fall werden die Optionen für das Aktivieren oder Deaktivieren der einzelnen Features für die automatische Optimierung auf Serverebene definiert.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

EINON
Wenn diese Option aktiviert ist, werden fehlende Indizes automatisch für eine Datenbank generiert.When enabled, missing indexes are automatically generated on a database. Nach der Indexerstellung wird überprüft, ob sich die Leistung der Workload verbessert hat.Following the index creation, gains to the performance of the workload are verified. Wenn ein erstellter Index die Workloadleistung nicht mehr verbessert, wird er automatisch zurückgesetzt.When such created index no longer provides benefits to the workload performance, it's automatically reverted. Automatische erstellte Indizes werden als systemgenerierte Indizes gekennzeichnet.Indexes automatically created are flagged as a system generated indexed.

OFFOFF
Fehlende Indizes werden nicht automatisch in der Datenbank generiert.Doesn't automatically generate missing indexes on the database.

Aktiviert oder deaktiviert die automatische Indexverwaltungsoption DROP_INDEX der automatischen Optimierung.Enables or disables automatic index management DROP_INDEX option of Automatic Tuning.

DROP_INDEX = { DEFAULT | ON | OFF }DROP_INDEX = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Standardeinstellungen werden vom Server geerbt.Inherits default settings from the server. In diesem Fall werden die Optionen für das Aktivieren oder Deaktivieren der einzelnen Features für die automatische Optimierung auf Serverebene definiert.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

EINON
Indizes, die doppelt vorhanden sind oder nicht mehr für die Workloadleistung benötigt werden, werden automatisch gelöscht.Automatically drops duplicate or no longer useful indexes to the performance workload.

OFFOFF
Fehlende Indizes werden nicht automatisch für die Datenbank gelöscht.Doesn't automatically drop missing indexes on the database.

Aktiviert oder deaktiviert die automatische Plankorrekturoption FORCE_LAST_GOOD_PLAN der automatischen Optimierung.Enables or disables automatic plan correction FORCE_LAST_GOOD_PLAN option of Automatic tuning.

FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF }FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Standardeinstellungen werden vom Server geerbt.Inherits default settings from the server. In diesem Fall werden die Optionen für das Aktivieren oder Deaktivieren der einzelnen Features für die automatische Optimierung auf Serverebene definiert.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

EINON
Die Datenbank-EngineDatabase Engine erzwingt automatisch den neusten bekannten, geeigneten Plan bei Transact-SQLTransact-SQL-Abfragen, bei denen neue Abfragepläne negative Auswirkungen auf die Leistung haben.The Datenbank-EngineDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. Die Datenbank-EngineDatabase Engine überwacht regelmäßig die Abfrageleistung der Transact-SQLTransact-SQL-Abfrage mit dem erzwungenen Plan.The Datenbank-EngineDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan. Wenn die Leistung verbessert wurde, verwendet die Datenbank-EngineDatabase Engine weiterhin den neusten bekannten, geeigneten Plan.If there are performance gains, the Datenbank-EngineDatabase Engine will keep using last known good plan. Wenn die Leistung nicht verbessert wurde, erstellt die Datenbank-EngineDatabase Engine einen neuen Abfrageplan.If performance gains are not detected, the Datenbank-EngineDatabase Engine will produce a new query plan. Bei der Anweisung tritt ein Fehler auf, wenn der Abfragespeicher nicht aktiviert ist oder sich nicht im Lese-/Schreibmodus befindet.The statement will fail if the Query Store isn't enabled or if it's not in Read-Write mode.

OFFOFF
Die Datenbank-EngineDatabase Engine meldet potentielle Einbußen im Hinblick auf die Abfrageleistung, die von Änderungen des Abfrageplans in der sys.dm_db_tuning_recommendations-Sicht hervorgerufen werden könnten.The Datenbank-EngineDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Diese Empfehlungen werden allerdings nicht automatisch angewendet.However, these recommendations are not automatically applied. Benutzer können aktive Empfehlungen überwachen und ermittelte Probleme beheben, indem sie die in der Sicht aufgeführten Transact-SQLTransact-SQL-Skripts anwenden.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Dies ist der Standardwert.This is the default value.

<change_tracking_option> ::= <change_tracking_option> ::=
Steuert Änderungsnachverfolgungsoptionen.Controls change tracking options. Sie können die Änderungsnachverfolgung aktivieren, Optionen festlegen, Optionen ändern und die Änderungsnachverfolgung deaktivieren.You can enable change tracking, set options, change options, and disable change tracking. Beispiele hierzu finden Sie im Abschnitt „Beispiele“ weiter unten in diesem Artikel.For examples, see the "Examples" section later in this article.

EINON
Aktiviert die Änderungsnachverfolgung für die Datenbank.Enables change tracking for the database. Wenn die Änderungsnachverfolgung aktiviert wird, können auch die AUTO CLEANUP-Option und die CHANGE RETENTION-Option festgelegt werden.When you enable change tracking, you can also set the AUTO CLEANUP and CHANGE RETENTION options.

AUTO_CLEANUP = { ON | OFF }AUTO_CLEANUP = { ON | OFF }
EINON
Die Änderungsnachverfolgungsdaten werden nach der angegebenen Beibehaltungsdauer automatisch entfernt.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Die Änderungsnachverfolgungsdaten werden nicht aus der Datenbank entfernt.Change tracking data isn't removed from the database.

CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Gibt die Mindestdauer für die Beibehaltung von Änderungsnachverfolgungsdaten in der Datenbank an.Specifies the minimum period for keeping change tracking information in the database. Die Daten werden nur dann entfernt, wenn der Wert für AUTO_CLEANUP ON lautet.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period ist ein Integer, der die numerische Komponente der Vermerkdauer angibt.retention_period is an integer that specifies the numerical component of the retention period.

Die Standardbeibehaltungsdauer beträgt 2 Tage.The default retention period is 2 days. Die Mindestbeibehaltungsdauer ist 1 Minute.The minimum retention period is 1 minute. Der Standardtyp für die Beibehaltung ist DAYS.The default retention type is DAYS.

OFFOFF
Deaktiviert die Änderungsnachverfolgung für die Datenbank.Disables change tracking for the database. Deaktivieren Sie erst die Änderungsnachverfolgung für alle Tabellen, bevor Sie sie für die Datenbank deaktivieren.Disable change tracking on all tables before you disable change tracking off the database.

<cursor_option> ::= <cursor_option> ::=
Steuert Cursoroptionen.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
EINON
Alle beim Commit oder Rollback einer Transaktion geöffneten Cursor werden geschlossen.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Cursor bleiben beim Commit einer Transaktion geöffnet. Beim Rollback einer Transaktion werden alle Cursor geschlossen, sofern sie nicht als INSENSITIVE oder STATIC definiert sind.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für CURSOR_CLOSE_ON_COMMIT.Connection-level settings that are set by using the SET statement override the default database setting for CURSOR_CLOSE_ON_COMMIT. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die CURSOR_CLOSE_ON_COMMIT für die Sitzung auf OFF festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Sie können den Status dieser Option mithilfe der Spalte is_cursor_close_on_commit_on in der Katalogsicht sys.databases oder der IsCloseCursorsOnCommitEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion ermitteln.You can determine this option's status by examining the is_cursor_close_on_commit_on column in the sys.databases catalog view or the IsCloseCursorsOnCommitEnabled property of the DATABASEPROPERTYEX function. Die Zuordnung des Cursors wird implizit nur aufgehoben, wenn die Verbindung getrennt wird.The cursor is implicitly deallocated only at disconnect. Weitere Informationen finden Sie unter DECLARE CURSOR.For more information, see DECLARE CURSOR.

<db_encryption_option> ::= <db_encryption_option> ::=
Steuert den Status der Datenbankverschlüsselung.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }
Legt fest, ob die Datenbank verschlüsselt (ON) oder nicht verschlüsselt (OFF) werden soll.Sets the database to be encrypted (ON) or not encrypted (OFF). Weitere Informationen finden Sie unter Transparent Data Encryption und Transparent Data Encryption in Azure SQL-Datenbank.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Wenn die Verschlüsselung auf Datenbankebene aktiviert wird, werden alle Dateigruppen verschlüsselt.When encryption is enabled at the database level, all file groups will be encrypted. Alle neuen Dateigruppen erben die verschlüsselte Eigenschaft.Any new file groups will inherit the encrypted property. Wenn Dateigruppen in der Datenbank als READ ONLY festgelegt sind, tritt beim Datenbankverschlüsselungsvorgang ein Fehler auf.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Der Verschlüsselungsstatus der Datenbank wird mit der dynamischen Verwaltungssicht sys.dm_database_encryption_keys angezeigt.You can see the encryption state of the database by using the sys.dm_database_encryption_keys dynamic management view.

<db_update_option> ::= <db_update_option> ::=
Steuert, ob Updates für die Datenbank zugelassen sind.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Benutzer können Daten aus der Datenbank lesen, aber nicht ändern.Users can read data from the database but not modify it.

Hinweis

Um die Abfrageleistung zu verbessern, sollten Sie vor dem Festlegen einer Datenbank auf READ_ONLY die Statistiken aktualisieren.To improve query performance, update statistics before setting a database to READ_ONLY. Wenn weitere Statistiken benötigt werden, nachdem eine Datenbank auf READ_ONLY festgelegt wurde, erstellt das Datenbank-EngineDatabase Engine Statistiken in tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Datenbank-EngineDatabase Engine will create statistics in tempdb. Weitere Informationen zu Statistiken für eine schreibgeschützte Datenbank finden Sie unter Statistiken.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
Die Datenbank ist für Lese- und Schreibvorgänge verfügbar.The database is available for read and write operations.

Sie müssen über exklusiven Zugriff auf die Datenbank verfügen, um diesen Status zu ändern.To change this state, you must have exclusive access to the database. Weitere Informationen finden Sie unter der SINGLE_USER-Klausel.For more information, see the SINGLE_USER clause.

Hinweis

Bei Verbunddatenbanken in Azure SQL-DatenbankAzure SQL Database ist SET { READ_ONLY | READ_WRITE } deaktiviert.On Azure SQL-DatenbankAzure SQL Database federated databases, SET { READ_ONLY | READ_WRITE } is disabled.

<db_user_access_option> ::= <db_user_access_option> ::=
Steuert den Benutzerzugriff auf die Datenbank.Controls user access to the database.

RESTRICTED_USERRESTRICTED_USER
Ermöglicht nur Mitgliedern der festen Datenbankrolle db_owner und der festen Serverrollen dbcreator und sysadmin eine Verbindung mit der Datenbank, begrenzt jedoch nicht deren Anzahl.Allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but doesn't limit their number. Alle Verbindungen zur Datenbank werden in dem durch die Beendigungsklausel der ALTER DATABASE-Anweisung angegebenen Zeitraum getrennt.All connections to the database are disconnected in the timeframe specified by the termination clause of the ALTER DATABASE statement. Sobald die Datenbank in den Status RESTRICTED_USER gewechselt hat, werden Verbindungsversuche von nicht qualifizierten Benutzern abgelehnt.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused. RESTRICTED_USER kann nicht mit SQL Managed Instance geändert werden.RESTRICTED_USER can't be modified with SQL Managed Instance.

MULTI_USERMULTI_USER
Alle Benutzer, die über die entsprechenden Berechtigungen für die Verbindung mit der Datenbank verfügen, sind zugelassen.All users that have the appropriate permissions to connect to the database are allowed.

Sie können den Status dieser Option mithilfe der Spalte user_access in der Katalogsicht sys.databases oder der UserAccess-Eigenschaft der DATABASEPROPERTYEX-Funktion ermitteln.You can determine this option's status by examining the user_access column in the sys.databases catalog view or the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::= <delayed_durability_option> ::=
Steuert, ob für Transaktionen ein Commit mit vollständiger oder verzögerter Dauerhaftigkeit ausgeführt wird.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Alle Transaktionen nach SET DISABLED sind vollständig dauerhaft.All transactions following SET DISABLED are fully durable. Alle Dauerhaftigkeitsoptionen, die in einem Atomic-Block oder einer Commitanweisung festgelegt sind, werden ignoriert.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Alle Transaktionen nach SET ALLOWED sind abhängig von der im atomischen Block oder der Commitanweisung festgelegten Dauerhaftigkeitsoption entweder vollständig dauerhaft oder verzögert dauerhaft.All transactions following SET ALLOWED are either fully durable or delayed durable, depending upon the durability option set in the atomic block or commit statement.

FORCEDFORCED
Alle Transaktionen nach SET FORCED sind verzögert dauerhaft.All transactions following SET FORCED are delayed durable. Alle Dauerhaftigkeitsoptionen, die in einem Atomic-Block oder einer Commitanweisung festgelegt sind, werden ignoriert.Any durability options set in an atomic block or commit statement are ignored.

<PARAMETERIZATION_option> ::= <PARAMETERIZATION_option> ::=
Steuert die Parametrisierungsoption.Controls the parameterization option.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Abfragen werden basierend auf dem Standardverhalten der Datenbank parametrisiert.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server parametrisiert alle Abfragen in der Datenbank.parameterizes all queries in the database.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte is_parameterization_forced in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the is_parameterization_forced column in the sys.databases catalog view.

<query_store_options> ::=<query_store_options> ::=

ON | OFF | CLEAR [ ALL ]ON | OFF | CLEAR [ ALL ]
Überprüft, ob der Abfragespeicher in dieser Datenbank aktiviert ist, und steuert außerdem das Entfernen des Inhalts des Abfragespeichers.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store.

EINON
Aktiviert den Abfragespeicher.Enables the Query Store. ON ist der Standardwert.ON is the default value.

OFFOFF
Deaktiviert den Abfragespeicher.Disables the Query Store.

Hinweis

In Azure SQL-DatenbankAzure SQL Database mit einer Einzeldatenbank oder einem Pool für elastische Datenbanken kann der Abfragespeicher nicht deaktiviert werden.Query Store cannot be disabled in Azure SQL-DatenbankAzure SQL Database single database and Elastic Pool. Beim Ausführen von ALTER DATABASE [database] SET QUERY_STORE = OFF wird die Warnung 'QUERY_STORE=OFF' is not supported in this version of SQL Server. zurückgegeben.Executing ALTER DATABASE [database] SET QUERY_STORE = OFF will return the warning 'QUERY_STORE=OFF' is not supported in this version of SQL Server..

CLEARCLEAR
Entfernt den Inhalt des Abfragespeichers.Remove the contents of the Query Store.

OPERATION_MODEOPERATION_MODE
Beschreibt den Betriebsmodus des Abfragespeichers.Describes the operation mode of the Query Store. Gültige Werte sind READ_ONLY und READ_WRITE.Valid values are READ_ONLY and READ_WRITE. Im Modus READ_WRITE sammelt und speichert der Abfragespeicher Angaben zum Abfrageplan und statistische Informationen zur Laufzeitausführung.In READ_WRITE mode, the Query Store collects and persists query plan and runtime execution statistics information. Im Modus READ_ONLY können Informationen aus dem Abfragespeicher gelesen werden, es werden jedoch keine neuen Informationen hinzugefügt.In READ_ONLY mode, information can be read from the Query Store, but new information isn't added. Wenn die maximale Speicherplatzbelegung des Abfragespeichers ausgelastet ist, wird der Betriebsmodus in READ_ONLY geändert.If the maximum allocated space of the Query Store has been exhausted, the Query Store will change is operation mode to READ_ONLY.

CLEANUP_POLICYCLEANUP_POLICY
Beschreibt die Datenaufbewahrungsrichtlinie des Abfragespeichers.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS bestimmt die Anzahl an Tagen, für die die Informationen für eine Abfrage im Abfragespeicher aufbewahrt werden.STALE_QUERY_THRESHOLD_DAYS determines the number of days for which the information for a query is kept in the Query Store. STALE_QUERY_THRESHOLD_DAYS weist den Typ bigint auf.STALE_QUERY_THRESHOLD_DAYS is type bigint. Der Standardwert ist 30.The default value is 30. Für die Basic Edition von SQL-DatenbankSQL Database ist der Standardwert 7 Tage.For SQL-DatenbankSQL Database Basic edition, default is 7 days.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Bestimmt die Häufigkeit, mit der in den Abfragespeicher geschriebene Daten auf Datenträger gespeichert werden.Determines the frequency at which data written to the Query Store is persisted to disk. Um die Leistung zu optimieren, werden durch den Abfragespeicher gesammelte Daten asynchron auf den Datenträger geschrieben.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. Die Häufigkeit, mit der diese asynchrone Übertragung stattfindet, wird mit dem Argument DATA_FLUSH_INTERVAL_SECONDS konfiguriert.The frequency at which this asynchronous transfer occurs is configured by using the DATA_FLUSH_INTERVAL_SECONDS argument. DATA_FLUSH_INTERVAL_SECONDS weist den Typ bigint auf.DATA_FLUSH_INTERVAL_SECONDS is type bigint. Der Standardwert ist 900 (15 Minuten).The default value is 900 (15 min).

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Bestimmt den Speicherplatz, der vom Abfragespeicher belegt wird.Determines the space allocated to the Query Store. MAX_SIZE_MB weist den Typ bigint auf.MAX_STORAGE_SIZE_MB is type bigint. Der Standardwert für die Premium Edition von SQL-DatenbankSQL Database liegt bei 1 GB, für die Basic Edition von SQL-DatenbankSQL Database bei 10 MB.For SQL-DatenbankSQL Database Premium edition, default is 1 GB and for SQL-DatenbankSQL Database Basic edition, default is 10 MB.

Hinweis

Die Grenze für die Einstellung MAX_STORAGE_SIZE_MB ist bei Azure SQL-DatenbankAzure SQL Database 10.240 MB.MAX_STORAGE_SIZE_MB setting limit is 10,240 MB on Azure SQL-DatenbankAzure SQL Database.

Hinweis

Die Begrenzung MAX_STORAGE_SIZE_MB wird nicht streng erzwungen.MAX_STORAGE_SIZE_MB limit isn't strictly enforced. Die Speichergröße wird nur überprüft, wenn der Abfragespeicher Daten auf einen Datenträger schreibt.Storage size is checked only when Query Store writes data to disk. Dieses Intervall wird durch die Option DATA_FLUSH_INTERVAL_SECONDS oder die Option Datenleerungsintervall im Dialogfeld des Management StudioManagement Studio-Abfragespeichers festgelegt.This interval is set by the DATA_FLUSH_INTERVAL_SECONDS option or the Management StudioManagement Studio Query Store dialog box option Data Flush Interval. Der Standardwert des Intervalls liegt bei 900 Sekunden (oder 15 Minuten).The interval default value is 900 seconds (or 15 minutes). Wenn der Abfragespeicher die Begrenzung MAX_STORAGE_SIZE_MB zwischen Speichergrößenüberprüfungen überschritten hat, wechselt er in den schreibgeschützten Modus.If the Query Store has breached the MAX_STORAGE_SIZE_MB limit between storage size checks, it will transition to read-only mode. Bei Aktivierung von SIZE_BASED_CLEANUP_MODE wird auch der Bereinigungsmechanismus zum Erzwingen der Begrenzung MAX_STORAGE_SIZE_MB ausgelöst.If SIZE_BASED_CLEANUP_MODE is enabled, the cleanup mechanism to enforce the MAX_STORAGE_SIZE_MB limit is also triggered. Sobald ausreichend Speicherplatz befreit wurde, wird der Abfragespeichermodus automatisch in den Lese-/Schreibmodus gewechselt.Once enough space has been cleared, the Query Store mode will automatically switch back to read-write.

Wichtig

Wenn Sie glauben, dass für Ihre Arbeitsauslastungserfassung mehr als 10 GB Speicherplatz benötigt werden, sollten Sie vermutlich die Arbeitsauslastung überdenken und optimieren, um Abfragepläne wiederzuverwenden (z. B. mithilfe von erzwungener Parametrisierung), oder die Abfragespeicherkonfigurationen anpassen.If you think that your workload capture will need more than 10 GB of disk space, you should probably rethink and optimize your workload to reuse query plans (for example using forced parameterization, or adjust the Query Store configurations.
Ab SQL Server 2019 (15.x)SQL Server 2019 (15.x) und in Azure SQL-DatenbankAzure SQL Database können Sie für zusätzliche Kontrolle über die Abfrageerfassungsrichtlinie QUERY_CAPTURE_MODE auf CUSTOM festlegen.Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x) and in Azure SQL-DatenbankAzure SQL Database, you can set QUERY_CAPTURE_MODE to CUSTOM for additional control over the query capture policy.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Bestimmt das Zeitintervall, mit dem statistische Daten zur Laufzeitausführung im Abfragespeicher aggregiert werden.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Um die Speicherverwendung zu optimieren, werden die statistischen Daten zur Laufzeitausführung im Speicher für Laufzeitstatistiken über ein festes Zeitfenster aggregiert.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Dieses feste Zeitfenster wird mit dem Argument INTERVAL_LENGTH_MINUTES konfiguriert.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES weist den Typ bigint auf.INTERVAL_LENGTH_MINUTES is type bigint. Der Standardwert lautet 60.The default value is 60.

SIZE_BASED_CLEANUP_MODESIZE_BASED_CLEANUP_MODE
Steuert, ob die Bereinigung automatisch aktiviert wird, wenn sich die Gesamtmenge der Daten der maximalen Größe nähert.Controls whether cleanup will be automatically activated when the total amount of data gets close to maximum size.

OFFOFF
Eine auf der Größe basierte Bereinigung wird nicht automatisch aktiviert.Size-based cleanup won't be automatically activated.

AUTOAUTO
Eine auf der Größe basierende Bereinigung wird automatisch aktiviert, wenn die Größe auf dem Datenträger 90 Prozent von max_storage_size_mb übersteigt.Size-based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. Ein auf der Größe basierendes Cleanup entfernt die am wenigsten aufwendigen und die ältesten Abfragen.Size-based cleanup removes the least expensive and oldest queries first. Bei ungefähr 80 Prozent von max_storage_size_mb wird dieser Vorgang angehalten.It stops at approximately 80% of max_storage_size_mb. Dies ist der Standardkonfigurationswert.This is the default configuration value.

SIZE_BASED_CLEANUP_MODE ist vom Typ nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODE {ALL | AUTO | CUSTOM | NONE}QUERY_CAPTURE_MODE { ALL | AUTO | CUSTOM | NONE }
Bestimmt den zum aktuellen Zeitpunkt aktiven Abfrageerfassungsmodus.Designates the currently active query capture mode. Für jeden Modus sind bestimmte Abfrageerfassungsrichtlinien definiert.Each mode defines specific query capture policies.

Hinweis

Cursor, Abfragen in gespeicherten Prozeduren und nativ kompilierte Abfragen werden immer erfasst, wenn der Abfrageerfassungsmodus auf ALL, AUTO oder CUSTOM festgelegt ist.Cursors, queries inside Stored Procedures, and Natively compiled queries are always captured when the query capture mode is set to ALL, AUTO, or CUSTOM.

ALLALL
Erfasst alle Abfragen.Captures all queries.

AUTOAUTO
Relevante Abfragen werden anhand der Ausführungsanzahl und des Ressourcenverbrauchs erfasst.Capture relevant queries based on execution count and resource consumption. Dies ist der Standardkonfigurationswert für Azure SQL-DatenbankAzure SQL Database.This is the default configuration value for Azure SQL-DatenbankAzure SQL Database.

KeineNONE
Es werden keine weiteren neuen Abfragen erfasst.Stop capturing new queries. Der Abfragespeicher sammelt weiterhin Statistiken zur Kompilierung und Runtime für Abfragen, die bereits erfasst wurden.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Verwenden Sie diese Konfiguration mit Bedacht, da dadurch möglicherweise wichtige Abfragen verloren gehen.Use this configuration with caution since you may miss capturing important queries.

CUSTOMCUSTOM
Ermöglicht die Kontrolle über die QUERY_CAPTURE_POLICY-Optionen.Allows control over the QUERY_CAPTURE_POLICY options.

QUERY_CAPTURE_MODE ist vom Typ nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Definiert die maximale Anzahl von Plänen, die für jede Abfrage beibehalten werden.Defines the maximum number of plans maintained for each query. MAX_PLANS_PER_QUERY ist vom Typ int. Der Standardwert ist 200.MAX_PLANS_PER_QUERY is type int. The default value is 200.

WAIT_STATS_CAPTURE_MODE { ON | OFF }WAIT_STATS_CAPTURE_MODE { ON | OFF }
Steuert, ob Wartestatistiken pro Abfrage erfasst werdenControls whether wait statistics will be captured per query.

EINON
Wartestatistikinformationen pro Abfrage werden erfasst.Wait statistics information per query is captured. Dies ist der Standardkonfigurationswert.This value is the default configuration value.

OFFOFF
Wartestatistikinformationen pro Abfrage werden nicht erfasst.Wait statistics information per query won't be captured.

<query_capture_policy_option_list> :: = <query_capture_policy_option_list> :: =
Steuert die Optionen für die Erfassungsrichtlinie des Abfragespeichers.Controls the Query Store capture policy options. Mit Ausnahme von STALE_CAPTURE_POLICY_THRESHOLD definieren diese Optionen die OR-Bedingungen, die auftreten müssen, damit Abfragen im definierten STALE_CAPTURE_POLICY_THRESHOLD-Wert erfasst werden.Except for STALE_CAPTURE_POLICY_THRESHOLD, these options define the OR conditions that need to happen for queries to be captured in the defined Stale Capture Policy Threshold value.

STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
Definiert den Zeitraum des Auswertungsintervalls um zu bestimmen, ob eine Abfrage erfasst werden sollte.Defines the evaluation interval period to determine if a query should be captured. Der Standardwert ist 1 Tag. Sie können Werte zwischen 1 Stunde und sieben Tagen festlegen.The default is 1 day, and it can be set from 1 hour to seven days. number ist vom Datentyp int.number is type int.

EXECUTION_COUNTEXECUTION_COUNT
Definiert die Häufigkeit, mit der eine Abfrage im Auswertungszeitraum ausgeführt wird.Defines the number of times a query is executed over the evaluation period. Der Standardwert ist 30, was bedeutet, dass für den Stale Capture Policy Threshold-Standardwert eine Abfrage mindestens 30 Mal an einem Tag ausgeführt werden muss, um im Abfragespeicher persistent gespeichert zu werden.The default is 30, which means that for the default Stale Capture Policy Threshold, a query must execute at least 30 times in one day to be persisted in the Query Store. EXECUTION_COUNT ist vom Typ int.EXECUTION_COUNT is type int.

TOTAL_COMPILE_CPU_TIME_MSTOTAL_COMPILE_CPU_TIME_MS
Definiert die gesamte verstrichene Kompilierungs-CPU-Zeit, die eine Abfrage über den Auswertungszeitraum in Anspruch nimmt.Defines total elapsed compile CPU time used by a query over the evaluation period. Der Standardwert ist 1000, was bedeutet, dass für den Stale Capture Policy Threshold-Standardwert eine Abfrage insgesamt mindestens eine Sekunde CPU-Zeit während der Abfragekompilierung an einem Tag verbraucht haben muss, um im Abfragespeicher persistent gespeichert zu werden.The default is 1000 which means that for the default Stale Capture Policy Threshold, a query must have a total of at least one second of CPU time spent during query compilation in one day to be persisted in the Query Store. TOTAL_COMPILE_CPU_TIME_MS ist vom Typ int.TOTAL_COMPILE_CPU_TIME_MS is type int.

TOTAL_EXECUTION_CPU_TIME_MSTOTAL_EXECUTION_CPU_TIME_MS
Definiert die gesamte verstrichene Ausführungs-CPU-Zeit, die eine Abfrage über den Auswertungszeitraum in Anspruch nimmt.Defines total elapsed execution CPU time used by a query over the evaluation period. Der Standardwert ist 100, was bedeutet, dass für den Stale Capture Policy Threshold-Standardwert eine Abfrage insgesamt mindestens 100 ms CPU-Zeit während der Ausführung an einem Tag verbraucht haben muss, um im Abfragespeicher persistent gespeichert zu werden.The default is 100 which means that for the default Stale Capture Policy Threshold, a query must have a total of at least 100 ms of CPU time spent during execution in one day to be persisted in the Query Store. TOTAL_EXECUTION_CPU_TIME_MS ist vom Typ int.TOTAL_EXECUTION_CPU_TIME_MS is type int.

<snapshot_option> ::= <snapshot_option> ::=
Bestimmt die Isolationsstufe für Transaktionen.Determines the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
EINON
Aktiviert die Momentaufnahmeoption auf Datenbankebene.Enables Snapshot option at the database level. Wenn die Option aktiviert ist, beginnen DML-Anweisungen mit der Generierung von Zeilenversionen, auch wenn keine Transaktion die Momentaufnahmeisolation verwendet.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Sobald diese Option aktiviert ist, können Transaktionen die SNAPSHOT-Transaktionsisolationsstufe angeben.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Wenn eine Transaktion auf der SNAPSHOT-Isolationsebene ausgeführt wird, sehen alle Anweisungen eine Momentaufnahme der Daten, wie sie beim Start der Transaktion vorlagen.When a transaction runs at the SNAPSHOT isolation level, all statements see a snapshot of data as it exists at the start of the transaction. Greift eine Transaktion, die auf der SNAPSHOT-Isolationsstufe ausgeführt wird, auf Daten in mehreren Datenbanken zu, muss entweder in allen Datenbanken ALLOW_SNAPSHOT_ISOLATION auf ON festgelegt sein oder jede Anweisung in der Transaktion muss Sperrhinweise für alle Verweise in einer FROM-Klausel verwenden, die auf eine Tabelle in einer Datenbank verweisen, bei der ALLOW_SNAPSHOT_ISOLATION auf OFF festgelegt ist.If a transaction running at the SNAPSHOT isolation level accesses data in multiple databases, either ALLOW_SNAPSHOT_ISOLATION must be set to ON in all the databases, or each statement in the transaction must use locking hints on any reference in a FROM clause to a table in a database where ALLOW_SNAPSHOT_ISOLATION is OFF.

OFFOFF
Deaktiviert die Momentaufnahmeoption auf Datenbankebene.Turns off the Snapshot option at the database level. Transaktionen können die SNAPSHOT-Isolationsstufe für Transaktionen nicht angeben.Transactions can't specify the SNAPSHOT transaction isolation level.

Wenn Sie ALLOW_SNAPSHOT_ISOLATION auf einen neuen Status festlegen (von ON zu OFF oder von OFF zu ON), gibt ALTER DATABASE die Kontrolle erst dann an den Aufrufer zurück, wenn ein Commit aller bestehenden Transaktionen in der Datenbank ausgeführt wurde.When you set ALLOW_SNAPSHOT_ISOLATION to a new state (from ON to OFF, or from OFF to ON), ALTER DATABASE doesn't return control to the caller until all existing transactions in the database are committed. Hat die Datenbank bereits den in der ALTER DATABASE-Anweisung angegebenen Status, wird die Kontrolle direkt an den Aufrufer zurückgegeben.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Wenn keine schnelle Rückgabe durch die ALTER DATABASE-Anweisung erfolgt, verwenden Sie sys.dm_tran_active_snapshot_database_transactions, um zu bestimmen, ob lang andauernde Transaktionen vorhanden sind.If the ALTER DATABASE statement doesn't return quickly, use sys.dm_tran_active_snapshot_database_transactions to determine whether there are long-running transactions. Wird die ALTER DATABASE-Anweisung abgebrochen, bleibt die Datenbank in dem Status, in dem sie sich vor dem Start von ALTER DATABASE befand.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. In der sys.databases-Katalogsicht wird der Status von Isolationstransaktionen von Momentaufnahmen in der Datenbank angegeben.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Ist snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, wird ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF für 6 Sekunden angehalten und der Vorgang anschließend wiederholt.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Sie können den Status von ALLOW_SNAPSHOT_ISOLATION nicht ändern, wenn die Datenbank OFFLINE ist.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Wenn Sie ALLOW_SNAPSHOT_ISOLATION in einer READ_ONLY-Datenbank festlegen, wird die Einstellung gespeichert, wenn die Datenbank später auf READ_WRITE festgelegt wird.If you set ALLOW_SNAPSHOT_ISOLATION in a READ_ONLY database, the setting will be kept if the database is later set to READ_WRITE.

Sie können die ALLOW_SNAPSHOT_ISOLATION-Einstellungen für die Datenbanken master, model, msdb und tempdb ändern.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. Wenn Sie die Einstellung für tempdb ändern, wird die Einstellung jedes Mal beibehalten, wenn die Instanz von Datenbank-EngineDatabase Engine beendet und neu gestartet wird.The setting is kept every time the instance of the Datenbank-EngineDatabase Engine is stopped and restarted if you change the setting for tempdb. Wenn Sie die Einstellung für model ändern, wird die Einstellung zur Standardeinstellung für alle neu erstellten Datenbanken, mit Ausnahme von tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

Die Option hat für die Datenbanken master und msdb die Standardeinstellung ON.The option is ON, by default, for the master and msdb databases.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte snapshot_isolation_state in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }
EINON
Aktiviert die Option READ COMMITTED-Snapshot auf Datenbankebene.Enables Read-Committed Snapshot option at the database level. Wenn die Option aktiviert ist, beginnen DML-Anweisungen mit der Generierung von Zeilenversionen, auch wenn keine Transaktion die Momentaufnahmeisolation verwendet.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Sobald diese Option aktiviert ist, verwenden Transaktionen, die die READ COMMITTED-Isolationsstufe angeben, anstelle von Sperren die Zeilenversionsverwaltung.Once this option is enabled, the transactions specifying the READ COMMITTED isolation level use row versioning instead of locking. Wenn eine Transaktion auf der READ COMMITTED-Isolationsstufe ausgeführt wird, sehen alle Anweisungen eine Momentaufnahme der Daten, wie sie beim Start der Anweisung vorlagen.All statements see a snapshot of data as it exists at the start of the statement when a transaction runs at the READ COMMITTED isolation level.

OFFOFF
Deaktiviert die Option READ COMMITTED-Snapshot auf Datenbankebene.Turns off Read-Committed Snapshot option at the database level. Transaktionen, die die READ COMMITTED-Isolationsstufe angeben, verwenden Sperren.Transactions specifying the READ COMMITTED isolation level use locking.

Wenn READ_COMMITTED_SNAPSHOT auf ON oder OFF festgelegt werden soll, dürfen außer der Verbindung, die den ALTER DATABASE-Befehl ausführt, keine aktiven Verbindungen zur Datenbank bestehen.To set READ_COMMITTED_SNAPSHOT ON or OFF, there must be no active connections to the database except for the connection running the ALTER DATABASE command. Die Datenbank muss sich jedoch nicht im Einzelbenutzermodus befinden.However, the database doesn't have to be in single-user mode. Sie können den Status dieser Option nicht ändern, wenn die Datenbank OFFLINE ist.You can't change the state of this option when the database is OFFLINE.

Wenn Sie READ_COMMITTED_SNAPSHOT in einer READ_ONLY-Datenbank festlegen, wird die Einstellung beibehalten, wenn die Datenbank später auf READ_WRITE festgelegt wird.If you set READ_COMMITTED_SNAPSHOT in a READ_ONLY database, the setting will be kept when the database is later set to READ_WRITE.

READ_COMMITTED_SNAPSHOT kann für die Systemdatenbanken master, tempdb oder msdb nicht auf ON festgelegt werden.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Wenn Sie die Einstellung für model ändern, wird die Einstellung zur Standardeinstellung für alle neu erstellten Datenbanken, mit Ausnahme von tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte is_read_committed_snapshot_on in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the is_read_committed_snapshot_on column in the sys.databases catalog view.

Warnung

Wenn eine Tabelle mit DURABILITY = SCHEMA_ONLY erstellt wird und READ_COMMITTED_SNAPSHOT anschließend mithilfe von ALTER DATABASE geändert wird, gehen die in der Tabelle enthaltenen Daten verloren.When a table is created with DURABILITY = SCHEMA_ONLY, and READ_COMMITTED_SNAPSHOT is subsequently changed using ALTER DATABASE, data in the table will be lost.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
EINON
Wenn die Isolationsstufe für Transaktionen auf eine niedrigere Isolationsstufe als SNAPSHOT festgelegt wird, werden alle interpretierten Transact-SQLTransact-SQL-Vorgänge für speicheroptimierte Tabelle unter der Isolationsstufe SNAPSHOT ausgeführt.When the transaction isolation level is set to any isolation level lower than SNAPSHOT, all interpreted Transact-SQLTransact-SQL operations on memory-optimized tables are run under SNAPSHOT isolation. Beispiele für Isolationsstufen, die niedriger als SNAPSHOT sind, sind READ COMMITTED oder READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Diese Vorgänge erfolgen ungeachtet des Umstands, ob die Transaktionsisolationsstufe explizit auf der Sitzungsebene festgelegt ist, oder ob implizit die Standardeinstellung verwendet wird.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
Erhöht nicht die Isolationsstufe für Transaktionen für interpretierte Transact-SQLTransact-SQL-Vorgänge für speicheroptimierte Tabellen.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Sie können den Status von MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT nicht ändern, wenn die Datenbank OFFLINE ist.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

Der Standardwert ist OFF.The default value is OFF.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte is_memory_optimized_elevate_to_snapshot_on in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the is_memory_optimized_elevate_to_snapshot_on column in the sys.databases catalog view.

<sql_option> ::= <sql_option> ::=
Steuert die ANSI-Kompatibilitätsoptionen auf der Datenbankebene.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Legt den Standardwert (NULL oder NOT NULL) einer Spalte oder CLR user-defined type fest, für den die NULL-Zulässigkeit nicht explizit in den CREATE TABLE- oder ALTER TABLE-Anweisungen festgelegt wurde.Determines the default value, NULL or NOT NULL, of a column or CLR user-defined type for which the nullability isn't explicitly defined in CREATE TABLE or ALTER TABLE statements. Spalten, die mit Einschränkungen definiert werden, folgen den Einschränkungsregeln, egal wie diese Einstellung lautet.Columns that are defined with constraints follow constraint rules whatever this setting may be.

EINON
Der Standardwert ist NULL.The default value is NULL.

OFFOFF
Der Standardwert ist NOT NULL.The default value is NOT NULL.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_NULL_DEFAULT für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Für die ANSI-Kompatibilität wird durch Festlegen der Datenbankoption ANSI_NULL_DEFAULT auf ON der Datenbankstandardwert auf NULL geändert.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_null_default_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiNullDefault-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiNullDefault property of the DATABASEPROPERTYEX function.

ANSI_NULLS { ON | OFF }ANSI_NULLS { ON | OFF }
EINON
Alle Vergleiche mit einem Nullwert ergeben UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Vergleiche von Nicht-UNICODE-Werten mit einem Nullwert ergeben TRUE, wenn beide Werte NULL sind.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Wichtig

In einer späteren Version von SQL ServerSQL Server wird ANSI_NULLS immer auf ON festgelegt, und jede Anwendung, für die die Option explizit auf OFF festgelegt wird, löst einen Fehler aus.In a future version of SQL ServerSQL Server, ANSI_NULLS will always be ON and any applications that explicitly set the option to OFF will produce an error. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_NULLS für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Hinweis

SET ANSI_NULLS muss ebenfalls auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_nulls_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiNullsEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiNullsEnabled property of the DATABASEPROPERTYEX function.

ANSI_PADDING { ON | OFF }ANSI_PADDING { ON | OFF }
EINON
Zeichenfolgen werden vor der Konvertierung auf dieselbe Länge aufgefüllt.Strings are padded to the same length before conversion. Sie werden auch vor dem Einfügen in einen varchar- oder nvarchar-Datentyp durch Einfügen von Leerstellen auf dieselbe Länge gebracht.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Fügt nachfolgende Leerräume in Zeichenwerte in varchar oder nvarchar-Spalten ein.Inserts trailing blanks in character values into varchar or nvarchar columns. Belässt außerdem nachfolgende Nullen in Binärwerten, die in varbinary-Spalten eingefügt werden.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Werte werden nicht bis zur Spaltenlänge aufgefüllt.Values aren't padded to the length of the column.

Ist OFF festgelegt, wirkt sich diese Einstellung nur auf die Definition neuer Spalten aus.When OFF is specified, this setting affects only the definition of new columns.

Wichtig

In einer späteren Version von SQL ServerSQL Server wird ANSI_PADDING immer auf ON festgelegt, und jede Anwendung, für die die Option explizit auf OFF festgelegt ist, löst einen Fehler aus.In a future version of SQL ServerSQL Server, ANSI_PADDING will always be ON and any applications that explicitly set the option to OFF will produce an error. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Es wird empfohlen, für ANSI_PADDING stets den Wert ON festzulegen.We recommend that you always set ANSI_PADDING to ON. ANSI_PADDING muss beim Erstellen oder Bearbeiten von Indizes für berechnete Spalten oder indizierte Sichten auf ON festgelegt sein.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

char(n) - und binary(n) -Spalten, die NULL-Werte zulassen, werden bis zur Spaltenlänge aufgefüllt, wenn ANSI_PADDING auf ON festgelegt ist.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Ist ANSI_PADDING hingegen auf OFF festgelegt, werden nachfolgende Leerzeichen und Nullen abgeschnitten.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. char(n) - und binary(n) -Spalten, die keine NULL-Werte zulassen, werden immer bis zur Spaltenlänge aufgefüllt.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_PADDING für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_padding_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiPaddingEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiPaddingEnabled property of the DATABASEPROPERTYEX function.

ANSI_WARNINGS { ON | OFF }ANSI_WARNINGS { ON | OFF }
EINON
Fehler und Warnungen werden ausgegeben, wenn z.B. ein Fehler wegen „Division durch Null“ auftritt.Errors or warnings are issued when conditions such as divide-by-zero occur. Fehler oder Warnungen werden ebenfalls ausgegeben, wenn Nullwerte in Aggregatfunktionen auftreten.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Bei Bedingungen wie einer Division durch Null werden keine Warnungen ausgegeben, und Nullwerte werden zurückgegeben.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Hinweis

SET ANSI_WARNINGS muss auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_WARNINGS für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_warnings_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiWarningsEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
EINON
Eine Abfrage wird beendet, wenn während der Abfrage ein Überlauffehler oder ein Fehler aufgrund einer Division durch Null auftritt.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Eine Warnmeldung wird angezeigt, wenn einer dieser Fehler auftritt.A warning message is displayed when one of these errors occurs. Die Verarbeitung der Abfrage, des Batches oder der Transaktion wird fortgesetzt, als wäre kein Fehler aufgetreten, selbst wenn eine Warnung angezeigt wird.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Hinweis

SET ARITHABORT muss auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_arithabort_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsArithmeticAbortEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsArithmeticAbortEnabled property of the DATABASEPROPERTYEX function.

COMPATIBILITY_LEVEL = {150 | 140 | 130 | 120 | 110 | 100}COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
Weitere Informationen finden Sie unter ALTER DATABASE-Kompatibilitätsgrad.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
EINON
Das Ergebnis einer Verkettungsoperation ist NULL, wenn einer der Operanden NULL ist.The result of a concatenation operation is NULL when either operand is NULL. Wenn z. B. die Zeichenfolge "This is" und NULL verkettet wird, ist das Ergebnis NULL statt "This is".For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
Der Nullwert wird als leere Zeichenfolge behandelt.The null value is treated as an empty character string.

Hinweis

CONCAT_NULL_YIELDS_NULL muss auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

In einer späteren Version von SQL ServerSQL Server wird CONCAT_NULL_YIELDS_NULL immer auf ON festgelegt, und jede Anwendung, für die die Option explizit auf OFF festgelegt wurde, löst einen Fehler aus.In a future version of SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL will always be ON and any applications that explicitly set the option to OFF will produce an error. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für CONCAT_NULL_YIELDS_NULL.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die CONCAT_NULL_YIELDS_NULL für die Sitzung auf ON festgelegt wird, wenn sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.By default, ODBC and OLE DB clients issue a connection-level SET statement setting CONCAT_NULL_YIELDS_NULL to ON for the session when connecting to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_concat_null_yields_null_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_concat_null_yields_null_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsNullConcat-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsNullConcat property of the DATABASEPROPERTYEX function.

QUOTED_IDENTIFIER { ON | OFF }QUOTED_IDENTIFIER { ON | OFF }
EINON
Doppelte Anführungszeichen können nur zum Einschließen von Begrenzungsbezeichnern verwendet werden.Double quotation marks can be used to enclose delimited identifiers.

Alle Zeichenfolgen, die durch doppelte Anführungszeichen begrenzt werden, werden als Objektbezeichner interpretiert.All strings delimited by double quotation marks are interpreted as object identifiers. Bezeichner in Anführungszeichen müssen nicht den Transact-SQLTransact-SQL-Regeln für Bezeichner entsprechen.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Sie können Schlüsselwörter darstellen und Zeichen einschließen, die in Transact-SQLTransact-SQL-Bezeichnern nicht zulässig sind.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Ein einfaches Anführungszeichen (’), das zur Literalzeichenfolge selbst gehört, kann durch doppelte Anführungszeichen (’’) dargestellt werden.If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Bezeichner dürfen nicht in Anführungszeichen eingeschlossen werden und müssen allen Transact-SQLTransact-SQL-Regeln für Bezeichner entsprechen.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Literale können in einfache oder doppelte Anführungszeichen eingeschlossen werden.Literals can be delimited by either single or double quotation marks.

In SQL ServerSQL Server ist es zudem möglich, Bezeichner durch eckige Klammern ([ ]) zu begrenzen.SQL ServerSQL Server also allows for identifiers to be delimited by square brackets ([ ]). Bezeichner in eckigen Klammern können immer verwendet werden, egal wie die Einstellung für QUOTED_IDENTIFIER lautet.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Weitere Informationen finden Sie unter Datenbankbezeichner.For more information, see Database Identifiers.

Beim Erstellen einer Tabelle wird die Option QUOTED IDENTIFIER immer als ON in den Metadaten der Tabelle gespeichert.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. Die Option wird gespeichert, selbst wenn die Option beim Erstellen der Tabelle auf OFF festgelegt ist.The option is stored even if the option is set to OFF when the table is created.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die QUOTED_IDENTIFIER auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_quoted_identifier_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsQuotedIdentifiersEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsQuotedIdentifiersEnabled property of the DATABASEPROPERTYEX function.

NUMERIC_ROUNDABORT { ON | OFF }NUMERIC_ROUNDABORT { ON | OFF }
EINON
Es wird ein Fehler generiert, wenn ein Genauigkeitsverlust in einem Ausdruck auftritt.An error is generated when loss of precision occurs in an expression.

OFFOFF
Bei einem Genauigkeitsverlust wird keine Fehlermeldung generiert, und das Ergebnis wird auf die Genauigkeit der Spalte oder Variablen gerundet, die das Ergebnis speichert.Loss of precision doesn't generate an error message, and the result is rounded to the precision of the column or variable storing the result.

Wichtig

NUMERIC_ROUNDABORT muss auf OFF festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_numeric_roundabort_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsNumericRoundAbortEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsNumericRoundAbortEnabled property of the DATABASEPROPERTYEX function.

RECURSIVE_TRIGGERS { ON | OFF }RECURSIVE_TRIGGERS { ON | OFF }
EINON
Das rekursive Auslösen von AFTER-Triggern ist zugelassen.Recursive firing of AFTER triggers is allowed.

OFFOFF
Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_recursive_triggers_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsRecursiveTriggersEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Hinweis

Nur die direkte Rekursion wird verhindert, wenn RECURSIVE_TRIGGERS auf OFF festgelegt ist.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Sie müssen auch die Geschachtelte Trigger-Serveroption auf 0 festlegen, um die indirekte Rekursion zu deaktivieren.To disable indirect recursion, you must also set the nested triggers server option to 0.

Sie können den Status dieser Option mithilfe der Spalte is_recursive_triggers_on in der Katalogsicht sys.databases oder der IsRecursiveTriggersEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion ermitteln.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view or the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

<target_recovery_time_option> ::= <target_recovery_time_option> ::=
Gibt die Frequenz indirekter Prüfpunkte auf Basis einzelner Datenbanken an.Specifies the frequency of indirect checkpoints on a per-database basis. Ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) beträgt der Standardwert für neue Datenbanken, der darauf hindeutet, dass Datenbanken indirekte Prüfpunkte verwendet werden, eine Minute.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database will use indirect checkpoints. Der Standard für ältere Versionen ist 0 (null) und gibt an, dass die Datenbank automatische Prüfpunkte verwendet, deren Frequenz von der Einstellung für das Wiederherstellungsintervall der Serverinstanz abhängt.For older versions the default is 0, which indicates that the database will use automatic checkpoints, whose frequency depends on the recovery interval setting of the server instance. Für MicrosoftMicrosoft ist für die meisten Systeme eine Minute empfohlen.MicrosoftMicrosoft recommends 1 minute for most systems.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
target_recovery_time target_recovery_time
Gibt die maximale Grenze für die Zeit an, die für die Wiederherstellung der angegebenen Datenbank im Fall eines Fehlers aufgewendet wird.Specifies the maximum bound on the time to recover the specified database in the event of a crash.

SECONDSSECONDS
Gibt an, dass target_recovery_time die Anzahl von Sekunden darstellt.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Gibt an, dass target_recovery_time die Anzahl von Minuten darstellt.Indicates that target_recovery_time is expressed as the number of minutes.

Weitere Informationen zu indirekten Prüfpunkten finden Sie unter Datenbankprüfpunkte.For more information about indirect checkpoints, see Database Checkpoints.

WITH <termination> ::= WITH <termination> ::=
Gibt an, wann beim Übergang der Datenbank von einem Status in einen anderen für unvollständige Transaktionen ein Rollback ausgeführt werden soll.Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Wird die Beendigungsklausel ausgelassen, wartet die ALTER DATABASE-Anweisung auf unbestimmte Zeit, wenn keine Sperre für die Datenbank besteht.If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there's any lock on the database. Es kann nur eine Beendigungsklausel angegeben werden, und diese steht hinter den SET-Klauseln.Only one termination clause can be specified, and it follows the SET clauses.

Hinweis

Nicht alle Datenbankoptionen verwenden die WITH <termination>-Klausel.Not all database options use the WITH <termination> clause. Weitere Informationen finden Sie in der Tabelle unter Festlegen von Optionen im Abschnitt „Hinweise“ in diesem Artikel.For more information, see the table under "Setting options of the "Remarks" section of this article.

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Gibt an, ob ein Rollback sofort oder nach Ablauf der angegebenen Sekundenzahl ausgeführt werden soll.Specifies whether to roll back after the specified number of seconds or immediately.

NO_WAITNO_WAIT
Gibt an, dass die Anforderung fehlschlägt, wenn diese Änderung des Datenbankstatus oder der Datenbankoption nicht sofort vollständig vorgenommen werden kann.Specifies that the request will fail if the requested database state or option change can't complete immediately. Der sofortige Abschluss des Vorgangs bedeutet, dass nicht darauf gewartet wird, dass Transaktionen eigenständig einen Commit oder Rollback ausführen.Completing immediately means not waiting for transactions to commit or roll back on their own.

Festlegen von OptionenSetting options

Verwenden Sie die sys.databases-Katalogsicht oder DATABASEPROPERTYEX, um die aktuellen Einstellungen für Datenbankoptionen abzurufen.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Wenn Sie eine Datenbankoption festlegen, tritt die neue Einstellung sofort in Kraft.After you set a database option, the new setting takes effect immediately.

Sie können die Standardwerte einer Datenbankoption für alle neu erstellten Datenbanken ändern.You can change the default values for any one of the database options for all newly created databases. Hierzu ändern Sie die entsprechende Datenbankoption in der Modelldatenbank.To do so, change the appropriate database option in the model database.

Nicht alle Datenbankoptionen verwenden die WITH <termination>-Klausel oder können zusammen mit anderen Optionen festgelegt werden.Not all database options use the WITH <termination> clause or can be specified in combination with other options. In der folgenden Tabelle sind die Optionen und ihr Options- und Beendigungsstatus aufgeführt.The following table lists these options and their option and termination status.

OptionskategorieOptions category Kann mit anderen Optionen angegeben werdenCan be specified with other options Kann WITH <termination>-Klausel verwendenCan use the WITH <termination> clause
<auto_option> JaYes NeinNo
<change_tracking_option> JaYes JaYes
<cursor_option> JaYes NeinNo
<db_encryption_option> JaYes NeinNo
<db_update_option> JaYes JaYes
<db_user_access_option> JaYes JaYes
<delayed_durability_option> JaYes JaYes
<parameterization_option> JaYes JaYes
ALLOW_SNAPSHOT_ISOLATIONALLOW_SNAPSHOT_ISOLATION NeinNo NeinNo
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT NeinNo JaYes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOTMEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT JaYes JaYes
DATE_CORRELATION_OPTIMIZATIONDATE_CORRELATION_OPTIMIZATION JaYes JaYes
<sql_option> JaYes NeinNo
<target_recovery_time_option> NeinNo JaYes

BeispieleExamples

A.A. Festlegen der Datenbank auf READ_ONLYSetting the database to READ_ONLY

Für die Änderung des Status einer Datenbank oder Dateigruppe in READ_ONLY oder READ_WRITE wird der exklusive Zugriff auf die Datenbank benötigt.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. Im folgenden Beispiel wird die Datenbank in den RESTRICTED_USER-Modus gesetzt, um eingeschränkten Zugriff zu erhalten.The following example sets the database to RESTRICTED_USER mode to limit access. Anschließend wird in dem Beispiel der Status der AdventureWorks2012AdventureWorks2012-Datenbank auf READ_ONLY festgelegt und der Zugriff auf die Datenbank an alle Benutzer zurückgegeben.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

USE master;
GO
ALTER DATABASE [database_name]
SET RESTRICTED_USER;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO

B.B. Aktivieren der Momentaufnahmeisolation für eine DatenbankEnabling snapshot isolation on a database

Im folgenden Beispiel wird die Option für das Momentaufnahmeisolations-Framework für die AdventureWorks2012AdventureWorks2012-Datenbank aktiviert.The following example enables the snapshot isolation framework option for the AdventureWorks2012AdventureWorks2012 database.

USE [database_name];
USE master;
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'[database_name]';
GO

Das Resultset zeigt, dass das Framework für die Momentaufnahmeisolation aktiviert ist.The result set shows that the snapshot isolation framework is enabled.

namename snapshot_isolation_statesnapshot_isolation_state descriptiondescription
[database_name][database_name] 11 EINON

C.C. Aktivieren, Ändern und Deaktivieren der ÄnderungsnachverfolgungEnabling, modifying, and disabling change tracking

Im folgenden Beispiel wird die Änderungsnachverfolgung für die AdventureWorks2012AdventureWorks2012-Datenbank aktiviert und die Aufbewahrungsdauer auf 2 Tage festgelegt.The following example enables change tracking for the AdventureWorks2012AdventureWorks2012 database and sets the retention period to 2 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

Das folgende Beispiel veranschaulicht, wie die Beibehaltungsdauer in drei Tage geändert wird.The following example shows how to change the retention period to 3 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

Das folgende Beispiel veranschaulicht, wie die Änderungsnachverfolgung für die AdventureWorks2012AdventureWorks2012-Datenbank deaktiviert wird.The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

D:D. Aktivieren des AbfragespeichersEnabling the Query Store

Im folgenden Beispiel werden der Abfragespeicher aktiviert und Parameter des Abfragespeichers konfiguriert.The following example enables the Query Store and configures Query Store parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      QUERY_CAPTURE_MODE = AUTO,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60
    );

E.E. Aktivieren des Abfragespeichers mit WartestatistikenEnabling the Query Store with wait statistics

Im folgenden Beispiel werden der Abfragespeicher aktiviert und dessen Parameter konfiguriert.The following example enables the Query Store and configures its parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
    );

F.F. Aktivieren des Abfragespeichers mit benutzerdefinierten ErfassungsrichtlinienoptionenEnabling the Query Store with custom capture policy options

Im folgenden Beispiel werden der Abfragespeicher aktiviert und dessen Parameter konfiguriert.The following example enables the Query Store and configures its parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
      QUERY_CAPTURE_MODE = CUSTOM,
      QUERY_CAPTURE_POLICY = (
        STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
        EXECUTION_COUNT = 30,
        TOTAL_COMPILE_CPU_TIME_MS = 1000,
        TOTAL_EXECUTION_CPU_TIME_MS = 100
      )
    );

Weitere InformationenSee Also

*SQL-Datenbank
verwaltete Instanz*
 
* SQL Database
Managed Instance *
 

 

Verwaltete Azure SQL-InstanzAzure SQL Managed Instance

Kompatibilitätsgrade sind SET-Optionen, die jedoch unter ALTER DATABASE-Kompatibilitätsgrad beschrieben werden.Compatibility levels are SET options but are described in ALTER DATABASE Compatibility Level.

Hinweis

Viele DATABASE SET-Optionen können mithilfe von SET-Anweisungen konfiguriert werden; häufig werden sie bei der Verbindung von Anwendungen konfiguriert.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. Die ALTER DATABASE SET-Werte werden durch SET-Optionen auf Sitzungsebene überschrieben.Session-level set options override the ALTER DATABASE SET values. Die unten beschriebenen Datenbankoptionen entsprechen Werten, die für Sitzungen festgelegt werden können, von denen explizit keine weiteren Werte für SET-Optionen bereitgestellt werden.The database options described in the following sections are values that can be set for sessions that don't explicitly provide other set option values.

SyntaxSyntax

ALTER DATABASE { database_name | Current }
SET
{
    <optionspec> [ ,...n ]
}
;

<optionspec> ::=
{
    <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;
<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
    AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { ON | OFF } )
}

<change_tracking_option> ::=
{
    CHANGE_TRACKING
    {
       = OFF
     | = ON [ ( <change_tracking_option_list > [,...n] ) ]
     | ( <change_tracking_option_list> [,...n] )
    }
}

<change_tracking_option_list> ::=
   {
       AUTO_CLEANUP = { ON | OFF }
     | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
   }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}

<db_encryption_option> ::=
  ENCRYPTION { ON | OFF }

<delayed_durability_option> ::=DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<parameterization_option> ::=
  PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
  QUERY_STORE
  {
    = OFF
    | = ON [ ( <query_store_option_list> [,... n] ) ]
    | ( < query_store_option_list> [,... n] )
    | CLEAR [ ALL ]
  }
}

<query_store_option_list> ::=
{
  OPERATION_MODE = { READ_WRITE | READ_ONLY }
  | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
  | DATA_FLUSH_INTERVAL_SECONDS = number
  | MAX_STORAGE_SIZE_MB = number
  | INTERVAL_LENGTH_MINUTES = number
  | SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
  | QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
  | MAX_PLANS_PER_QUERY = number
  | WAIT_STATS_CAPTURE_MODE = { ON | OFF }
  | QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}

<query_capture_policy_option_list> :: =
{
    STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
    | EXECUTION_COUNT = number
    | TOTAL_COMPILE_CPU_TIME_MS = number
    | TOTAL_EXECUTION_CPU_TIME_MS = number
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT {ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT {ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<temporal_history_retention>::= TEMPORAL_HISTORY_RETENTION { ON | OFF }

ArgumenteArguments

database_name database_name
Der Name der Datenbank, die geändert werden soll.Is the name of the database to be modified.

CURRENTCURRENT
CURRENT führt die Aktion in der aktuellen Datenbank aus.CURRENT runs the action in the current database. CURRENT wird nicht in allen Kontexten für alle Optionen unterstützt.CURRENT isn't supported for all options in all contexts. Wenn CURRENT einen Fehler verursacht, geben Sie den Datenbanknamen an.If CURRENT fails, provide the database name.

<auto_option> ::= <auto_option> ::=
Steuert automatische Optionen.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
EINON
Der Abfrageoptimierer erstellt nach Bedarf Statistiken für einzelne Spalten in Abfrageprädikaten, um Abfragepläne sowie die Abfrageleistung zu verbessern.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Diese Statistiken für einzelne Spalten werden erstellt, wenn der Abfrageoptimierer Abfragen kompiliert.These single-column statistics are created when Query Optimizer compiles queries. Die Statistiken für einzelne Spalten werden nur für Spalten erstellt, die noch nicht der ersten Spalte eines vorhandenen Statistikobjekts entsprechen.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

Der Standardwert ist ON.The default is ON. Für die meisten Datenbanken empfiehlt sich die Verwendung der Standardeinstellung.We recommend that you use the default setting for most databases.

OFFOFF
Der Abfrageoptimierer erstellt beim Kompilieren von Abfragen keine Statistiken für einzelne Spalten in Abfrageprädikaten.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Das Festlegen dieser Option auf OFF kann zu suboptimalen Abfrageplänen und einer beeinträchtigten Abfrageleistung führen.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_auto_create_stats_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAutoCreateStatistics-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Weitere Informationen finden Sie im Abschnitt „Statistikoptionen“ unter Statistiken.For more information, see the "Statistics options" section in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Legen Sie AUTO_CREATE_STATISTICS auf ON und INCREMENTAL auf ON fest.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Diese Einstellung erstellt automatisch Statistiken als inkrementell, wann immer inkrementelle Statistiken unterstützt werden.This setting creates automatically created stats as incremental whenever incremental stats are supported. Der Standardwert ist OFF.The default value is OFF. Weitere Informationen finden Sie unter CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
EINON
Die Datenbankdateien sind Kandidaten für das periodische Verkleinern.The database files are candidates for periodic shrinking.

Sowohl Daten- als auch Protokolldateien können automatisch verkleinert werden.Both data file and log files can be automatically shrunk. AUTO_SHRINK reduziert die Größe des Transaktionsprotokolls nur, wenn Sie die Datenbank auf das SIMPLE-Wiederherstellungsmodell festlegen oder das Protokoll sichern.AUTO_SHRINK reduces the size of the transaction log only if you set the database to SIMPLE recovery model or if you back up the log. Ist diese Option auf OFF festgelegt, werden die Datenbankdateien während der periodisch ausgeführten Überprüfung auf nicht verwendeten Speicherplatz nicht automatisch verkleinert.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

Durch die Option AUTO_SHRINK werden Dateien dann verkleinert, wenn mehr als 25 Prozent der Datei aus nicht verwendetem Speicherplatz bestehen.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. Die Option bewirkt, dass die Datei, auf eine von zwei Größen verkleinert wird.The option causes the file to shrink to one of two sizes. Sie wird auf den jeweils größeren Wert verkleinert:It shrinks to whichever is larger:

  • die Größe, bei der 25 Prozent der Datei aus nicht verwendetem Speicherplatz bestehenThe size where 25 percent of the file is unused space
  • die Größe der Datei, als sie erstellt wurdeThe size of the file when it was created

Eine schreibgeschützte Datenbank kann nicht verkleinert werden.You can't shrink a read-only database.

OFFOFF
Die Datenbankdateien werden bei periodischen Prüfungen auf nicht verwendeten Speicherplatz nicht automatisch verkleinert.The database files are not automatically shrunk during periodic checks for unused space.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_auto_shrink_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAutoShrink-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Hinweis

Die AUTO_SHRINK-Option ist in einer eigenständigen Datenbank nicht verfügbar.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
EINON
Gibt an, dass der Abfrageoptimierer Statistiken aktualisiert, wenn sie von einer Abfrage verwendet werden und veraltet sein könnten.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Statistiken sind veraltet, wenn die Datenverteilung in der Tabelle oder indizierten Sicht durch die Vorgänge INSERT, UPDATE, DELETE oder MERGE geändert wurde.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. Der Abfrageoptimierer stellt fest, wann Statistiken veraltet sein könnten, indem er die Anzahl von Datenänderungen seit der letzten Statistikaktualisierung ermittelt und sie mit einem Schwellenwert vergleicht.Query Optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. Der Schwellenwert basiert auf der Anzahl von Zeilen in der Tabelle oder indizierten Sicht.The threshold is based on the number of rows in the table or indexed view.

Bevor der Abfrageoptimierer eine Abfrage kompiliert und einen zwischengespeicherten Abfrageplan ausführt, sucht er nach veralteten Statistiken.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. Der Abfrageoptimierer ermittelt anhand der Spalten, Tabellen und indizierten Sichten im Abfrageprädikat, welche Statistiken veraltet sein könnten.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. Der Abfrageoptimierer ermittelt diese Informationen, bevor er eine Abfrage kompiliert.Query Optimizer determines this information before it compiles a query. Vor dem Ausführen eines zwischengespeicherten Abfrageplans stellt die Datenbank-EngineDatabase Engine sicher, dass der Abfrageplan auf aktuelle Statistiken verweist.Before running a cached query plan, the Datenbank-EngineDatabase Engine verifies that the query plan references up-to-date statistics.

Die AUTO_UPDATE_STATISTICS-Option gilt für Statistikobjekte, die für Indizes, einzelne Spalten in Abfrageprädikaten und mit der CREATE STATISTICS-Anweisung generierte Statistiken erstellt wurden.The AUTO_UPDATE_STATISTICS option applies to statistics created for indexes, single-columns in query predicates, and statistics that are created by using the CREATE STATISTICS statement. Diese Option gilt auch für gefilterte Statistiken.This option also applies to filtered statistics.

Der Standardwert ist ON.The default is ON. Für die meisten Datenbanken empfiehlt sich die Verwendung der Standardeinstellung.We recommend that you use the default setting for most databases.

Verwenden Sie die AUTO_UPDATE_STATISTICS_ASYNC-Option, um anzugeben, ob die Statistiken synchron oder asynchron aktualisiert werden.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Gibt an, dass der Abfrageoptimierer Statistiken nicht aktualisiert, wenn sie von einer Abfrage verwendet werden.Specifies that Query Optimizer doesn't update statistics when they're used by a query. Der Abfrageoptimierer aktualisiert Statistiken auch nicht, wenn sie veraltet sein könnten.Query Optimizer also doesn't update statistics when they might be out-of-date. Das Festlegen dieser Option auf OFF kann zu suboptimalen Abfrageplänen und einer beeinträchtigten Abfrageleistung führen.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte „is_auto_update_stats_on“ in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAutoUpdateStatistics-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Weitere Informationen finden Sie im Abschnitt „Verwenden der datenbankweiten Statistikoptionen“ unter Statistiken.For more information, see the section "Using the database-wide statistics options" in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
EINON
Gibt an, dass Statistikupdates für die AUTO_UPDATE_STATISTICS-Option asynchron sind.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. Der Abfrageoptimierer wartet nicht, bis Statistikaktualisierungen abgeschlossen sind, bevor Abfragen kompiliert werden.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

Das Festlegen dieser Option auf ON hat nur dann Auswirkungen, wenn AUTO_UPDATE_STATISTICS auf ON festgelegt ist.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Die AUTO_UPDATE_STATISTICS_ASYNC-Option ist standardmäßig auf OFF festgelegt, sodass der Abfrageoptimierer Statistiken synchron aktualisiert.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Gibt an, dass Statistikupdates für die AUTO_UPDATE_STATISTICS-Option synchron sind.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. Der Abfrageoptimierer wartet, bis Statistikupdates abgeschlossen sind, bevor Abfragen kompiliert werden.Query Optimizer waits for statistics updates to complete before it compiles queries.

Das Festlegen dieser Option auf OFF hat nur dann Auswirkungen, wenn AUTO_UPDATE_STATISTICS auf ON festgelegt ist.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte „is_auto_update_stats_async_on“ in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_update_stats_async_on column in the sys.databases catalog view.

Weitere Informationen dazu, wann synchrone bzw. asynchrone Statistikupdates verwendet werden sollten, finden Sie im Abschnitt „Verwenden der datenbankweiten Statistikoptionen“ unter Statistiken.For more information that describes when to use synchronous or asynchronous statistics updates, see the section "Using the database-wide statistics options" in Statistics.

<automatic_tuning_option> ::= <automatic_tuning_option> ::=
Gilt für: SQL Server 2017 (14.x)SQL Server 2017 (14.x)Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x)

Aktiviert bzw. deaktiviert die Option FORCE_LAST_GOOD_PLAN für die automatische Optimierung.Enables or disables FORCE_LAST_GOOD_PLAN Automatic tuning option.

FORCE_LAST_GOOD_PLAN = { ON | OFF }FORCE_LAST_GOOD_PLAN = { ON | OFF }
EINON
Die Datenbank-EngineDatabase Engine erzwingt automatisch den neusten bekannten, geeigneten Plan bei Transact-SQLTransact-SQL-Abfragen, bei denen neue Abfragepläne negative Auswirkungen auf die Leistung haben.The Datenbank-EngineDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. Die Datenbank-EngineDatabase Engine überwacht regelmäßig die Abfrageleistung der Transact-SQLTransact-SQL-Abfrage mit dem erzwungenen Plan.The Datenbank-EngineDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan. Wenn die Leistung verbessert wurde, verwendet die Datenbank-EngineDatabase Engine weiterhin den neusten bekannten, geeigneten Plan.If there are performance gains, the Datenbank-EngineDatabase Engine will keep using last known good plan. Wenn die Leistung nicht verbessert wurde, erstellt die Datenbank-EngineDatabase Engine einen neuen Abfrageplan.If performance gains are not detected, the Datenbank-EngineDatabase Engine will produce a new query plan. Bei der Anweisung tritt ein Fehler auf, wenn der Abfragespeicher nicht aktiviert ist oder sich nicht im Lese-/Schreibmodus befindet.The statement will fail if the Query Store isn't enabled or if it's not in Read-Write mode.

OFFOFF
Die Datenbank-EngineDatabase Engine meldet potentielle Einbußen im Hinblick auf die Abfrageleistung, die von Änderungen des Abfrageplans in der sys.dm_db_tuning_recommendations-Sicht hervorgerufen werden könnten.The Datenbank-EngineDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Diese Empfehlungen werden allerdings nicht automatisch angewendet.However, these recommendations are not automatically applied. Benutzer können aktive Empfehlungen überwachen und ermittelte Probleme beheben, indem sie die in der Sicht aufgeführten Transact-SQLTransact-SQL-Skripts anwenden.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Dies ist der Standardwert.This is the default value.

<change_tracking_option> ::= <change_tracking_option> ::=
Steuert Änderungsnachverfolgungsoptionen.Controls change tracking options. Sie können die Änderungsnachverfolgung aktivieren, Optionen festlegen, Optionen ändern und die Änderungsnachverfolgung deaktivieren.You can enable change tracking, set options, change options, and disable change tracking. Beispiele hierzu finden Sie im Abschnitt „Beispiele“ weiter unten in diesem Artikel.For examples, see the "Examples" section later in this article.

ON Aktiviert die Änderungsnachverfolgung für die Datenbank.ON Enables change tracking for the database. Wenn die Änderungsnachverfolgung aktiviert wird, können auch die AUTO CLEANUP-Option und die CHANGE RETENTION-Option festgelegt werden.When you enable change tracking, you can also set the AUTO CLEANUP and CHANGE RETENTION options.

AUTO_CLEANUP = { ON | OFF }AUTO_CLEANUP = { ON | OFF }
EINON
Die Änderungsnachverfolgungsdaten werden nach der angegebenen Beibehaltungsdauer automatisch entfernt.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Die Änderungsnachverfolgungsdaten werden nicht aus der Datenbank entfernt.Change tracking data isn't removed from the database.

CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Gibt die Mindestdauer für die Beibehaltung von Änderungsnachverfolgungsdaten in der Datenbank an.Specifies the minimum period for keeping change tracking information in the database. Die Daten werden nur dann entfernt, wenn der Wert für AUTO_CLEANUP ON lautet.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period ist ein Integer, der die numerische Komponente der Vermerkdauer angibt.retention_period is an integer that specifies the numerical component of the retention period.

Die Standardbeibehaltungsdauer beträgt 2 Tage.The default retention period is 2 days. Die Mindestbeibehaltungsdauer ist 1 Minute.The minimum retention period is 1 minute. Der Standardtyp für die Beibehaltung ist DAYS.The default retention type is DAYS.

OFFOFF
Deaktiviert die Änderungsnachverfolgung für die Datenbank.Disables change tracking for the database. Deaktivieren Sie erst die Änderungsnachverfolgung für alle Tabellen, bevor Sie sie für die Datenbank deaktivieren.Disable change tracking on all tables before you disable change tracking off the database.

<cursor_option> ::= <cursor_option> ::=
Steuert Cursoroptionen.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
EINON
Alle beim Commit oder Rollback einer Transaktion geöffneten Cursor werden geschlossen.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Cursor bleiben beim Commit einer Transaktion geöffnet. Beim Rollback einer Transaktion werden alle Cursor geschlossen, sofern sie nicht als INSENSITIVE oder STATIC definiert sind.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für CURSOR_CLOSE_ON_COMMIT.Connection-level settings that are set by using the SET statement override the default database setting for CURSOR_CLOSE_ON_COMMIT. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die CURSOR_CLOSE_ON_COMMIT für die Sitzung auf OFF festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Sie können den Status dieser Option mithilfe der Spalte „is_cursor_close_on_commit_on“ in der Katalogsicht sys.databases oder der „IsCloseCursorsOnCommitEnabled“-Eigenschaft der DATABASEPROPERTYEX-Funktion ermitteln.You can determine this option's status by examining the is_cursor_close_on_commit_on column in the sys.databases catalog view or the IsCloseCursorsOnCommitEnabled property of the DATABASEPROPERTYEX function. Die Zuordnung des Cursors wird implizit nur aufgehoben, wenn die Verbindung getrennt wird.The cursor is implicitly deallocated only at disconnect. Weitere Informationen finden Sie unter DECLARE CURSOR.For more information, see DECLARE CURSOR.

<db_encryption_option> ::= <db_encryption_option> ::=
Steuert den Status der Datenbankverschlüsselung.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }
Legt fest, ob die Datenbank verschlüsselt (ON) oder nicht verschlüsselt (OFF) werden soll.Sets the database to be encrypted (ON) or not encrypted (OFF). Weitere Informationen finden Sie unter Transparent Data Encryption und Transparent Data Encryption in Azure SQL-Datenbank.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Wenn die Verschlüsselung auf Datenbankebene aktiviert wird, werden alle Dateigruppen verschlüsselt.When encryption is enabled at the database level, all file groups will be encrypted. Alle neuen Dateigruppen erben die verschlüsselte Eigenschaft.Any new file groups will inherit the encrypted property. Wenn Dateigruppen in der Datenbank als READ ONLY festgelegt sind, tritt beim Datenbankverschlüsselungsvorgang ein Fehler auf.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Der Verschlüsselungsstatus der Datenbank wird mit der dynamischen Verwaltungssicht sys.dm_database_encryption_keys angezeigt.You can see the encryption state of the database by using the sys.dm_database_encryption_keys dynamic management view.

<db_update_option> ::= <db_update_option> ::=
Steuert, ob Updates für die Datenbank zugelassen sind.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Benutzer können Daten aus der Datenbank lesen, aber nicht ändern.Users can read data from the database but not modify it.

Hinweis

Um die Abfrageleistung zu verbessern, sollten Sie vor dem Festlegen einer Datenbank auf READ_ONLY die Statistiken aktualisieren.To improve query performance, update statistics before setting a database to READ_ONLY. Wenn weitere Statistiken benötigt werden, nachdem eine Datenbank auf READ_ONLY festgelegt wurde, erstellt das Datenbank-EngineDatabase Engine Statistiken in tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Datenbank-EngineDatabase Engine will create statistics in tempdb. Weitere Informationen zu Statistiken für eine schreibgeschützte Datenbank finden Sie unter Statistiken.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
Die Datenbank ist für Lese- und Schreibvorgänge verfügbar.The database is available for read and write operations.

Sie müssen über exklusiven Zugriff auf die Datenbank verfügen, um diesen Status zu ändern.To change this state, you must have exclusive access to the database.

<db_user_access_option> ::= <db_user_access_option> ::=
Steuert den Benutzerzugriff auf die Datenbank.Controls user access to the database.

RESTRICTED_USERRESTRICTED_USER
Ermöglicht nur Mitgliedern der festen Datenbankrolle db_owner und der festen Serverrollen dbcreator und sysadmin eine Verbindung mit der Datenbank, begrenzt jedoch nicht deren Anzahl.Allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but doesn't limit their number. Alle Verbindungen zur Datenbank werden in dem durch die Beendigungsklausel der ALTER DATABASE-Anweisung angegebenen Zeitraum getrennt.All connections to the database are disconnected in the timeframe specified by the termination clause of the ALTER DATABASE statement. Sobald die Datenbank in den Status RESTRICTED_USER gewechselt hat, werden Verbindungsversuche von nicht qualifizierten Benutzern abgelehnt.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused. RESTRICTED_USER kann nicht mit SQL Managed Instance geändert werden.RESTRICTED_USER can't be modified with SQL Managed Instance.

MULTI_USERMULTI_USER
Alle Benutzer, die über die entsprechenden Berechtigungen für die Verbindung mit der Datenbank verfügen, sind zugelassen.All users that have the appropriate permissions to connect to the database are allowed.

Sie können den Status dieser Option mithilfe der Spalte „user_access“ in der Katalogsicht sys.databases oder der UserAccess-Eigenschaft der DATABASEPROPERTYEX-Funktion ermitteln.You can determine this option's status by examining the user_access column in the sys.databases catalog view or the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::= <delayed_durability_option> ::=
Steuert, ob für Transaktionen ein Commit mit vollständiger oder verzögerter Dauerhaftigkeit ausgeführt wird.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Alle Transaktionen nach SET DISABLED sind vollständig dauerhaft.All transactions following SET DISABLED are fully durable. Alle Dauerhaftigkeitsoptionen, die in einem Atomic-Block oder einer Commitanweisung festgelegt sind, werden ignoriert.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Alle Transaktionen nach SET ALLOWED sind abhängig von der im atomischen Block oder der Commitanweisung festgelegten Dauerhaftigkeitsoption entweder vollständig dauerhaft oder verzögert dauerhaft.All transactions following SET ALLOWED are either fully durable or delayed durable, depending upon the durability option set in the atomic block or commit statement.

FORCEDFORCED
Alle Transaktionen nach SET FORCED sind verzögert dauerhaft.All transactions following SET FORCED are delayed durable. Alle Dauerhaftigkeitsoptionen, die in einem Atomic-Block oder einer Commitanweisung festgelegt sind, werden ignoriert.Any durability options set in an atomic block or commit statement are ignored.

<PARAMETERIZATION_option> ::= <PARAMETERIZATION_option> ::=
Steuert die Parametrisierungsoption.Controls the parameterization option.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Abfragen werden basierend auf dem Standardverhalten der Datenbank parametrisiert.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server parametrisiert alle Abfragen in der Datenbank.parameterizes all queries in the database.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte is_parameterization_forced in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the is_parameterization_forced column in the sys.databases catalog view.

<query_store_options> ::=<query_store_options> ::=

ON | OFF | CLEAR [ ALL ]ON | OFF | CLEAR [ ALL ]
Überprüft, ob der Abfragespeicher in dieser Datenbank aktiviert ist, und steuert außerdem das Entfernen des Inhalts des Abfragespeichers.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store.

EINON
Aktiviert den Abfragespeicher.Enables the Query Store.

OFFOFF
Deaktiviert den Abfragespeicher.Disables the Query Store. Dies ist der Standardwert.This is the default value.

CLEARCLEAR
Entfernt den Inhalt des Abfragespeichers.Remove the contents of the Query Store.

OPERATION_MODEOPERATION_MODE
Beschreibt den Betriebsmodus des Abfragespeichers.Describes the operation mode of the Query Store. Gültige Werte sind READ_ONLY und READ_WRITE.Valid values are READ_ONLY and READ_WRITE. Im Modus READ_WRITE sammelt und speichert der Abfragespeicher Angaben zum Abfrageplan und statistische Informationen zur Laufzeitausführung.In READ_WRITE mode, the Query Store collects and persists query plan and runtime execution statistics information. Im Modus READ_ONLY können Informationen aus dem Abfragespeicher gelesen werden, es werden jedoch keine neuen Informationen hinzugefügt.In READ_ONLY mode, information can be read from the Query Store, but new information isn't added. Wenn die maximale Speicherplatzbelegung des Abfragespeichers ausgelastet ist, wird der Betriebsmodus in READ_ONLY geändert.If the maximum allocated space of the Query Store has been exhausted, the Query Store will change is operation mode to READ_ONLY.

CLEANUP_POLICYCLEANUP_POLICY
Beschreibt die Datenaufbewahrungsrichtlinie des Abfragespeichers.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS bestimmt die Anzahl an Tagen, für die die Informationen für eine Abfrage im Abfragespeicher aufbewahrt werden.STALE_QUERY_THRESHOLD_DAYS determines the number of days for which the information for a query is kept in the Query Store. STALE_QUERY_THRESHOLD_DAYS weist den Typ bigint auf.STALE_QUERY_THRESHOLD_DAYS is type bigint. Der Standardwert ist 30.The default value is 30. Für die Basic Edition von SQL-DatenbankSQL Database ist der Standardwert 7 Tage.For SQL-DatenbankSQL Database Basic edition, default is 7 days.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Bestimmt die Häufigkeit, mit der in den Abfragespeicher geschriebene Daten auf Datenträger gespeichert werden.Determines the frequency at which data written to the Query Store is persisted to disk. Um die Leistung zu optimieren, werden durch den Abfragespeicher gesammelte Daten asynchron auf den Datenträger geschrieben.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. Die Häufigkeit, mit der diese asynchrone Übertragung stattfindet, wird mit dem Argument DATA_FLUSH_INTERVAL_SECONDS konfiguriert.The frequency at which this asynchronous transfer occurs is configured by using the DATA_FLUSH_INTERVAL_SECONDS argument. DATA_FLUSH_INTERVAL_SECONDS weist den Typ bigint auf.DATA_FLUSH_INTERVAL_SECONDS is type bigint. Der Standardwert ist 900 (15 Minuten).The default value is 900 (15 min).

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Bestimmt den Speicherplatz, der vom Abfragespeicher belegt wird.Determines the space allocated to the Query Store. MAX_SIZE_MB weist den Typ bigint auf.MAX_STORAGE_SIZE_MB is type bigint. Der Standardwert ist 100 MB.The default value is 100 MB.

Hinweis

Die Begrenzung MAX_STORAGE_SIZE_MB wird nicht streng erzwungen.MAX_STORAGE_SIZE_MB limit isn't strictly enforced. Die Speichergröße wird nur überprüft, wenn der Abfragespeicher Daten auf einen Datenträger schreibt.Storage size is checked only when Query Store writes data to disk. Dieses Intervall wird durch die Option DATA_FLUSH_INTERVAL_SECONDS oder die Option Datenleerungsintervall im Dialogfeld des Management StudioManagement Studio-Abfragespeichers festgelegt.This interval is set by the DATA_FLUSH_INTERVAL_SECONDS option or the Management StudioManagement Studio Query Store dialog box option Data Flush Interval. Der Standardwert des Intervalls liegt bei 900 Sekunden (oder 15 Minuten).The interval default value is 900 seconds (or 15 minutes). Wenn der Abfragespeicher die Begrenzung MAX_STORAGE_SIZE_MB zwischen Speichergrößenüberprüfungen überschritten hat, wechselt er in den schreibgeschützten Modus.If the Query Store has breached the MAX_STORAGE_SIZE_MB limit between storage size checks, it will transition to read-only mode. Bei Aktivierung von SIZE_BASED_CLEANUP_MODE wird auch der Bereinigungsmechanismus zum Erzwingen der Begrenzung MAX_STORAGE_SIZE_MB ausgelöst.If SIZE_BASED_CLEANUP_MODE is enabled, the cleanup mechanism to enforce the MAX_STORAGE_SIZE_MB limit is also triggered. Sobald ausreichend Speicherplatz befreit wurde, wird der Abfragespeichermodus automatisch in den Lese-/Schreibmodus gewechselt.Once enough space has been cleared, the Query Store mode will automatically switch back to read-write.

Wichtig

Wenn Sie glauben, dass für Ihre Arbeitsauslastungserfassung mehr als 10 GB Speicherplatz benötigt werden, sollten Sie vermutlich die Arbeitsauslastung überdenken und optimieren, um Abfragepläne wiederzuverwenden (z. B. mithilfe von erzwungener Parametrisierung), oder die Abfragespeicherkonfigurationen anpassen.If you think that your workload capture will need more than 10 GB of disk space, you should probably rethink and optimize your workload to reuse query plans (for example using forced parameterization, or adjust the Query Store configurations.
Ab SQL Server 2019 (15.x)SQL Server 2019 (15.x) und in Azure SQL-DatenbankAzure SQL Database können Sie für zusätzliche Kontrolle über die Abfrageerfassungsrichtlinie QUERY_CAPTURE_MODE auf CUSTOM festlegen.Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x) and in Azure SQL-DatenbankAzure SQL Database, you can set QUERY_CAPTURE_MODE to CUSTOM for additional control over the query capture policy.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Bestimmt das Zeitintervall, mit dem statistische Daten zur Laufzeitausführung im Abfragespeicher aggregiert werden.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Um die Speicherverwendung zu optimieren, werden die statistischen Daten zur Laufzeitausführung im Speicher für Laufzeitstatistiken über ein festes Zeitfenster aggregiert.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Dieses feste Zeitfenster wird mit dem Argument INTERVAL_LENGTH_MINUTES konfiguriert.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES weist den Typ bigint auf.INTERVAL_LENGTH_MINUTES is type bigint. Der Standardwert lautet 60.The default value is 60.

SIZE_BASED_CLEANUP_MODESIZE_BASED_CLEANUP_MODE
Steuert, ob die Bereinigung automatisch aktiviert wird, wenn sich die Gesamtmenge der Daten der maximalen Größe nähert.Controls whether cleanup will be automatically activated when the total amount of data gets close to maximum size.

OFFOFF
Eine auf der Größe basierte Bereinigung wird nicht automatisch aktiviert.Size-based cleanup won't be automatically activated.

AUTOAUTO
Eine auf der Größe basierende Bereinigung wird automatisch aktiviert, wenn die Größe auf dem Datenträger 90 Prozent von max_storage_size_mb übersteigt.Size-based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. Ein auf der Größe basierendes Cleanup entfernt die am wenigsten aufwendigen und die ältesten Abfragen.Size-based cleanup removes the least expensive and oldest queries first. Bei ungefähr 80 Prozent von max_storage_size_mb wird dieser Vorgang angehalten.It stops at approximately 80% of max_storage_size_mb. Dies ist der Standardkonfigurationswert.This is the default configuration value.

SIZE_BASED_CLEANUP_MODE ist vom Typ nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODE {ALL | AUTO | CUSTOM | NONE}QUERY_CAPTURE_MODE { ALL | AUTO | CUSTOM | NONE }
Bestimmt den zum aktuellen Zeitpunkt aktiven Abfrageerfassungsmodus.Designates the currently active query capture mode.

ALLALL
Alle Abfragen werden erfasst.All queries are captured.

AUTOAUTO
Relevante Abfragen werden anhand der Ausführungsanzahl und des Ressourcenverbrauchs erfasst.Capture relevant queries based on execution count and resource consumption. Dies ist der Standardkonfigurationswert für Azure SQL-DatenbankAzure SQL Database.This is the default configuration value for Azure SQL-DatenbankAzure SQL Database.

KeineNONE
Es werden keine weiteren neuen Abfragen erfasst.Stop capturing new queries. Der Abfragespeicher sammelt weiterhin Statistiken zur Kompilierung und Runtime für Abfragen, die bereits erfasst wurden.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Verwenden Sie diese Konfiguration mit Bedacht, da dadurch möglicherweise wichtige Abfragen verloren gehen.Use this configuration with caution since you may miss capturing important queries.

QUERY_CAPTURE_MODE ist vom Typ nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Eine ganze Zahl, die die maximale Anzahl von Plänen darstellt, die für jede Abfrage beibehalten werden.An integer representing the maximum number of plans maintained for each query. MAX_PLANS_PER_QUERY ist vom Typ int. Der Standardwert ist 200.MAX_PLANS_PER_QUERY is type int. The default value is 200.

WAIT_STATS_CAPTURE_MODE { ON | OFF }WAIT_STATS_CAPTURE_MODE { ON | OFF }
Steuert, ob Wartestatistiken pro Abfrage erfasst werdenControls whether wait statistics will be captured per query.

EINON
Wartestatistikinformationen pro Abfrage werden erfasst.Wait statistics information per query is captured. Dies ist der Standardkonfigurationswert.This value is the default configuration value.

OFFOFF
Wartestatistikinformationen pro Abfrage werden nicht erfasst.Wait statistics information per query won't be captured.

<query_capture_policy_option_list> :: = <query_capture_policy_option_list> :: =
Steuert die Optionen für die Erfassungsrichtlinie des Abfragespeichers.Controls the Query Store capture policy options. Mit Ausnahme von STALE_CAPTURE_POLICY_THRESHOLD definieren diese Optionen die OR-Bedingungen, die auftreten müssen, damit Abfragen im definierten STALE_CAPTURE_POLICY_THRESHOLD-Wert erfasst werden.Except for STALE_CAPTURE_POLICY_THRESHOLD, these options define the OR conditions that need to happen for queries to be captured in the defined Stale Capture Policy Threshold value.

STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
Definiert den Zeitraum des Auswertungsintervalls um zu bestimmen, ob eine Abfrage erfasst werden sollte.Defines the evaluation interval period to determine if a query should be captured. Der Standardwert ist 1 Tag. Sie können Werte zwischen 1 Stunde und sieben Tagen festlegen.The default is 1 day, and it can be set from 1 hour to seven days. number ist vom Datentyp int.number is type int.

EXECUTION_COUNTEXECUTION_COUNT
Definiert die Häufigkeit, mit der eine Abfrage im Auswertungszeitraum ausgeführt wird.Defines the number of times a query is executed over the evaluation period. Der Standardwert ist 30, was bedeutet, dass für den Stale Capture Policy Threshold-Standardwert eine Abfrage mindestens 30 Mal an einem Tag ausgeführt werden muss, um im Abfragespeicher persistent gespeichert zu werden.The default is 30, which means that for the default Stale Capture Policy Threshold, a query must execute at least 30 times in one day to be persisted in the Query Store. EXECUTION_COUNT ist vom Typ int.EXECUTION_COUNT is type int.

TOTAL_COMPILE_CPU_TIME_MSTOTAL_COMPILE_CPU_TIME_MS
Definiert die gesamte verstrichene Kompilierungs-CPU-Zeit, die eine Abfrage über den Auswertungszeitraum in Anspruch nimmt.Defines total elapsed compile CPU time used by a query over the evaluation period. Der Standardwert ist 1000, was bedeutet, dass für den Stale Capture Policy Threshold-Standardwert eine Abfrage insgesamt mindestens eine Sekunde CPU-Zeit während der Abfragekompilierung an einem Tag verbraucht haben muss, um im Abfragespeicher persistent gespeichert zu werden.The default is 1000 which means that for the default Stale Capture Policy Threshold, a query must have a total of at least one second of CPU time spent during query compilation in one day to be persisted in the Query Store. TOTAL_COMPILE_CPU_TIME_MS ist vom Typ int.TOTAL_COMPILE_CPU_TIME_MS is type int.

TOTAL_EXECUTION_CPU_TIME_MSTOTAL_EXECUTION_CPU_TIME_MS
Definiert die gesamte verstrichene Ausführungs-CPU-Zeit, die eine Abfrage über den Auswertungszeitraum in Anspruch nimmt.Defines total elapsed execution CPU time used by a query over the evaluation period. Der Standardwert ist 100, was bedeutet, dass für den Stale Capture Policy Threshold-Standardwert eine Abfrage insgesamt mindestens 100 ms CPU-Zeit während der Ausführung an einem Tag verbraucht haben muss, um im Abfragespeicher persistent gespeichert zu werden.The default is 100 which means that for the default Stale Capture Policy Threshold, a query must have a total of at least 100 ms of CPU time spent during execution in one day to be persisted in the Query Store. TOTAL_EXECUTION_CPU_TIME_MS ist vom Typ int.TOTAL_EXECUTION_CPU_TIME_MS is type int.

<snapshot_option> ::=<snapshot_option> ::=

Bestimmt die Isolationsstufe für Transaktionen.Determines the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON| OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
EINON
Aktiviert die Momentaufnahmeoption auf Datenbankebene.Enables the Snapshot option at the database level. Wenn die Option aktiviert ist, beginnen DML-Anweisungen mit der Generierung von Zeilenversionen, auch wenn keine Transaktion die Momentaufnahmeisolation verwendet.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Nachdem diese Option aktiviert wurde, können Transaktionen die SNAPSHOT-Transaktionsisolationsstufe angeben.After this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Wenn eine Transaktion auf der SNAPSHOT-Isolationsebene ausgeführt wird, sehen alle Anweisungen eine Momentaufnahme der Daten, wie sie beim Start der Transaktion vorlagen.When a transaction runs at the SNAPSHOT isolation level, all statements see a snapshot of data as it exists at the start of the transaction. Greift eine Transaktion, die auf der SNAPSHOT-Isolationsstufe ausgeführt wird, auf Daten in mehreren Datenbanken zu, muss entweder in allen Datenbanken ALLOW_SNAPSHOT_ISOLATION auf ON festgelegt sein oder jede Anweisung in der Transaktion muss Sperrhinweise für alle Verweise in einer FROM-Klausel verwenden, die auf eine Tabelle in einer Datenbank verweisen, bei der ALLOW_SNAPSHOT_ISOLATION auf OFF festgelegt ist.If a transaction running at the SNAPSHOT isolation level accesses data in multiple databases, either ALLOW_SNAPSHOT_ISOLATION must be set to ON in all the databases, or each statement in the transaction must use locking hints on any reference in a FROM clause to a table in a database where ALLOW_SNAPSHOT_ISOLATION is OFF.

OFFOFF
Deaktiviert die Momentaufnahmeoption auf Datenbankebene.Turns off the Snapshot option at the database level. Transaktionen können die SNAPSHOT-Isolationsstufe für Transaktionen nicht angeben.Transactions can't specify the SNAPSHOT transaction isolation level.

Wenn Sie ALLOW_SNAPSHOT_ISOLATION auf einen neuen Status festlegen (von ON zu OFF oder von OFF zu ON), gibt ALTER DATABASE die Kontrolle erst dann an den Aufrufer zurück, wenn ein Commit aller bestehenden Transaktionen in der Datenbank ausgeführt wurde.When you set ALLOW_SNAPSHOT_ISOLATION to a new state (from ON to OFF, or from OFF to ON), ALTER DATABASE doesn't return control to the caller until all existing transactions in the database are committed. Hat die Datenbank bereits den in der ALTER DATABASE-Anweisung angegebenen Status, wird die Kontrolle direkt an den Aufrufer zurückgegeben.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Wenn keine schnelle Rückgabe durch die ALTER DATABASE-Anweisung erfolgt, verwenden Sie sys.dm_tran_active_snapshot_database_transactions, um zu bestimmen, ob lang andauernde Transaktionen vorhanden sind.If the ALTER DATABASE statement doesn't return quickly, use sys.dm_tran_active_snapshot_database_transactions to determine whether there are long-running transactions. Wird die ALTER DATABASE-Anweisung abgebrochen, bleibt die Datenbank in dem Status, in dem sie sich vor dem Start von ALTER DATABASE befand.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. In der sys.databases-Katalogsicht wird der Status von Isolationstransaktionen von Momentaufnahmen in der Datenbank angegeben.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Ist snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, wird ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF für 6 Sekunden angehalten und der Vorgang anschließend wiederholt.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Sie können den Status von ALLOW_SNAPSHOT_ISOLATION nicht ändern, wenn die Datenbank OFFLINE ist.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Wenn Sie ALLOW_SNAPSHOT_ISOLATION in einer READ_ONLY-Datenbank festlegen, wird die Einstellung gespeichert, wenn die Datenbank später auf READ_WRITE festgelegt wird.If you set ALLOW_SNAPSHOT_ISOLATION in a READ_ONLY database, the setting will be kept if the database is later set to READ_WRITE.

Sie können die ALLOW_SNAPSHOT_ISOLATION-Einstellungen für die Datenbanken master, model, msdb und tempdb ändern.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. Wenn Sie die Einstellung für tempdb ändern, wird die Einstellung jedes Mal beibehalten, wenn die Instanz von Datenbank-EngineDatabase Engine beendet und neu gestartet wird.The setting is kept every time the instance of the Datenbank-EngineDatabase Engine is stopped and restarted if you change the setting for tempdb. Wenn Sie die Einstellung für model ändern, wird die Einstellung zur Standardeinstellung für alle neu erstellten Datenbanken, mit Ausnahme von tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

Die Option hat für die Datenbanken master und msdb die Standardeinstellung ON.The option is ON, by default, for the master and msdb databases.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte snapshot_isolation_state in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }
EINON
Aktiviert die Option READ_COMMITTED_SNAPSHOT auf Datenbankebene.Enables the Read-Committed Snapshot option at the database level. Wenn die Option aktiviert ist, beginnen DML-Anweisungen mit der Generierung von Zeilenversionen, auch wenn keine Transaktion die Momentaufnahmeisolation verwendet.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Nachdem diese Option aktiviert wurde, verwenden Transaktionen, die die READ COMMITTED-Isolationsstufe angeben, anstelle von Sperren die Zeilenversionsverwaltung.After this option is enabled, the transactions specifying the READ COMMITTED isolation level use row versioning instead of locking. Wenn eine Transaktion auf der READ COMMITTED-Isolationsstufe ausgeführt wird, sehen alle Anweisungen eine Momentaufnahme der Daten, wie sie beim Start der Anweisung vorlagen.All statements see a snapshot of data as it exists at the start of the statement when a transaction runs at the READ COMMITTED isolation level.

OFFOFF
Deaktiviert die Option READ_COMMITTED_SNAPSHOT auf Datenbankebene.Turns off the Read-Committed Snapshot option at the database level. Transaktionen, die die READ COMMITTED-Isolationsstufe angeben, verwenden Sperren.Transactions specifying the READ COMMITTED isolation level use locking.

Wenn READ_COMMITTED_SNAPSHOT auf ON oder OFF festgelegt werden soll, dürfen außer der Verbindung, die den ALTER DATABASE-Befehl ausführt, keine aktiven Verbindungen zur Datenbank bestehen.To set READ_COMMITTED_SNAPSHOT to ON or OFF, there must be no active connections to the database except for the connection running the ALTER DATABASE command. Die Datenbank muss sich jedoch nicht im Einzelbenutzermodus befinden.However, the database doesn't have to be in single-user mode. Sie können den Status dieser Option nicht ändern, wenn die Datenbank OFFLINE ist.You can't change the state of this option when the database is OFFLINE.

Wenn Sie READ_COMMITTED_SNAPSHOT in einer READ_ONLY-Datenbank festlegen, wird die Einstellung beibehalten, wenn die Datenbank später auf READ_WRITE festgelegt wird.If you set READ_COMMITTED_SNAPSHOT in a READ_ONLY database, the setting will be kept when the database is later set to READ_WRITE.

READ_COMMITTED_SNAPSHOT kann für die Systemdatenbanken master, tempdb oder msdb nicht auf ON festgelegt werden.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Wenn Sie die Einstellung für model ändern, wird die Einstellung zur Standardeinstellung für alle neu erstellten Datenbanken, mit Ausnahme von tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte is_read_committed_snapshot_on in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the is_read_committed_snapshot_on column in the sys.databases catalog view.

Warnung

Wenn eine Tabelle mit DURABILITY = SCHEMA_ONLY erstellt wird und READ_COMMITTED_SNAPSHOT anschließend mithilfe von ALTER DATABASE geändert wird, gehen Daten in der Tabelle verloren.When a table is created with DURABILITY = SCHEMA_ONLY, and READ_COMMITTED_SNAPSHOT is subsequently changed using ALTER DATABASE, data in the table will be lost.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
EINON
Wenn die Isolationsstufe für Transaktionen auf eine niedrigere Isolationsstufe als SNAPSHOT festgelegt wird, werden alle interpretierten Transact-SQLTransact-SQL-Vorgänge für speicheroptimierte Tabelle unter der Isolationsstufe SNAPSHOT ausgeführt.When the transaction isolation level is set to any isolation level lower than SNAPSHOT, all interpreted Transact-SQLTransact-SQL operations on memory-optimized tables are run under SNAPSHOT isolation. Beispiele für Isolationsstufen, die niedriger als SNAPSHOT sind, sind READ COMMITTED oder READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Diese Vorgänge erfolgen ungeachtet des Umstands, ob die Transaktionsisolationsstufe explizit auf der Sitzungsebene festgelegt ist, oder ob implizit die Standardeinstellung verwendet wird.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
Erhöht nicht die Isolationsstufe für Transaktionen für interpretierte Transact-SQLTransact-SQL-Vorgänge für speicheroptimierte Tabellen.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Sie können den Status von MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT nicht ändern, wenn die Datenbank OFFLINE ist.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

Der Standardwert ist OFF.The default value is OFF.

Die aktuelle Einstellung dieser Option kann mithilfe der Spalte is_memory_optimized_elevate_to_snapshot_on in der sys.databases-Katalogsicht ermittelt werden.The current setting of this option can be determined by examining the is_memory_optimized_elevate_to_snapshot_on column in the sys.databases catalog view.

<sql_option> ::= <sql_option> ::=
Steuert die ANSI-Kompatibilitätsoptionen auf der Datenbankebene.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Legt den Standardwert (NULL oder NOT NULL) einer Spalte oder CLR user-defined type fest, für den die NULL-Zulässigkeit nicht explizit in den CREATE TABLE- oder ALTER TABLE-Anweisungen festgelegt wurde.Determines the default value, NULL or NOT NULL, of a column or CLR user-defined type for which the nullability isn't explicitly defined in CREATE TABLE or ALTER TABLE statements. Spalten, die mit Einschränkungen definiert werden, folgen den Einschränkungsregeln, egal wie diese Einstellung lautet.Columns that are defined with constraints follow constraint rules whatever this setting may be.

EINON
Der Standardwert ist NULL.The default value is NULL.

OFFOFF
Der Standardwert ist NOT NULL.The default value is NOT NULL.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_NULL_DEFAULT für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Für die ANSI-Kompatibilität wird durch Festlegen der Datenbankoption ANSI_NULL_DEFAULT auf ON der Datenbankstandardwert auf NULL geändert.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_null_default_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiNullDefault-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiNullDefault property of the DATABASEPROPERTYEX function.

ANSI_NULLS { ON | OFF }ANSI_NULLS { ON | OFF }
EINON
Alle Vergleiche mit einem Nullwert ergeben UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Vergleiche von Nicht-UNICODE-Werten mit einem Nullwert ergeben TRUE, wenn beide Werte NULL sind.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Wichtig

In einer späteren Version von SQL ServerSQL Server wird ANSI_NULLS immer auf ON festgelegt, und jede Anwendung, für die die Option explizit auf OFF festgelegt wird, löst einen Fehler aus.In a future version of SQL ServerSQL Server, ANSI_NULLS will always be ON and any applications that explicitly set the option to OFF will produce an error. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_NULLS für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Wichtig

SET ANSI_NULLS muss ebenfalls auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_nulls_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiNullsEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiNullsEnabled property of the DATABASEPROPERTYEX function.

ANSI_PADDING { ON | OFF }ANSI_PADDING { ON | OFF }
EINON
Zeichenfolgen werden vor der Konvertierung auf dieselbe Länge aufgefüllt.Strings are padded to the same length before conversion. Sie werden auch vor dem Einfügen in einen varchar- oder nvarchar-Datentyp durch Einfügen von Leerstellen auf dieselbe Länge gebracht.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Fügt nachfolgende Leerräume in Zeichenwerte in varchar oder nvarchar-Spalten ein.Inserts trailing blanks in character values into varchar or nvarchar columns. Belässt außerdem nachfolgende Nullen in Binärwerten, die in varbinary-Spalten eingefügt werden.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Werte werden nicht bis zur Spaltenlänge aufgefüllt.Values aren't padded to the length of the column.

Ist OFF festgelegt, wirkt sich diese Einstellung nur auf die Definition neuer Spalten aus.When OFF is specified, this setting affects only the definition of new columns.

Wichtig

In einer späteren Version von SQL ServerSQL Server wird ANSI_PADDING immer auf ON festgelegt, und jede Anwendung, für die die Option explizit auf OFF festgelegt ist, löst einen Fehler aus.In a future version of SQL ServerSQL Server, ANSI_PADDING will always be ON and any applications that explicitly set the option to OFF will produce an error. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Es wird empfohlen, für ANSI_PADDING stets den Wert ON festzulegen.We recommend that you always set ANSI_PADDING to ON. ANSI_PADDING muss beim Erstellen oder Bearbeiten von Indizes für berechnete Spalten oder indizierte Sichten auf ON festgelegt sein.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

char(n) - und binary(n) -Spalten, die NULL-Werte zulassen, werden bis zur Spaltenlänge aufgefüllt, wenn ANSI_PADDING auf ON festgelegt ist.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Ist ANSI_PADDING hingegen auf OFF festgelegt, werden nachfolgende Leerzeichen und Nullen abgeschnitten.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. char(n) - und binary(n) -Spalten, die keine NULL-Werte zulassen, werden immer bis zur Spaltenlänge aufgefüllt.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_PADDING für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_padding_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiPaddingEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiPaddingEnabled property of the DATABASEPROPERTYEX function.

ANSI_WARNINGS { ON | OFF }ANSI_WARNINGS { ON | OFF }
EINON
Fehler und Warnungen werden ausgegeben, wenn z.B. ein Fehler wegen „Division durch Null“ auftritt.Errors or warnings are issued when conditions such as divide-by-zero occur. Fehler oder Warnungen werden ebenfalls ausgegeben, wenn Nullwerte in Aggregatfunktionen auftreten.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Bei Bedingungen wie einer Division durch Null werden keine Warnungen ausgegeben, und Nullwerte werden zurückgegeben.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Wichtig

SET ANSI_WARNINGS muss auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die ANSI_WARNINGS für die Sitzung auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_ansi_warnings_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAnsiWarningsEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
EINON
Eine Abfrage wird beendet, wenn während der Abfrage ein Überlauffehler oder ein Fehler aufgrund einer Division durch Null auftritt.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Eine Warnmeldung wird angezeigt, wenn einer dieser Fehler auftritt.A warning message is displayed when one of these errors occurs. Die Verarbeitung der Abfrage, des Batches oder der Transaktion wird fortgesetzt, als wäre kein Fehler aufgetreten, selbst wenn eine Warnung angezeigt wird.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Wichtig

SET ARITHABORT muss auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_arithabort_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsArithmeticAbortEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsArithmeticAbortEnabled property of the DATABASEPROPERTYEX function.

COMPATIBILITY_LEVEL = {150 | 140 | 130 | 120 | 110 | 100}COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
Weitere Informationen finden Sie unter ALTER DATABASE-Kompatibilitätsgrad.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
EINON
Das Ergebnis einer Verkettungsoperation ist NULL, wenn einer der Operanden NULL ist.The result of a concatenation operation is NULL when either operand is NULL. Wenn z. B. die Zeichenfolge "This is" und NULL verkettet wird, ist das Ergebnis NULL statt "This is".For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
Der Nullwert wird als leere Zeichenfolge behandelt.The null value is treated as an empty character string.

Wichtig

CONCAT_NULL_YIELDS_NULL muss auf ON festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

In einer späteren Version von SQL ServerSQL Server wird CONCAT_NULL_YIELDS_NULL immer auf ON festgelegt, und jede Anwendung, für die die Option explizit auf OFF festgelegt wurde, löst einen Fehler aus.In a future version of SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL will always be ON and any applications that explicitly set the option to OFF will produce an error. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für CONCAT_NULL_YIELDS_NULL.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die CONCAT_NULL_YIELDS_NULL für die Sitzung auf ON festgelegt wird, wenn sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.By default, ODBC and OLE DB clients issue a connection-level SET statement setting CONCAT_NULL_YIELDS_NULL to ON for the session when connecting to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_concat_null_yields_null_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_concat_null_yields_null_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsNullConcat-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsNullConcat property of the DATABASEPROPERTYEX function.

QUOTED_IDENTIFIER { ON | OFF }QUOTED_IDENTIFIER { ON | OFF }
EINON
Doppelte Anführungszeichen können nur zum Einschließen von Begrenzungsbezeichnern verwendet werden.Double quotation marks can be used to enclose delimited identifiers.

Alle Zeichenfolgen, die durch doppelte Anführungszeichen begrenzt werden, werden als Objektbezeichner interpretiert.All strings delimited by double quotation marks are interpreted as object identifiers. Bezeichner in Anführungszeichen müssen nicht den Transact-SQLTransact-SQL-Regeln für Bezeichner entsprechen.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Sie können Schlüsselwörter darstellen und Zeichen einschließen, die in Transact-SQLTransact-SQL-Bezeichnern nicht zulässig sind.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Ein einfaches Anführungszeichen (’), das zur Literalzeichenfolge selbst gehört, kann durch doppelte Anführungszeichen (’’) dargestellt werden.If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Bezeichner dürfen nicht in Anführungszeichen eingeschlossen werden und müssen allen Transact-SQLTransact-SQL-Regeln für Bezeichner entsprechen.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Literale können in einfache oder doppelte Anführungszeichen eingeschlossen werden.Literals can be delimited by either single or double quotation marks.

In SQL ServerSQL Server ist es zudem möglich, Bezeichner durch eckige Klammern ([ ]) zu begrenzen.SQL ServerSQL Server also allows for identifiers to be delimited by square brackets ([ ]). Bezeichner in eckigen Klammern können immer verwendet werden, egal wie die Einstellung für QUOTED_IDENTIFIER lautet.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Weitere Informationen finden Sie unter Datenbankbezeichner.For more information, see Database Identifiers.

Beim Erstellen einer Tabelle wird die Option QUOTED IDENTIFIER immer als ON in den Metadaten der Tabelle gespeichert.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. Die Option wird gespeichert, selbst wenn die Option beim Erstellen der Tabelle auf OFF festgelegt ist.The option is stored even if the option is set to OFF when the table is created.

Einstellungen auf Verbindungsebene, die mithilfe der SET-Anweisung festgelegt werden, überschreiben die Standardeinstellung der Datenbank für QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. ODBC- und OLE DB-Clients geben standardmäßig eine SET-Anweisung aus, durch die QUOTED_IDENTIFIER auf ON festgelegt wird.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Die Clients führen die Anweisung aus, wenn Sie eine Verbindung mit einer Instanz von SQL ServerSQL Server herstellen.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Weitere Informationen finden Sie unter SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_quoted_identifier_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsQuotedIdentifiersEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsQuotedIdentifiersEnabled property of the DATABASEPROPERTYEX function.

NUMERIC_ROUNDABORT { ON | OFF }NUMERIC_ROUNDABORT { ON | OFF }
EINON
Es wird ein Fehler generiert, wenn ein Genauigkeitsverlust in einem Ausdruck auftritt.An error is generated when loss of precision occurs in an expression.

OFFOFF
Bei einem Genauigkeitsverlust wird keine Fehlermeldung generiert, und das Ergebnis wird auf die Genauigkeit der Spalte oder Variablen gerundet, die das Ergebnis speichert.Loss of precision doesn't generate an error message, and the result is rounded to the precision of the column or variable storing the result.

Wichtig

NUMERIC_ROUNDABORT muss auf OFF festgelegt sein, wenn Sie Indizes auf berechneten Spalten oder indizierten Sichten erstellen oder ändern.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_numeric_roundabort_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsNumericRoundAbortEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsNumericRoundAbortEnabled property of the DATABASEPROPERTYEX function.

RECURSIVE_TRIGGERS { ON | OFF }RECURSIVE_TRIGGERS { ON | OFF }
EINON
Das rekursive Auslösen von AFTER-Triggern ist zugelassen.Recursive firing of AFTER triggers is allowed.

OFFOFF
Sie können den Status dieser Option ermitteln, indem Sie die Spalte is_recursive_triggers_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsRecursiveTriggersEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Hinweis

Nur die direkte Rekursion wird verhindert, wenn RECURSIVE_TRIGGERS auf OFF festgelegt ist.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Sie müssen auch die Geschachtelte Trigger-Serveroption auf 0 festlegen, um die indirekte Rekursion zu deaktivieren.To disable indirect recursion, you must also set the nested triggers server option to 0.

Sie können den Status dieser Option mithilfe der Spalte is_recursive_triggers_on in der Katalogsicht sys.databases oder der IsRecursiveTriggersEnabled-Eigenschaft der DATABASEPROPERTYEX-Funktion ermitteln.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view or the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

<target_recovery_time_option> ::= <target_recovery_time_option> ::=
Gibt die Frequenz indirekter Prüfpunkte auf Basis einzelner Datenbanken an.Specifies the frequency of indirect checkpoints on a per-database basis. Ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) beträgt der Standardwert für neue Datenbanken, der darauf hindeutet, dass Datenbanken indirekte Prüfpunkte verwendet werden, eine Minute.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database will use indirect checkpoints. Der Standard für ältere Versionen ist 0 (null) und gibt an, dass die Datenbank automatische Prüfpunkte verwendet, deren Frequenz von der Einstellung für das Wiederherstellungsintervall der Serverinstanz abhängt.For older versions the default is 0, which indicates that the database will use automatic checkpoints, whose frequency depends on the recovery interval setting of the server instance. Für MicrosoftMicrosoft ist für die meisten Systeme eine Minute empfohlen.MicrosoftMicrosoft recommends 1 minute for most systems.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME =target_recovery_time { SECONDS | MINUTES }
target_recovery_time target_recovery_time
Gibt die maximale Grenze für die Zeit an, die für die Wiederherstellung der angegebenen Datenbank im Fall eines Fehlers aufgewendet wird.Specifies the maximum bound on the time to recover the specified database in the event of a crash.

SECONDSSECONDS
Gibt an, dass target_recovery_time die Anzahl von Sekunden darstellt.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Gibt an, dass target_recovery_time die Anzahl von Minuten darstellt.Indicates that target_recovery_time is expressed as the number of minutes.

Weitere Informationen zu indirekten Prüfpunkten finden Sie unter Datenbankprüfpunkte.For more information about indirect checkpoints, see Database Checkpoints.

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Gibt an, ob ein Rollback sofort oder nach Ablauf der angegebenen Sekundenzahl ausgeführt werden soll.Specifies whether to roll back after the specified number of seconds or immediately.

NO_WAITNO_WAIT
Gibt an, dass die Anforderung fehlschlägt, wenn diese Änderung des Datenbankstatus oder der Datenbankoption nicht sofort vollständig vorgenommen werden kann.Specifies that the request will fail if the requested database state or option change can't complete immediately. Der sofortige Abschluss des Vorgangs bedeutet, dass nicht darauf gewartet wird, dass Transaktionen eigenständig einen Commit oder Rollback ausführen.Completing immediately means not waiting for transactions to commit or roll back on their own.

Festlegen von OptionenSetting options

Verwenden Sie die sys.databases-Katalogsicht oder DATABASEPROPERTYEX, um die aktuellen Einstellungen für Datenbankoptionen abzurufen.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Wenn Sie eine Datenbankoption festlegen, tritt die neue Einstellung sofort in Kraft.After you set a database option, the new setting takes effect immediately.

Sie können die Standardwerte einer Datenbankoption für alle neu erstellten Datenbanken ändern.You can change the default values for any one of the database options for all newly created databases. Hierzu ändern Sie die entsprechende Datenbankoption in der Modelldatenbank.To do so, change the appropriate database option in the model database.

BeispieleExamples

A.A. Festlegen der Datenbank auf READ_ONLYSetting the database to READ_ONLY

Für die Änderung des Status einer Datenbank oder Dateigruppe in READ_ONLY oder READ_WRITE wird der exklusive Zugriff auf die Datenbank benötigt.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. Im folgenden Beispiel wird die Datenbank in den RESTRICTED_USER-Modus gesetzt, um eingeschränkten Zugriff zu erhalten.The following example sets the database to RESTRICTED_USER mode to restricted access. Anschließend wird in dem Beispiel der Status der AdventureWorks2012AdventureWorks2012-Datenbank auf READ_ONLY festgelegt und der Zugriff auf die Datenbank an alle Benutzer zurückgegeben.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

USE master;
GO
ALTER DATABASE [database_name]
SET RESTRICTED_USER;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO

B.B. Aktivieren der Momentaufnahmeisolation für eine DatenbankEnabling snapshot isolation on a database

Im folgenden Beispiel wird die Option für das Momentaufnahmeisolations-Framework für die AdventureWorks2012AdventureWorks2012-Datenbank aktiviert.The following example enables the snapshot isolation framework option for the AdventureWorks2012AdventureWorks2012 database.

USE [database_name];
USE master;
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'[database_name]';
GO

Das Resultset zeigt, dass das Framework für die Momentaufnahmeisolation aktiviert ist.The result set shows that the snapshot isolation framework is enabled.

namename snapshot_isolation_statesnapshot_isolation_state descriptiondescription
[database_name][database_name] 11 EINON

C.C. Aktivieren, Ändern und Deaktivieren der ÄnderungsnachverfolgungEnabling, modifying, and disabling change tracking

Im folgenden Beispiel wird die Änderungsnachverfolgung für die AdventureWorks2012AdventureWorks2012-Datenbank aktiviert und die Aufbewahrungsdauer auf 2 Tage festgelegt.The following example enables change tracking for the AdventureWorks2012AdventureWorks2012 database and sets the retention period to 2 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

Das folgende Beispiel veranschaulicht, wie die Beibehaltungsdauer in 3 Tage geändert wird.The following example shows how to change the retention period to 3 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

Das folgende Beispiel veranschaulicht, wie die Änderungsnachverfolgung für die AdventureWorks2012AdventureWorks2012-Datenbank deaktiviert wird.The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

D:D. Aktivieren des AbfragespeichersEnabling the Query Store

Im folgenden Beispiel werden der Abfragespeicher aktiviert und Parameter des Abfragespeichers konfiguriert.The following example enables the Query Store and configures Query Store parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      QUERY_CAPTURE_MODE = AUTO,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60
    );

E.E. Aktivieren des Abfragespeichers mit WartestatistikenEnabling the Query Store with wait statistics

Im folgenden Beispiel werden der Abfragespeicher aktiviert und dessen Parameter konfiguriert.The following example enables the Query Store and configures its parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
    );

F.F. Aktivieren des Abfragespeichers mit benutzerdefinierten ErfassungsrichtlinienoptionenEnabling the Query Store with custom capture policy options

Im folgenden Beispiel werden der Abfragespeicher aktiviert und dessen Parameter konfiguriert.The following example enables the Query Store and configures its parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
      QUERY_CAPTURE_MODE = CUSTOM,
      QUERY_CAPTURE_POLICY = (
        STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
        EXECUTION_COUNT = 30,
        TOTAL_COMPILE_CPU_TIME_MS = 1000,
        TOTAL_EXECUTION_CPU_TIME_MS = 100
      )
    );

Weitere InformationenSee Also

* Azure Synapse
Analytics *
 
* Azure Synapse
Analytics *
 

 

Azure Synapse AnalyticsAzure Synapse Analytics

SyntaxSyntax

ALTER DATABASE { database_name }
SET
{
    <optionspec> [ ,...n ]
}
;

<option_spec>::=
{
    <auto_option>
  | <db_encryption_option>
  | <query_store_options>
  | <result_set_caching>
  | <snapshot_option>
}
;

<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON }
}

<db_encryption_option> ::=
{
    ENCRYPTION { ON | OFF }
}

<query_store_option> ::=
{
    QUERY_STORE { OFF |  ON }
}

<result_set_caching_option> ::=
{
    RESULT_SET_CACHING {ON | OFF}
}

<snapshot_option> ::=
{
    READ_COMMITTED_SNAPSHOT {ON | OFF }
}

ArgumenteArguments

database_name database_name
Der Name der Datenbank, die geändert werden soll.Is the name of the database to be modified.

<auto_option> ::= <auto_option> ::=
Steuert automatische Optionen.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }

EINON
Der Abfrageoptimierer erstellt nach Bedarf Statistiken für einzelne Spalten in Abfrageprädikaten, um Abfragepläne sowie die Abfrageleistung zu verbessern.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Diese Statistiken für einzelne Spalten werden erstellt, wenn der Abfrageoptimierer Abfragen kompiliert.These single-column statistics are created when Query Optimizer compiles queries. Die Statistiken für einzelne Spalten werden nur für Spalten erstellt, die noch nicht der ersten Spalte eines vorhandenen Statistikobjekts entsprechen.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

Der Standardwert ist ON.The default is ON. Für die meisten Datenbanken empfiehlt sich die Verwendung der Standardeinstellung.We recommend that you use the default setting for most databases.

OFFOFF
Der Abfrageoptimierer erstellt beim Kompilieren von Abfragen keine Statistiken für einzelne Spalten in Abfrageprädikaten.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Das Festlegen dieser Option auf OFF kann zu suboptimalen Abfrageplänen und einer beeinträchtigten Abfrageleistung führen.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

BemerkungenRemarks

Sie müssen während der Ausführung dieses Befehls mit der Benutzerdatenbank verbunden sein.This command must be run while connected to the user database.

Sie können den Status dieser Option ermitteln, indem Sie die Spalte s_auto_create_stats_on in der sys.databases-Katalogsicht untersuchen.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Sie können den Status auch durch Untersuchen der IsAutoCreateStatistics-Eigenschaft der DATABASEPROPERTYEX-Funktion bestimmen.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Weitere Informationen finden Sie im Abschnitt „Verwenden der datenbankweiten Statistikoptionen“ unter „Statistiken“.For more information, see the section "Using the database-wide statistics options" in Statistics.

<db_encryption_option> ::= <db_encryption_option> ::=
Steuert den Status der Datenbankverschlüsselung.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }

EINON
Legt fest, dass die Datenbank verschlüsselt wird.Sets the database to be encrypted.

OFFOFF
Legt fest, dass die Datenbank nicht verschlüsselt wird.Sets the database to not be encrypted.

Weitere Informationen finden Sie unter „Transparent Data Encryption“ und „Transparent Data Encryption in Azure SQL-Datenbank“.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Wenn die Verschlüsselung auf Datenbankebene aktiviert wird, werden alle Dateigruppen verschlüsselt.When encryption is enabled at the database level, all file groups will be encrypted. Alle neuen Dateigruppen erben die verschlüsselte Eigenschaft.Any new file groups will inherit the encrypted property. Wenn Dateigruppen in der Datenbank als READ ONLY festgelegt sind, tritt beim Datenbankverschlüsselungsvorgang ein Fehler auf.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Sie können sowohl den Verschlüsselungsstatus der Datenbank als auch den Status des Verschlüsselungsscans mithilfe der dynamischen Verwaltungssicht „sys.dm_database_encryption_keys“ anzeigen.You can see the encryption state of the database as well as the state of the encryption scan by using the sys.dm_database_encryption_keys dynamic management view.

<query_store_option> ::= <query_store_option> ::=
Steuert, ob der Abfragespeicher in diesem Data Warehouse aktiviert ist.Controls whether the Query Store is enabled in this data warehouse.

QUERY_STORE { ON | OFF }QUERY_STORE { ON | OFF }

EINON
Aktiviert den Abfragespeicher.Enables the Query Store.

OFFOFF
Deaktiviert den Abfragespeicher.Disables the Query Store. OFF ist der Standardwert.OFF is the default value.

Hinweis

Für Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) müssen Sie ALTER DATABASE SET QUERY_STORE aus der Benutzerdatenbank ausführen.For Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse), you must execute ALTER DATABASE SET QUERY_STORE from the user database. Ein Ausführen dieser Anweisung aus einer anderen Data Warehouse-Instanz wird nicht unterstützt.Executing the statement from another data warehouse instance isn't supported.

<result_set_caching_option> ::= <result_set_caching_option> ::=
Gilt für: Azure Synapse AnalyticsApplies to: Azure Synapse Analytics

Steuert, ob das Abfrageergebnis in der Datenbank zwischengespeichert wird.Controls whether query result is cached in the database.

RESULT_SET_CACHING { ON | OFF}RESULT_SET_CACHING { ON | OFF}

EINON
Gibt an, dass von dieser Datenbank zurückgegebene Abfrageresultsets in der Datenbank zwischengespeichert werdenSpecifies that query result sets returned from this database will be cached in the database.

OFFOFF
Gibt an, dass von dieser Datenbank zurückgegebene Abfrageresultsets nicht in der Datenbank zwischengespeichert werdenSpecifies that query result sets returned from this database will not be cached in the database.

BemerkungenRemarks

Sie müssen während der Ausführung dieses Befehls mit der master-Datenbank verbunden sein.This command must be run while connected to the master database. Änderungen an dieser Datenbankeinstellung werden sofort wirksam.Change to this database setting takes effect immediately. Speicherkosten fallen durch das Zwischenspeichern von Abfrageresultsets an.Storage costs are incurred by caching query result sets. Nachdem die Zwischenspeicherung von Ergebnissen für eine Datenbank deaktiviert wurde, werden zuvor dauerhaft zwischengespeicherte Ergebnisse sofort aus dem Azure Synapse-Speicher gelöscht.After disabling result caching for a database, previously persisted result cache will immediately be deleted from Azure Synapse storage.

Führen Sie diesen Befehl aus, um die Cachekonfiguration der Ergebnismenge einer Datenbank zu überprüfen.Run this command to check a database's result set caching configuration. Wenn das Zwischenspeichern der Ergebnismenge aktiviert ist (ON), gibt is_result_set_caching_on 1 zurück.If result set caching is turned ON, is_result_set_caching_on will return 1.

SELECT name, is_result_set_caching_on FROM sys.databases
WHERE name = <'Your_Database_Name'>

Führen Sie diesen Befehl aus, um zu überprüfen, ob eine Abfrage mithilfe eines zwischengespeicherten Ergebnisses ausgeführt wurde.Run this command to check if a query was executed using cached result. Die Spalte „result_cache_hit“ gibt folgende Werte zurück: 1 für Cachetreffer, 0 für Cachefehler und negative Werte für Gründe, warum das Zwischenspeichern von Resultsets nicht verwendet wurde.The result_cache_hit column returns 1 for cache hit, 0 for cache miss, and negative values for reasons why result set caching was not used. Weitere Informationen hierzu finden Sie unter sys.dm_pdw_exec_requests.Check sys.dm_pdw_exec_requests for details.

SELECT request_id, command, result_cache_hit FROM sys.dm_pdw_exec_requests
WHERE request_id = <'Your_Query_Request_ID'>

Wichtig

Die Vorgänge zum Erstellen des Resultsetcaches und zum Abrufen von Daten aus dem Cache erfolgen in dem Steuerknoten einer Data Warehouse-Instanz.The operations to create result set cache and retrieve data from the cache happen on the control node of a data warehouse instance. Wenn das Zwischenspeichern von Resultsets aktiviert ist (ON), können ausgeführte Abfragen, die ein großes Resultset zurückgeben (z. B. >1 Million Zeilen), eine hohe CPU-Auslastung in dem Kontrollknoten verursachen und die gesamte Abfrageantwort auf der Instanz verlangsamen.When result set caching is turned ON, running queries that return large result set (for example, >1 million rows) can cause high CPU usage on the control node and slow down the overall query response on the instance. Diese Abfragen werden häufig beim Durchsuchen von Daten oder ETL-Vorgängen verwendet.Those queries are commonly used during data exploration or ETL operations. Benutzer sollten das Zwischenspeichern von Resultsets auf der Datenbank deaktivieren, bevor sie diese Abfragetypen ausführen, um den Kontrollknoten nicht zu belasten und Leistungsprobleme zu verursachen.To avoid stressing the control node and cause performance issue, users should turn OFF result set caching on the database before running those types of queries.

Weitere Informationen zur Leistungsoptimierung mithilfe des Zwischenspeicherns von Resultsets finden Sie in den Richtlinien zur Optimierung der Leistung.For details on performance tuning with result set caching, check Performance tuning guidance.

BerechtigungenPermissions

Ein Benutzer muss entweder über die Serverebenenprinzipal-Anmeldung verfügen, die durch den Bereitstellungsprozess erstellt wurde, oder ein Mitglied der dbmanager-Datenbankrolle sein, um die Option RESULT_SET_CACHING festlegen zu können.To set the RESULT_SET_CACHING option, a user needs server-level principal login (the one created by the provisioning process) or be a member of the dbmanager database role.

<snapshot_option> ::= <snapshot_option> ::=
Gilt für: Azure Synapse AnalyticsApplies to: Azure Synapse Analytics

Steuert die Transaktionsisolationsstufe einer Datenbank.Controls the transaction isolation level of a database.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }

EINON
Aktiviert die Option READ_COMMITTED_SNAPSHOT auf Datenbankebene.Enables the READ_COMMITTED_SNAPSHOT option at the database level.

OFFOFF
Deaktiviert die Option READ_COMMITTED_SNAPSHOT auf Datenbankebene.Turn off the READ_COMMITTED_SNAPSHOT option at the database level.

BemerkungenRemarks

Sie müssen während der Ausführung dieses Befehls mit der master-Datenbank verbunden sein.This command must be run while connected to the master database. Wenn Sie für eine Benutzerdatenbank die Option READ_COMMITTED_SNAPSHOT auf ON oder OFF festlegen, werden alle aktiven Verbindungen mit dieser Datenbank getrennt.Turning READ_COMMITTED_SNAPSHOT ON or OFF for a user database will kill all open connections to this database. Sie sollten diese Änderung innerhalb des Datenbankwartungsfensters vornehmen oder warten, bis mit Ausnahme der Verbindung, die zur Ausführung des ALTER DATABASE-Befehls verwendet wird, keine Verbindung mit der Datenbank mehr besteht.You may want to make this change during database maintenance window or wait until there's no active connection to the database except for the connection running the ALTER DATABASE command. Die Datenbank muss sich nicht im Einzelbenutzermodus befinden.The database does not have to be in single-user mode. Die Einstellung READ_COMMITTED_SNAPSHOT kann nicht auf Sitzungsebene geändert werden.Changing READ_COMMITTED_SNAPSHOT setting at session level isn't supported. Sie können mithilfe der Spalte „is_read_committed_snapshot_on“ in „sys.databases“ überprüfen, welche Einstellung für die Datenbank festgelegt ist.To verify this setting for a database, check is_read_committed_snapshot_on column in sys.databases.

Wenn für eine Datenbank READ_COMMITTED_SNAPSHOT aktiviert ist, werden Abfragen möglicherweise langsamer ausgeführt, wenn mehrere Datenversionen vorliegen und nach einer Version gesucht wird.In a database with READ_COMMITTED_SNAPSHOT enabled, queries may experience slower performance due to the scan of versions if multiple data versions are present. Lange geöffnete Transaktionen können ebenfalls zu einer Vergrößerung der Datenbank führen.Long-open transactions can also cause an increase in the size of the database. Dieses Problem tritt auf, wenn von diesen Transaktionen Datenänderungen vorgenommen werden, die die Versionsbereinigung blockieren.This issue occurs if there are data changes by these transactions that block version cleanup.

BerechtigungenPermissions

Ein Benutzer benötigt die ALTER-Berechtigung für eine Datenbank, um die Option READ_COMMITTED_SNAPSHOT festlegen zu können.To set the READ_COMMITTED_SNAPSHOT option, a user needs ALTER permission on the database.

BeispieleExamples

Überprüfen der Statistikeinstellung für eine DatenbankCheck statistics setting for a database

SELECT name, is_auto_create_stats_on FROM sys.databases

Aktivieren des Abfragespeichers für eine DatenbankEnable query store for a database

ALTER DATABASE [database_name]
SET QUERY_STORE = ON;

Aktivieren der Zwischenspeicherung von Resultsets für eine DatenbankEnable result set caching for a database

-- Run this command when connecting to the MASTER database

ALTER DATABASE [database_name]
SET RESULT_SET_CACHING ON;

Überprüfen der Einstellung für die Zwischenspeicherung von Resultsets für eine DatenbankCheck result set caching setting for a database

SELECT name, is_result_set_caching_on
FROM sys.databases;

Aktivieren der Option READ_COMMITTED_SNAPSHOT für eine DatenbankEnable the Read_Committed_Snapshot option for a database

-- Run this command when connecting to the MASTER database

ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON

Weitere InformationenSee also