Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee stelt u databaseopties in Microsoft SQL Server, Azure SQL Database en Azure Synapse Analytics in. For other ALTER DATABASE options, see ALTER DATABASE.
Note
Voor het instellen van bepaalde opties met ALTER DATABASE is mogelijk exclusieve databasetoegang vereist. Als de instructie ALTER DATABASE niet tijdig wordt voltooid, controleert u of andere sessies in de database de ALTER DATABASE-sessie blokkeren.
Zie Transact-SQL syntaxisconventiesvoor meer informatie over de syntaxisconventies.
Een product selecteren
Selecteer in de volgende rij de productnaam waarin u geïnteresseerd bent. Als u dat doet, wordt hier verschillende inhoud op deze webpagina weergegeven, geschikt voor het product dat u selecteert.
* SQL Server *
SQL Server
Databasespiegeling, AlwaysOn-beschikbaarheidsgroepen en compatibiliteitsniveaus zijn SET
opties, maar worden beschreven in afzonderlijke artikelen vanwege hun lengte. Zie ALTER DATABASE Database Mirroring, ALTER DATABASE SET HADRen ALTER DATABASE compatibility levelvoor meer informatie.
Configuraties met databasebereik worden gebruikt om verschillende databaseconfiguraties in te stellen op het niveau van de afzonderlijke database. Zie ALTER DATABASE SCOPED CONFIGURATIONvoor meer informatie.
Note
Many database set options can be configured for the current session by using SET statements and are often configured by applications when they connect. Opties voor set op sessieniveau overschrijven de ALTER DATABASE SET
waarden. De databaseopties die in de volgende secties worden beschreven, zijn waarden die u kunt instellen voor sessies die niet expliciet andere ingestelde optiewaarden bevatten.
Syntax
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>
| <data_retention_policy>
| <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>
| <optimized_locking>
| <parameterization_option>
| <query_store_options>
| <recovery_option>
| <remote_data_archive_option>
| <persistent_log_buffer_option>
| <service_broker_option>
| <snapshot_option>
| <sql_option>
| <suspend_for_snapshot_backup>
| <target_recovery_time_option>
| <termination>
| <temporal_history_retention>
}
;
<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 = { 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 }
}
<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
}
}
<persistent_log_buffer_option> ::=
{
PERSISTENT_LOG_BUFFER
{
= ON (DIRECTORY_NAME= 'path-to-directory-on-a-DAX-volume')
| = 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 = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }
}
<suspend_for_snapshot_backup> ::=
SET SUSPEND_FOR_SNAPSHOT_BACKUP = { ON | OFF } [ ( MODE = COPY_ONLY ) ]
<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 }
<optimized_locking> ::=
{
OPTIMIZED_LOCKING = { ON | OFF }
}
Arguments
database_name
De naam van de database die moet worden gewijzigd.
CURRENT
Applies to: SQL Server (Starting with SQL Server 2012 (11.x))
Hiermee wordt de actie uitgevoerd in de huidige database.
CURRENT
wordt niet ondersteund voor alle opties in alle contexten. Als CURRENT
mislukt, geeft u de databasenaam op.
< > accelerated_database_recovery ::=
Applies to: SQL Server (Starting with SQL Server 2019 (15.x))
Hiermee kunt u versnelde ADR-(Database Recovery). ADR is standaard ingesteld op UIT in SQL Server 2019 (15.x) en hoger. Met deze syntaxis kunt u een specifieke bestandsgroep aanwijzen voor de PVS-gegevens (Persistent Version Store). Als er geen bestandsgroep is opgegeven, gebruikt PVS de PRIMARY
bestandsgroep. Zie Versneld databaseherstel beherenvoor meer informatie.
Als u ACCELERATED_DATABASE_RECOVERY AAN of UIT wilt instellen, moeten er geen actieve verbindingen met de database zijn, met uitzondering van de verbinding met de opdracht ALTER DATABASE. De database hoeft zich echter niet in de modus voor één gebruiker te bevinden. U kunt de status van deze optie alleen wijzigen als de database ONLINE is.
< > auto_option ::=
Hiermee bepaalt u automatische opties.
AUTO_CLOSE { AAN | UIT }
ON
De database wordt schoon afgesloten en de bijbehorende resources worden vrijgemaakt nadat de laatste gebruiker is afgesloten.
De database wordt automatisch opnieuw geopend wanneer een gebruiker de database opnieuw probeert te gebruiken. Dit gedrag treedt bijvoorbeeld op wanneer een gebruiker een
USE database_name
instructie uitgeeft. De database kan op schone wijze worden afgesloten met AUTO_CLOSE ingesteld op AAN. Zo ja, dan wordt de database pas opnieuw geopend als een gebruiker de database de volgende keer dat de database-engine opnieuw wordt opgestart.Nadat een database is afgesloten, moet de database de volgende keer dat een toepassing de database probeert te gebruiken, eerst worden geopend en vervolgens de status is gewijzigd in online. Dit kan enige tijd duren en kan leiden tot time-outs van toepassingen.
OFF
De database blijft geopend nadat de laatste gebruiker is afgesloten.
De optie AUTO_CLOSE is handig voor bureaubladdatabases, omdat databasebestanden kunnen worden beheerd als gewone bestanden. Ze kunnen worden verplaatst, gekopieerd om back-ups te maken of zelfs naar andere gebruikers te e-mailen. Het AUTO_CLOSE proces is asynchroon; het herhaaldelijk openen en sluiten van de database vermindert de prestaties niet.
Note
De optie AUTO_CLOSE is niet beschikbaar in een ingesloten database of in SQL Database.
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.
When AUTO_CLOSE is set to ON, some columns in the sys.databases catalog view and the DATABASEPROPERTYEX function returns NULL because the database is unavailable to retrieve the data. U kunt dit probleem oplossen door een USE-instructie uit te voeren om de database te openen.
Voor databasespiegeling is AUTO_CLOSE ingesteld op UIT.
Wanneer de database is ingesteld op AUTOCLOSE = ON
, wordt de plancache voor het exemplaar van SQL Server gewist door een bewerking waarmee een automatische database wordt afgesloten. Als u de plancache wist, wordt een hercompilatie van alle volgende uitvoeringsplannen veroorzaakt. Dit kan een plotselinge, tijdelijke afname van de queryprestaties veroorzaken. Vanaf SQL Server 2005 (9.x) Service Pack 2 bevat het SQL Server-foutenlogboek voor elke gewiste cacheopslag in de plancache het volgende informatieve bericht: 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
. Dit bericht wordt elke vijf minuten geregistreerd zolang de cache binnen dat tijdsinterval wordt leeggemaakt.
De AUTO_CLOSE-instelling kan een nuttige functie zijn in sommige zeldzame situaties, bijvoorbeeld in een SQL Server-exemplaar zonder voldoende geheugen om stabiel te werken met een groot aantal databases, of voor een verouderd 32-bits SQL Server-exemplaar met een groot aantal databases. In dergelijke scenario's kan het handig zijn om AUTO_CLOSE in te schakelen en de geheugenresources te besparen die nodig zijn om een database open te houden wanneer er geen toepassing is die de database gebruikt. Wanneer de database is geopend, zijn enkele standaardgeheugentoewijzingen vereist (bijvoorbeeld interne structuren om verschillende databasemetagegevensobjecten en transactielogboekbuffers weer te geven).
AUTO_CREATE_STATISTICS { AAN | UIT }
ON
Query Optimizer maakt, indien nodig, statistieken over afzonderlijke kolommen in querypredicaten om queryplannen en queryprestaties te verbeteren. Deze statistieken met één kolom worden gemaakt wanneer Query Optimizer query's compileert. De statistieken met één kolom worden alleen gemaakt voor kolommen die nog niet de eerste kolom van een bestaand statistiekenobject zijn.
De standaardinstelling is AAN. U wordt aangeraden de standaardinstelling voor de meeste databases te gebruiken.
OFF
Query Optimizer maakt geen statistieken voor afzonderlijke kolommen in querypredicaten wanneer deze query's samenvoegt. Als u deze optie instelt op UIT, kunnen suboptimale queryplannen en verminderde queryprestaties worden veroorzaakt.
You can determine this option's status by examining the is_auto_create_stats_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAutoCreateStatistics
property of the DATABASEPROPERTYEX function.
For more information, see the section "Using the Database-wide statistics options" in Statistics.
INCREMENTEEL = AAN | AF
Applies to: SQL Server (Starting with SQL Server 2014 (12.x)) and Azure SQL Database
Stel AUTO_CREATE_STATISTICS in op AAN en stel INCREMENTEEL in op AAN. Hiermee worden automatisch gemaakte statistieken als incrementeel ingesteld wanneer incrementele statistieken worden ondersteund. De standaardwaarde is UIT. For more information, see CREATE STATISTICS.
AUTO_SHRINK { AAN | UIT }
ON
De databasebestanden zijn kandidaten voor periodieke verkleining. Tenzij u een specifieke vereiste hebt, stelt u de optie AUTO_SHRINK database niet in op AAN. Zie Een database verkleinenvoor meer informatie.
Zowel gegevensbestanden als logboekbestanden kunnen automatisch worden verkleind. AUTO_SHRINK verkleint de grootte van het transactielogboek alleen als u de database instelt op SIMPLE-herstelmodel of als u een back-up van het logboek maakt. Wanneer u AUTO_SHRINK instelt op UIT, worden de databasebestanden niet automatisch verkleind tijdens periodieke controles op ongebruikte ruimte.
De optie AUTO_SHRINK verkleint bestanden wanneer meer dan 25 procent van het bestand ongebruikte ruimte bevat. Het bestand wordt verkleind tot een van de twee grootten (afhankelijk van wat groter is):
- De grootte waarmee 25 procent van het bestand ongebruikte ruimte is
- De grootte van het bestand toen het werd gemaakt
U kunt een alleen-lezen database niet verkleinen.
OFF
De databasebestanden worden niet automatisch verkleind tijdens periodieke controles op ongebruikte ruimte.
You can determine this option's status by examining the is_auto_shrink_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAutoShrink
property of the DATABASEPROPERTYEX function.
Note
De optie AUTO_SHRINK is niet beschikbaar in een ingesloten database.
AUTO_UPDATE_STATISTICS { AAN | UIT }
ON
Hiermee geeft u op dat Query Optimizer statistieken bijwerken wanneer ze worden gebruikt door een query en wanneer ze mogelijk verouderd zijn. Statistieken worden verouderd na het invoegen, bijwerken, verwijderen of samenvoegen van bewerkingen wijzigen de gegevensdistributie in de tabel of geïndexeerde weergave. Query Optimizer bepaalt wanneer statistieken verouderd kunnen zijn door het aantal wijzigingen van gegevens te tellen sinds de laatste update van de statistieken en het vergelijken van het aantal wijzigingen aan een drempelwaarde. De drempelwaarde is gebaseerd op het aantal rijen in de tabel of geïndexeerde weergave.
Query Optimizer controleert op verouderde statistieken voordat een query wordt gecompileerd en een queryplan in de cache wordt uitgevoerd. Query Optimizer maakt gebruik van de kolommen, tabellen en geïndexeerde weergaven in het querypredicaat om te bepalen welke statistieken verouderd kunnen zijn. Query Optimizer bepaalt deze informatie voordat een query wordt gecompileerd. Voordat u een queryplan in de cache uitvoert, controleert de database-engine of het queryplan verwijst naar up-to-datumstatistieken.
De optie AUTO_UPDATE_STATISTICS is van toepassing op statistieken die zijn gemaakt voor indexen, enkelvoudige kolommen in querypredicaten en statistieken die worden gemaakt met behulp van de instructie CREATE STATISTICS. Deze optie is ook van toepassing op gefilterde statistieken.
De standaardwaarde is AAN. U wordt aangeraden de standaardinstelling voor de meeste databases te gebruiken.
Gebruik de optie AUTO_UPDATE_STATISTICS_ASYNC om op te geven of de statistieken synchroon of asynchroon worden bijgewerkt.
OFF
Hiermee geeft u op dat Query Optimizer geen statistieken bijwerkt wanneer ze worden gebruikt door een query. Query Optimizer werkt ook geen statistieken bij wanneer deze verouderd zijn. Als u deze optie instelt op UIT, kunnen suboptimale queryplannen en verminderde queryprestaties worden veroorzaakt.
You can determine this option's status by examining the is_auto_update_stats_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAutoUpdateStatistics
property of the DATABASEPROPERTYEX function.
For more information, see the section "Using the Database-wide statistics options" in Statistics.
AUTO_UPDATE_STATISTICS_ASYNC { AAN | UIT }
ON
Hiermee geeft u op dat updates voor statistieken voor de AUTO_UPDATE_STATISTICS optie asynchroon zijn. Query Optimizer wacht niet totdat de updates van statistieken zijn voltooid voordat query's worden gecompileerd.
Het instellen van deze optie op AAN heeft geen effect, tenzij AUTO_UPDATE_STATISTICS is ingesteld op AAN.
De optie AUTO_UPDATE_STATISTICS_ASYNC is standaard UITGESCHAKELD en de statistieken van Query Optimizer worden synchroon bijgewerkt.
OFF
Hiermee geeft u op dat statistiekenupdates voor de optie AUTO_UPDATE_STATISTICS synchroon zijn. Query Optimizer wacht tot de updates van statistieken zijn voltooid voordat query's worden gecompileerd.
Note
Het instellen van deze optie op UIT heeft geen effect, tenzij AUTO_UPDATE_STATISTICS is ingesteld op AAN.
You can determine this option's status by examining the is_auto_update_stats_async_on
column in the sys.databases catalog view.
For more information that describes when to use synchronous or asynchronous statistics updates, see the "Statistics options" section in Statistics.
< > automatic_tuning_option ::=
Applies to: SQL Server (Starting with SQL Server 2017 (14.x))
Enables or disables FORCE_LAST_GOOD_PLAN
Automatic tuning option. U kunt de status van deze optie bekijken in de weergave sys.database_automatic_tuning_options
.
FORCE_LAST_GOOD_PLAN = { DEFAULT | AAN | UIT }
DEFAULT
De standaardwaarde voor SQL Server is UITGESCHAKELD.
ON
De database-engine dwingt automatisch het laatst bekende goede plan af op de Transact-SQL query's waarbij een nieuw queryplan prestatieregressies veroorzaakt. De database-engine bewaakt continu de queryprestaties van de Transact-SQL query met het geforceerde plan.
Als er prestatieverbeteringen zijn, blijft de database-engine het laatst bekende goede plan gebruiken. Als er geen prestatieverbeteringen worden gedetecteerd, produceert de database-engine een nieuw queryplan. The statement fails if the Query Store isn't enabled or if the Query Store isn't in Read-Write mode.
OFF
The Database Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Deze aanbevelingen worden echter niet automatisch toegepast. Gebruikers kunnen actieve aanbevelingen controleren en geïdentificeerde problemen oplossen door Transact-SQL scripts toe te passen die in de weergave worden weergegeven. De standaardwaarde is UIT.
< > change_tracking_option ::=
Applies to: SQL Server and Azure SQL Database
Hiermee bepaalt u opties voor het bijhouden van wijzigingen. U kunt wijzigingen bijhouden inschakelen, opties instellen, opties voor wijzigen en het bijhouden van wijzigingen uitschakelen. For examples, see the Examples section later in this article.
ON
Hiermee schakelt u het bijhouden van wijzigingen voor de database in. Wanneer u wijzigingen bijhouden inschakelt, kunt u ook de opties VOOR AUTOMATISCH OPSCHONEN en BEWAARBELEID VOOR WIJZIGINGEN instellen.
AUTO_CLEANUP = { AAN | UIT }
ON
Wijzigingen bijhouden wordt automatisch verwijderd na de opgegeven bewaarperiode.
OFF
Wijzigingen bijhouden wordt niet automatisch uit de database verwijderd.
CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Hiermee geeft u de minimale periode op voor het bijhouden van wijzigingen in de database. Gegevens worden alleen verwijderd wanneer de AUTO_CLEANUP waarde is ingeschakeld.
retention_period is an integer that specifies the numerical component of the retention period.
The default retention period is 2 days. De minimale bewaarperiode is 1 minuut. The default retention type is DAYS.
UIT Schakelt het bijhouden van wijzigingen voor de database uit. Schakel wijzigingen bijhouden uit voor alle tabellen voordat u het bijhouden van wijzigingen uit de database uitschakelt.
< > containment_option ::=
Applies to: SQL Server (Starting with SQL Server 2012 (11.x))
Hiermee bepaalt u opties voor database-insluiting.
CONTAINMENT = { NONE | PARTIAL}
NONE
De database is geen ingesloten database.
PARTIAL
De database is een ingesloten database. Het instellen van database-insluiting op gedeeltelijk mislukt als de database replicatie, het vastleggen van wijzigingengegevens of het bijhouden van wijzigingen is ingeschakeld. Foutcontrole stopt na één fout. For more information about contained databases, see Contained Databases.
< > cursor_option ::=
Besturingselementen cursoropties.
CURSOR_CLOSE_ON_COMMIT { AAN | UIT }
ON
Alle cursors worden geopend wanneer u een transactie doorvoert of terugdraait.
OFF
Cursors blijven open wanneer een transactie wordt doorgevoerd; Als een transactie wordt teruggedraaid, worden alle cursors gesloten, behalve de cursors die zijn gedefinieerd als ONGEVOELIG of STATISCH.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor CURSOR_CLOSE_ON_COMMIT. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit CURSOR_CLOSE_ON_COMMIT op UIT voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET CURSOR_CLOSE_ON_COMMIT.
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 }
Applies to: SQL Server
Hiermee bepaalt u of het cursorbereik GEBRUIKMAAKT van LOCAL of GLOBAL.
LOCAL
Wanneer u LOCAL opgeeft en geen cursor als GLOBAL definieert wanneer u de cursor maakt, is het bereik van de cursor lokaal. Het bereik is specifiek lokaal voor de batch, opgeslagen procedure of trigger waarin u de cursor hebt gemaakt. De cursornaam is alleen geldig binnen dit bereik.
De cursor kan worden verwezen door lokale cursorvariabelen in de batch, opgeslagen procedure of trigger of een opgeslagen procedure OUTPUT-parameter. De cursor wordt impliciet ongedaan gemaakt wanneer de batch, opgeslagen procedure of trigger wordt beëindigd. De toewijzing van de cursor is ongedaan gemaakt, tenzij deze is doorgegeven in een OUTPUT-parameter. De cursor kan worden doorgestuurd in een OUTPUT-parameter. Als de cursor op deze manier teruggaat, wordt de toewijzing van de cursor ongedaan gemaakt wanneer de laatste variabele die verwijst naar de cursor de toewijzing ongedaan wordt gemaakt of buiten het bereik komt.
GLOBAL
Wanneer GLOBAL is opgegeven en een cursor niet is gedefinieerd als LOCAL wanneer deze wordt gemaakt, is het bereik van de cursor globaal met de verbinding. De cursornaam kan worden verwezen in elke opgeslagen procedure of batch die door de verbinding wordt uitgevoerd.
De cursor wordt impliciet de toewijzing alleen ongedaan gemaakt wanneer de verbinding is verbroken. For more information, see DECLARE CURSOR.
You can determine this option's status by examining the is_local_cursor_default
column in the sys.databases catalog view. You can also determine the status by examining the IsLocalCursorsDefault
property of the DATABASEPROPERTYEX function.
< > temporal_history_retention ::=
TEMPORAL_HISTORY_RETENTION { AAN | UIT }
STANDAARD INGESCHAKELD, maar ook automatisch ingesteld op UIT na herstelbewerking naar een bepaald tijdstip. Zie Bewaarbeleid configurerenvoor meer informatie over het inschakelen van deze instelling.
ON
Default. Hiermee schakelt u tijdelijk bewaarbeleid voor tabellen in. Zie Het bewaren van historische gegevens in tijdelijke tabellen met systeemversies beherenvoor meer informatie.
OFF
Voer geen tijdelijk historisch bewaarbeleid uit.
< > data_retention_policy ::=
Applies to: Azure SQL Edge only.
DATA_RETENTION { AAN | UIT }
ON
Hiermee schakelt u het opschonen van gegevensretentiebeleid op basis van een database in.
OFF
Hiermee schakelt u het opschonen van gegevensretentie op basis van een database uit.
<database_mirroring>
Applies to: SQL Server
Zie ALTER DATABASE Database Mirroringvoor de beschrijvingen van argumenten.
< > date_correlation_optimization_option ::=
Applies to: SQL Server
Hiermee bepaalt u de optie date_correlation_optimization.
DATE_CORRELATION_OPTIMIZATION { AAN | UIT }
ON
SQL Server maintains correlation statistics where a FOREIGN KEY constraint links any two tables in the database and the tables have datetime columns.
OFF
Correlatiestatistieken worden niet bijgehouden.
Als u DATE_CORRELATION_OPTIMIZATION wilt instellen op AAN, mogen er geen actieve verbindingen met de database zijn, met uitzondering van de verbinding die de INSTRUCTIE ALTER DATABASE uitvoert. Daarna worden meerdere verbindingen ondersteund.
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 ::=
Hiermee bepaalt u de status van de databaseversleuteling.
VERSLEUTELING { AAN | UIT | SUSPEND | CV }
ON
Hiermee stelt u in dat de database moet worden versleuteld.
OFF
Hiermee stelt u in dat de database niet wordt versleuteld.
SUSPEND
Applies to: SQL Server (Starting with SQL Server 2019 (15.x))
Kan worden gebruikt om de versleutelingsscan te onderbreken nadat transparante gegevensversleuteling is ingeschakeld of uitgeschakeld, of nadat de versleutelingssleutel is gewijzigd.
RESUME
Applies to: SQL Server (Starting with SQL Server 2019 (15.x))
Kan worden gebruikt om een eerder onderbroken versleutelingsscan te hervatten.
Zie TDE-(Transparent Data Encryption) en Transparent Data Encryption voor Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analyticsvoor meer informatie over databaseversleuteling.
Wanneer versleuteling op databaseniveau is ingeschakeld, worden alle bestandsgroepen versleuteld. Alle nieuwe bestandsgroepen nemen de versleutelde eigenschap over. Als bestandsgroepen in de database zijn ingesteld op ALLEEN-LEZEN, mislukt de bewerking voor databaseversleuteling.
You can see the encryption state of the database and the state of the encryption scan by using the sys.dm_database_encryption_keys dynamic management view.
< > db_state_option ::=
Applies to: SQL Server
Hiermee bepaalt u de status van de database.
OFFLINE
De database is gesloten, wordt schoon afgesloten en offline gemarkeerd. De database kan niet worden gewijzigd terwijl deze offline is.
ONLINE
De database is geopend en beschikbaar voor gebruik.
EMERGENCY
De database is gemarkeerd als READ_ONLY, logboekregistratie is uitgeschakeld en de toegang is beperkt tot leden van de vaste serverfunctie sysadmin. EMERGENCY wordt voornamelijk gebruikt voor probleemoplossingsdoeleinden. Een database die is gemarkeerd als verdacht vanwege een beschadigd logboekbestand, kan bijvoorbeeld worden ingesteld op de status NOOD. Met deze instelling kan de systeembeheerder alleen-lezentoegang tot de database inschakelen. Alleen leden van de vaste serverrol sysadmin kunnen een database instellen op de status NOOD.
Vereist de ALTER DATABASE
machtiging voor de onderwerpdatabase, om een database te wijzigen in de offline- of noodtoestand en het serverniveau ALTER ANY DATABASE
machtiging om een database van offline naar online te verplaatsen.
You can determine this option's status by examining the state
and state_desc
columns in the sys.databases catalog view. You can also determine the status by examining the Status
property of the DATABASEPROPERTYEX function. For more information, see Database States.
Een database die is gemarkeerd als HERSTELLEN, kan niet worden ingesteld op OFFLINE, ONLINE of NOOD. Een database kan de status HERSTELLEN hebben tijdens een actieve herstelbewerking of wanneer een herstelbewerking van een database of logboekbestand mislukt vanwege een beschadigd back-upbestand.
< > db_update_option ::=
Hiermee bepaalt u of updates zijn toegestaan voor de database.
READ_ONLY
Gebruikers kunnen gegevens uit de database lezen, maar deze niet wijzigen.
Note
Als u de queryprestaties wilt verbeteren, moet u statistieken bijwerken voordat u een database instelt op READ_ONLY. Als er extra statistieken nodig zijn nadat een database is ingesteld op READ_ONLY, maakt de database-engine statistieken in de
tempdb
systeemdatabase. For more information about statistics for a read-only database, see Statistics.READ_WRITE
De database is beschikbaar voor lees- en schrijfbewerkingen.
Als u deze status wilt wijzigen, moet u exclusieve toegang tot de database hebben. Zie de SINGLE_USER-component voor meer informatie.
Note
In federatieve Azure SQL Database-databases is SET { READ_ONLY | READ_WRITE }
uitgeschakeld.
< > db_user_access_option ::=
Hiermee beheert u de gebruikerstoegang tot de database.
SINGLE_USER
Applies to: SQL Server
Hiermee geeft u op dat slechts één gebruiker tegelijk toegang heeft tot de database. Als u SINGLE_USER opgeeft en een andere gebruiker verbinding maakt met de database, wordt de instructie ALTER DATABASE geblokkeerd totdat alle gebruikers de verbinding met de opgegeven database verbreken. Als u dit gedrag wilt overschrijven, raadpleegt u de component WITH <beëindiging>.
De database blijft in SINGLE_USER modus, zelfs als de gebruiker die de optie instelt, zich afmeldt. Op dat moment kan een andere gebruiker, maar slechts één, verbinding maken met de database.
Voordat u de database instelt op SINGLE_USER, controleert u of de optie AUTO_UPDATE_STATISTICS_ASYNC is ingesteld op UIT. Als deze optie is ingesteld op AAN, neemt de achtergrondthread die wordt gebruikt voor het bijwerken van statistieken een verbinding met de database en hebt u geen toegang tot de database in de modus voor één gebruiker. To view the status of this option, query the is_auto_update_stats_async_on
column in the sys.databases catalog view. Als de optie is ingesteld op AAN, voert u de volgende taken uit:
Stel AUTO_UPDATE_STATISTICS_ASYNC in op UIT.
Check for active asynchronous statistics jobs by querying the sys.dm_exec_background_job_queue dynamic management view.
Als er actieve taken zijn, kunt u de taken voltooien of handmatig beëindigen met behulp van KILL STATS JOB.
RESTRICTED_USER
Hiermee kunnen alleen leden van de db_owner
vaste databaserol en dbcreator
en sysadmin
vaste serverfuncties verbinding maken met de database. RESTRICTED_USER beperkt hun aantal niet. Verbreek alle verbindingen met de database met behulp van het tijdsbestek dat is opgegeven door de beëindigingsclausule van de ALTER DATABASE-instructie. Nadat de database is overgezet naar de status RESTRICTED_USER, worden verbindingspogingen door niet-gekwalificeerde gebruikers geweigerd.
MULTI_USER
Alle gebruikers met de juiste machtigingen om verbinding te maken met de database zijn toegestaan. You can determine this option's status by examining the user_access
column in the sys.databases catalog view. You can also determine the status by examining the UserAccess
property of the DATABASEPROPERTYEX function.
< > delayed_durability_option ::=
Applies to: SQL Server (Starting with SQL Server 2014 (12.x))
Bepaalt of transacties volledig duurzaam of vertraagd worden doorgevoerd.
DISABLED
Alle transacties na
SET DISABLED
zijn volledig duurzaam. Alle duurzaamheidsopties die zijn ingesteld in een atomische blok- of doorvoerinstructie, worden genegeerd.ALLOWED
Alle transacties na
SET ALLOWED
zijn volledig duurzaam of vertraagd, afhankelijk van de duurzaamheidsoptie die is ingesteld in de atomische blok- of doorvoerinstructie.FORCED
Alle transacties na
SET FORCED
worden duurzaam vertraagd. Alle duurzaamheidsopties die zijn ingesteld in een atomische blok- of doorvoerinstructie, worden genegeerd.
< > external_access_option ::=
Applies to: SQL Server
Hiermee bepaalt u of de database toegankelijk is voor externe resources, zoals objecten uit een andere database.
DB_CHAINING { AAN | UIT }
ON
De database kan de bron of het doel zijn van een keten voor eigendom van meerdere databases.
OFF
Database kan niet deelnemen aan eigendomsketens voor meerdere databases.
Important
Het exemplaar van SQL Server herkent deze instelling wanneer de optie voor het koppelen van meerdere databases 0 (UIT) is. Wanneer eigendomsketens voor meerdere databases 1 (ON) zijn, kunnen alle gebruikersdatabases deelnemen aan eigendomsketens voor meerdere databases, ongeacht de waarde van deze optie. This option is set by using sp_configure.
Als u deze optie wilt instellen, hebt u CONTROL SERVER
machtiging voor de database nodig.
De optie DB_CHAINING kan niet worden ingesteld op de master
, model
en tempdb
systeemdatabases.
You can determine this option's status by examining the is_db_chaining_on
column in the sys.databases catalog view.
BETROUWBAAR { AAN | UIT }
ON
Databasemodules (bijvoorbeeld door de gebruiker gedefinieerde functies of opgeslagen procedures) die gebruikmaken van een imitatiecontext, hebben toegang tot resources buiten de database.
OFF
Databasemodules in een imitatiecontext hebben geen toegang tot resources buiten de database.
TRUSTWORTHY is ingesteld op UIT wanneer de database is gekoppeld.
Standaard zijn alle systeemdatabases, met uitzondering van de msdb
database, BETROUWBAAR ingesteld op UIT. De waarde kan niet worden gewijzigd voor de databases model
en tempdb
. U wordt aangeraden de optie BETROUWBAAR nooit in te stellen op AAN voor de master
-database.
Als u deze optie wilt instellen, hebt u CONTROL SERVER
machtiging voor de database nodig.
You can determine this option's status by examining the is_trustworthy_on
column in the sys.databases catalog view.
DEFAULT_FULLTEXT_LANGUAGE
Applies to: SQL Server (Starting with SQL Server 2012 (11.x))
Hiermee geeft u de standaardtaalwaarde op voor geïndexeerde kolommen in volledige tekst.
Important
Deze optie is alleen toegestaan wanneer CONTAINMENT is ingesteld op PARTIAL. Als CONTAINMENT is ingesteld op NONE, treden er fouten op.
DEFAULT_LANGUAGE
Applies to: SQL Server (Starting with SQL Server 2012 (11.x))
Hiermee geeft u de standaardtaal voor alle nieuw gemaakte aanmeldingen. Taal kan worden opgegeven door de lokale id (lcid), de taalnaam of de taalalias op te geven. For a list of acceptable language names and aliases, see sys.syslanguages. Deze optie is alleen toegestaan wanneer CONTAINMENT is ingesteld op PARTIAL. Als CONTAINMENT is ingesteld op NONE, treden er fouten op.
NESTED_TRIGGERS
Applies to: SQL Server (Starting with SQL Server 2012 (11.x))
Hiermee geeft u op of een AFTER-trigger trapsgewijs kan worden uitgevoerd; Dat wil gezegd: voer een actie uit waarmee een andere trigger wordt gestart, waardoor een andere trigger wordt gestart, enzovoort. Deze optie is alleen toegestaan wanneer CONTAINMENT is ingesteld op PARTIAL. Als CONTAINMENT is ingesteld op NONE, treden er fouten op.
TRANSFORM_NOISE_WORDS
Applies to: SQL Server (Starting with SQL Server 2012 (11.x))
Wordt gebruikt om een foutbericht te onderdrukken als ruiswoorden of stopwoorden ertoe leiden dat een Booleaanse bewerking voor een query in volledige tekst mislukt. Deze optie is alleen toegestaan wanneer CONTAINMENT is ingesteld op PARTIAL. Als CONTAINMENT is ingesteld op NONE, treden er fouten op.
TWO_DIGIT_YEAR_CUTOFF
Applies to: SQL Server (Starting with SQL Server 2012 (11.x))
Hiermee geeft u een geheel getal op van 1753 tot 9999 dat het grensjaar aangeeft voor het interpreteren van tweecijferige jaren als viercijferige jaren. Deze optie is alleen toegestaan wanneer CONTAINMENT is ingesteld op PARTIAL. Als CONTAINMENT is ingesteld op NONE, treden er fouten op.
< > FILESTREAM_option ::=
Applies to: SQL Server (Starting with SQL Server 2012 (11.x))
Hiermee bepaalt u de instellingen voor FileTables.
NON_TRANSACTED_ACCESS = { UIT | READ_ONLY | VOLLEDIG }
OFF
Niet-transactionele toegang tot FileTable-gegevens is uitgeschakeld.
READ_ONLY
FILESTREAM-gegevens in FileTables in deze database kunnen worden gelezen door niet-transactionele processen.
FULL
Hiermee wordt volledige, niet-transactionele toegang tot FILESTREAM-gegevens in FileTables ingeschakeld.
DIRECTORY_NAME = <directory_name>
Een windows-compatibele mapnaam. Deze naam moet uniek zijn voor alle mapnamen op databaseniveau in het SQL Server-exemplaar. De vergelijking van uniekheid is niet hoofdlettergevoelig, ongeacht sorteringsinstellingen. Deze optie moet worden ingesteld voordat u een FileTable in deze database maakt.
< > HADR_options ::=
Applies to: SQL Server
< > mixed_page_allocation_option ::=
Applies to: SQL Server (Starting with SQL Server 2016 (13.x))
Hiermee bepaalt u of de database initiële pagina's kan maken met behulp van een gemengde omvang voor de eerste acht pagina's van een tabel of index.
MIXED_PAGE_ALLOCATION { UIT | ON }
OFF
De database maakt altijd initiële pagina's met uniforme gebieden. UIT is de standaardwaarde.
ON
De database kan initiële pagina's maken met behulp van gemengde gebieden.
Deze instelling is altijd INGESCHAKELD voor alle systeemdatabases, behalve tempdb
waar deze altijd uit is. De instelling kan niet worden gewijzigd voor systeemdatabases.
< > PARAMETERIZATION_option ::=
Hiermee bepaalt u de parameterisatieoptie. Zie de Architectuurhandleiding voor queryverwerkingvoor meer informatie over parameterisatie.
PARAMETERISATIE { SIMPLE | GEFORCEERD }
SIMPLE
Query's worden geparameteriseerd op basis van het standaardgedrag van de database.
FORCED
SQL Server parameteriseert alle query's in de database.
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 ::=
Applies to: SQL Server (Starting with SQL Server 2016 (13.x))
AAN | UIT [ ( GEDWONGEN ) ] | CLEAR [ ALL ]
Hiermee bepaalt u of Query Store is ingeschakeld in deze database en bepaalt u ook hoe de inhoud van de Query Store wordt verwijderd. Zie Query Store-gebruiksscenario'svoor meer informatie.
ON
Hiermee schakelt u Query Store in.
Veel nieuwe prestatiefuncties van SQL Server 2022 (16.x), zoals Query Store-hints, CE-feedback, DOP-feedback (Degree of Parallelism) en MGF-persistentie (Memory Grant feedback) vereist dat Query Store moet worden ingeschakeld. Voor databases die zijn hersteld van andere SQL Server-exemplaren en voor databases die zijn bijgewerkt van een in-place upgrade naar SQL Server 2022 (16.x), behouden deze databases de vorige Query Store-instellingen. Als er zich zorgen maken over de overhead van Query Store, kunnen beheerders gebruikmaken van aangepaste opnamebeleidsregels met
QUERY_CAPTURE_MODE = CUSTOM
. For examples of how to enable the Query Store with custom capture policy options, see the Examples section later in this article.UIT [ ( GEDWONGEN ) ]
Hiermee schakelt u de Query Store uit. FORCED is optioneel. MET FORCE worden alle actieve Query Store-achtergrondtaken afgebroken en wordt de synchrone flush overgeslagen wanneer Query Store is uitgeschakeld. Zorgt ervoor dat Query Store zo snel mogelijk wordt afgesloten. FORCED is van toepassing op SQL Server 2016 (13.x) SP2 CU14, SQL Server 2017 (14.x) CU21, SQL Server 2019 (15.x) CU6 en latere builds.
Note
Query Store kan niet worden uitgeschakeld in Azure SQL Database. Als u
ALTER DATABASE [database] SET QUERY_STORE = OFF
uitvoert, wordt de waarschuwing'QUERY_STORE=OFF' is not supported in this version of SQL Server.
geretourneerd.CLEAR [ ALL ]
Hiermee verwijdert u querygerelateerde gegevens uit de Query Store. ALL is optioneel. ALL verwijdert querygerelateerde gegevens en metagegevens uit de Query Store.
OPERATION_MODE { READ_ONLY | READ_WRITE }
Beschrijft de bewerkingsmodus van de Query Store.
READ_WRITE
Query Store verzamelt en bewaart gegevens over queryplannen en runtime-uitvoeringsstatistieken.
READ_ONLY
Informatie kan worden gelezen uit de Query Store, maar er worden geen nieuwe gegevens toegevoegd. Als de maximaal uitgegeven ruimte van de Query Store is uitgeput, wijzigt Query Store de bewerkingsmodus in READ_ONLY.
CLEANUP_POLICY
Beschrijft het bewaarbeleid voor gegevens van de Query Store. STALE_QUERY_THRESHOLD_DAYS bepaalt het aantal dagen waarvoor de gegevens voor een query worden bewaard in de Query Store. STALE_QUERY_THRESHOLD_DAYS is type bigint. De standaardwaarde is 30.
DATA_FLUSH_INTERVAL_SECONDS
Bepaalt de frequentie waarmee gegevens die naar de Query Store worden geschreven, op schijf worden bewaard. Om de prestaties te optimaliseren, worden gegevens die door de Query Store worden verzameld, asynchroon naar de schijf geschreven. De frequentie waarmee deze asynchrone overdracht plaatsvindt, wordt geconfigureerd met behulp van het argument DATA_FLUSH_INTERVAL_SECONDS. DATA_FLUSH_INTERVAL_SECONDS is type bigint. The default value is 900 (15 min).
MAX_STORAGE_SIZE_MB
Bepaalt de ruimte die is uitgegeven aan de Query Store. MAX_STORAGE_SIZE_MB is type bigint. The default value is 100 MB for SQL Server (SQL Server 2016 (13.x) through SQL Server 2017 (14.x)). Starting with SQL Server 2019 (15.x), the default value is 1000 MB.
MAX_STORAGE_SIZE_MB
limiet wordt niet strikt afgedwongen. De opslaggrootte wordt alleen gecontroleerd wanneer Query Store gegevens naar schijf schrijft. Dit interval wordt ingesteld door de optie DATA_FLUSH_INTERVAL_SECONDS
of de dialoogvensteroptie Query Store van Management Studio interval voor het leegmaken van gegevens. De standaardwaarde voor het interval is 900 seconden (of 15 minuten).
Als de Query Store de MAX_STORAGE_SIZE_MB
limiet tussen controles van de opslaggrootte heeft overschreden, wordt deze overgezet naar de modus Alleen-lezen. Als SIZE_BASED_CLEANUP_MODE
is ingeschakeld, wordt het opschoonmechanisme voor het afdwingen van de MAX_STORAGE_SIZE_MB
limiet ook geactiveerd.
Zodra er voldoende ruimte is gewist, schakelt de Query Store-modus automatisch terug naar lezen/schrijven.
Important
If you think that your workload capture needs 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.
Vanaf SQL Server 2019 (15.x) en in Azure SQL Database kunt u QUERY_CAPTURE_MODE
instellen op CUSTOM voor extra controle over het queryopnamebeleid.
INTERVAL_LENGTH_MINUTES
Bepaalt het tijdsinterval waarmee runtime-uitvoeringsstatistiekengegevens worden samengevoegd in de Query Store. Om te optimaliseren voor ruimtegebruik, worden de uitvoeringsstatistieken van runtime in het archief met runtimestatistieken geaggregeerd in een vast tijdvenster. Dit vaste tijdvenster wordt geconfigureerd met behulp van het argument INTERVAL_LENGTH_MINUTES. INTERVAL_LENGTH_MINUTES is type bigint. The default value is 60.
SIZE_BASED_CLEANUP_MODE { AUTO | UIT }
Hiermee bepaalt u of opschonen automatisch wordt geactiveerd wanneer de totale hoeveelheid gegevens dicht bij de maximale grootte komt.
AUTO
Size-based cleanup is automatically activated when size on disk reaches 90% of MAX_STORAGE_SIZE_MB. Op grootte gebaseerde opschoning verwijdert eerst de goedkoopste en oudste query's. It stops at approximately 80% of MAX_STORAGE_SIZE_MB. Deze waarde is de standaardconfiguratiewaarde.
OFF
Op grootte gebaseerde opschoning wordt niet automatisch geactiveerd.
SIZE_BASED_CLEANUP_MODE is type nvarchar.
QUERY_CAPTURE_MODE { ALL | AUTO | AANGEPAST | GEEN }
Hiermee wordt de momenteel actieve queryopnamemodus opgegeven. Elke modus definieert specifiek beleid voor het vastleggen van query's. QUERY_CAPTURE_MODE is type nvarchar.
Note
Cursors, query's in opgeslagen procedures en systeemeigen gecompileerde query's worden altijd vastgelegd wanneer de queryopnamemodus is ingesteld op ALL, AUTO of CUSTOM.
ALL
Legt alle query's vast. ALL is the default configuration value for SQL Server (SQL Server 2016 (13.x) through SQL Server 2017 (14.x)).
AUTO
Leg relevante query's vast op basis van het aantal uitvoeringen en het resourceverbruik. Dit is de standaardconfiguratiewaarde voor SQL Server (vanaf SQL Server 2019 (15.x)) en Azure SQL Database.
NONE
Stop met het vastleggen van nieuwe query's. Query Store blijft compileer- en runtimestatistieken verzamelen voor query's die al zijn vastgelegd. Gebruik deze configuratie met voorzichtigheid, omdat u belangrijke query's mogelijk niet kunt vastleggen.
CUSTOM
Applies to: SQL Server (Starting with SQL Server 2019 (15.x))
Allows control over the QUERY_CAPTURE_POLICY options. Aangepaste beleidsregels voor vastleggen kunnen Query Store helpen bij het vastleggen van de belangrijkste query's in uw workload. Zie de <query_capture_policy_option_list> voor aanpasbare opties.
MAX_PLANS_PER_QUERY
Hiermee definieert u het maximum aantal plannen dat voor elke query wordt onderhouden. MAX_PLANS_PER_QUERY is type int. The default value is 200.
WAIT_STATS_CAPTURE_MODE { AAN | UIT }
Applies to: SQL Server (Starting with SQL Server 2017 (14.x)))
Hiermee bepaalt u of wachtstatistieken per query worden vastgelegd.
ON
Wachtstatistiekengegevens per query worden vastgelegd. Deze waarde is de standaardconfiguratiewaarde.
OFF
Wachtstatistiekengegevens per query worden niet vastgelegd.
< > query_capture_policy_option_list :: =
Applies to: SQL Server (Starting with SQL Server 2019 (15.x))
Controls the Query Store capture policy options. Met uitzondering van STALE_CAPTURE_POLICY_THRESHOLD definiëren deze opties de OR-voorwaarden die moeten worden uitgevoerd voor het vastleggen van query's in de gedefinieerde drempelwaarde voor verlopen vastleggen van beleid.
Vanaf SQL Server 2019 (15.x) legt de instelling QUERY_CAPTURE_MODE = AUTO
details van Query Store vast wanneer een van de volgende drempelwaarden wordt bereikt:
- EXECUTION_COUNT = 30 uitvoeringen = aantal uitvoeringen
- TOTAL_COMPILE_CPU_TIME_MS = 1 seconde = compilatietijd in milliseconden
- TOTAL_EXECUTION_CPU_TIME_MS = 100 ms = cpu-tijd voor uitvoering in milliseconden
For example:
EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100
U kunt deze opties aanpassen met QUERY_CAPTURE_MODE = CUSTOM
:
STALE_CAPTURE_POLICY_THRESHOLD = integer { DAYS | HOURS }
Definieert de evaluatieperiode om te bepalen of een query moet worden vastgelegd. De standaardwaarde is 1 dag en kan worden ingesteld van 1 uur tot zeven dagen.
EXECUTION_COUNT = integer
Hiermee definieert u het aantal keren dat een query wordt uitgevoerd gedurende de evaluatieperiode. De standaardwaarde is 30, wat betekent dat voor de standaarddrempelwaarde voor verlopen capturebeleid een query minstens 30 keer in één dag moet worden uitgevoerd om te worden bewaard in de Query Store. EXECUTION_COUNT is type int.
TOTAL_COMPILE_CPU_TIME_MS = integer
Hiermee definieert u de totale verstreken CPU-tijd die door een query wordt gebruikt gedurende de evaluatieperiode. De standaardwaarde is 1000, wat betekent dat voor de standaarddrempelwaarde voor verlopen capturebeleid een query een totaal van ten minste één seconde CPU-tijd moet hebben die is besteed tijdens het compileren van query's in één dag om te worden bewaard in de Query Store. TOTAL_COMPILE_CPU_TIME_MS is type int.
TOTAL_EXECUTION_CPU_TIME_MS = integer
Hiermee definieert u de totale verstreken CPU-tijd van de uitvoering die wordt gebruikt door een query gedurende de evaluatieperiode. De standaardwaarde is 100, wat betekent dat voor de standaarddrempelwaarde voor verlopen capture-beleid een query in totaal ten minste 100 ms CPU-tijd moet hebben die is besteed tijdens de uitvoering in één dag om te worden bewaard in de Query Store. TOTAL_EXECUTION_CPU_TIME_MS is type int.
< > recovery_option ::=
Applies to: SQL Server
Hiermee bepaalt u opties voor databaseherstel en I/O-foutcontrole op schijf.
FULL
Biedt volledig herstel na een mediafout met behulp van back-ups van transactielogboeken. Als een gegevensbestand is beschadigd, kan mediaherstel alle vastgelegde transacties herstellen. For more information, see Recovery models.
BULK_LOGGED
Biedt herstel na een mediafout. Combineert de beste prestaties en minimale hoeveelheid gebruik van logboekruimte voor bepaalde grootschalige of bulkbewerkingen. Zie Het transactielogboekvoor informatie over welke bewerkingen minimaal kunnen worden geregistreerd. Onder het BULK_LOGGED herstelmodel is logboekregistratie voor deze bewerkingen minimaal. For more information, see Recovery models.
SIMPLE
Er wordt een eenvoudige back-upstrategie geboden die gebruikmaakt van minimale logboekruimte. Logboekruimte kan automatisch opnieuw worden gebruikt wanneer deze niet meer nodig is voor herstel van serverfouten. For more information, see Recovery models.
Important
Het eenvoudige herstelmodel is eenvoudiger te beheren dan de andere twee modellen, maar ten koste van een grotere blootstelling aan gegevensverlies als een gegevensbestand beschadigd is. Alle wijzigingen omdat de meest recente database- of differentiële databaseback-up verloren gaat en handmatig opnieuw moet worden doorgevoerd.
Het standaardherstelmodel wordt bepaald door het herstelmodel van de model
systeemdatabase. For more information about selecting the appropriate recovery model, see Recovery models.
You can determine this option's status by examining the recovery_model
and recovery_model_desc
columns in the sys.databases catalog view. You can also determine the status by examining the Recovery
property of the DATABASEPROPERTYEX function.
TORN_PAGE_DETECTION { ON | UIT }
ON
Onvolledige pagina's kunnen worden gedetecteerd door de database-engine.
OFF
Onvolledige pagina's kunnen niet worden gedetecteerd door de database-engine.
Important
De syntaxisstructuur TORN_PAGE_DETECTION ON | UIT wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze syntaxisstructuur in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van de syntaxisstructuur. Gebruik in plaats daarvan de optie PAGE_VERIFY.
PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | GEEN }
Detecteert beschadigde databasepagina's die worden veroorzaakt door schijf-I/O-padfouten. Schijf-I/O-padfouten kunnen de oorzaak zijn van problemen met databasebeschadiging. Deze fouten worden meestal veroorzaakt door stroomstoringen of schijfhardwarefouten die optreden op het moment dat de pagina naar de schijf wordt geschreven.
CHECKSUM
Berekent een controlesom over de inhoud van de hele pagina en slaat de waarde op in de paginakoptekst wanneer een pagina naar de schijf wordt geschreven. Wanneer de pagina van de schijf wordt gelezen, wordt de controlesom opnieuw berekend en vergeleken met de waarde van de controlesom die is opgeslagen in de paginakoptekst. Als de waarden niet overeenkomen, wordt foutbericht 824 (wat een controlesomfout aangeeft) gerapporteerd aan zowel het SQL Server-foutenlogboek als het Windows-gebeurtenislogboek. Een controlesomfout geeft een I/O-padprobleem aan. Voor het bepalen van de hoofdoorzaak is onderzoek van de hardware, firmwarestuurprogramma's, BIOS, filterstuurprogramma's (zoals virussoftware) en andere I/O-padonderdelen vereist.
TORN_PAGE_DETECTION
Hiermee wordt een specifiek 2-bits patroon opgeslagen voor elke sector van 512 bytes op de databasepagina van 8 kilobyte (KB) en opgeslagen in de koptekst van de databasepagina wanneer de pagina naar de schijf wordt geschreven. Wanneer de pagina wordt gelezen van schijf, worden de gescheurde bits die zijn opgeslagen in de paginakoptekst vergeleken met de werkelijke informatie over de paginasector.
Niet-overeenkomende waarden geven aan dat slechts een deel van de pagina naar de schijf is geschreven. In deze situatie wordt foutbericht 824 (waarmee een gescheurde paginafout wordt aangegeven) gerapporteerd aan zowel het SQL Server-foutenlogboek als het Windows-gebeurtenislogboek. Gescheurde pagina's worden doorgaans gedetecteerd door databaseherstel als het echt een onvolledige schrijfbewerking van een pagina is. Andere I/O-padfouten kunnen echter op elk gewenst moment een gescheurde pagina veroorzaken.
NONE
Schrijfbewerkingen op databasepagina's genereren geen CHECKSUM- of TORN_PAGE_DETECTION waarde. SQL Server controleert geen controlesom of gescheurde pagina tijdens een leesbewerking, zelfs niet als er een CHECKSUM- of TORN_PAGE_DETECTION-waarde aanwezig is in de paginakoptekst.
Houd rekening met de volgende belangrijke punten wanneer u de optie PAGE_VERIFY gebruikt:
The default is CHECKSUM.
Wanneer een gebruiker of systeemdatabase wordt bijgewerkt naar SQL Server 2005 (9.x) of een latere versie, wordt de PAGE_VERIFY waarde (NONE of TORN_PAGE_DETECTION) niet gewijzigd. We raden u aan om over te schakelen naar CHECKSUM.
Note
In eerdere versies van SQL Server is de optie PAGE_VERIFY database ingesteld op NONE voor de
tempdb
-database en kan deze niet worden gewijzigd. Vanaf SQL Server 2008 (10.0.x) is de standaardwaarde voor detempdb
database CHECKSUM voor nieuwe installaties van SQL Server. Wanneer u een installatie van SQL Server bijwerkt, blijft de standaardwaarde NONE. De optie kan worden gewijzigd. U wordt aangeraden CHECKSUM te gebruiken voor detempdb
-database.TORN_PAGE_DETECTION mogelijk minder resources gebruikt, maar biedt een minimale subset van de CHECKSUM-beveiliging.
PAGE_VERIFY kan worden ingesteld zonder de database offline te halen, de database te vergrendelen of anderszins gelijktijdigheid voor die database te belemmeren.
CHECKSUM is wederzijds exclusief voor TORN_PAGE_DETECTION. Beide opties kunnen niet tegelijkertijd worden ingeschakeld.
Wanneer een gescheurde pagina of controlesomfout wordt gedetecteerd, kunt u herstellen door de gegevens te herstellen of de index mogelijk opnieuw te bouwen als de fout alleen is beperkt tot indexpagina's. Als er een controlesomfout optreedt, voert u DBCC CHECKDB uit om te bepalen welk type databasepagina of pagina's is beïnvloed. For more information about restore options, see RESTORE Arguments. Hoewel het herstellen van de gegevens het probleem met gegevensbeschadiging oplost, moet de hoofdoorzaak (bijvoorbeeld schijfhardwarefout) zo snel mogelijk worden vastgesteld en gecorrigeerd om aanhoudende fouten te voorkomen.
SQL Server probeert eventuele leesbewerkingen die mislukken met een controlesom, gescheurde pagina of andere I/O-fout vier keer opnieuw. Als de leesbewerking is geslaagd in een van de nieuwe pogingen, wordt een bericht naar het foutenlogboek geschreven. De opdracht die de leesbewerking heeft geactiveerd, gaat door. De opdracht mislukt met foutbericht 824 als de nieuwe pogingen mislukken.
Zie voor meer informatie over foutberichten 823, 824 en 825:
- PROBLEMEN met MSSQLSERVER-fout 823 oplossen
- MSSQLSERVER-fout 824 oplossen
- PROBLEMEN met MSSQLSERVER-fout 825 (lees opnieuw proberen)oplossen.
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 ::=
Applies to: SQL Server (Starting with SQL Server 2016 (13.x))
Hiermee schakelt u Stretch Database voor de database in of uit. For more info, see Stretch Database.
Important
Stretch Database is afgeschaft in SQL Server 2022 (16.x) en Azure SQL Database. Deze functie wordt verwijderd in een toekomstige versie van de database-engine. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
REMOTE_DATA_ARCHIVE = { ON ( SERVER = <server_name>, { CREDENTIAL = <db_scoped_credential_name> | FEDERATED_SERVICE_ACCOUNT = AAN | UIT } ) | AF
ON
Hiermee schakelt u Stretch Database voor de database in. Zie Stretch Database inschakelen voor een databasevoor meer informatie, inclusief aanvullende vereisten.
Hiervoor is
db_owner
machtiging vereist om Stretch Database in te schakelen voor een tabel. Hiervoor zijndb_owner
enCONTROL DATABASE
machtigingen vereist om Stretch Database in te schakelen voor een database.SERVER = <server_name>
Hiermee geeft u het adres van de Azure-server. Neem het
.database.windows.net
gedeelte van de naam op. BijvoorbeeldMyStretchDatabaseServer.database.windows.net
.CREDENTIAL = <db_scoped_credential_name>
Hiermee geeft u de database scoped referentie die het exemplaar van SQL Server gebruikt om verbinding te maken met de Azure-server. Zorg ervoor dat de referentie bestaat voordat u deze opdracht uitvoert. Zie CREATE DATABASE SCOPED CREDENTIALvoor meer informatie.
FEDERATED_SERVICE_ACCOUNT = { ON | UIT }
U kunt een federatief serviceaccount voor de on-premises SQL Server gebruiken om te communiceren met de externe Azure-server wanneer aan de volgende voorwaarden wordt voldaan.
- Het serviceaccount waaronder het exemplaar van SQL Server wordt uitgevoerd, is een domeinaccount.
- Het domeinaccount behoort tot een domein waarvan Active Directory is gefedereerd met Microsoft Entra-id.
- De externe Azure-server is geconfigureerd ter ondersteuning van Microsoft Entra-verificatie.
- Het serviceaccount waaronder het exemplaar van SQL Server wordt uitgevoerd, moet worden geconfigureerd als een
dbmanager
- ofsysadmin
-account op de externe Azure-server.
Als u opgeeft dat het federatieve serviceaccount AAN is, kunt u niet ook het argument CREDENTIAL opgeven. Geef het argument CREDENTIAL op als u UIT opgeeft.
OFF
Hiermee schakelt u Stretch Database voor de database uit. Zie Stretch Database uitschakelen en externe gegevens terugbrengenvoor meer informatie.
U kunt Stretch Database alleen uitschakelen voor een database nadat de database geen tabellen meer bevat die zijn ingeschakeld voor Stretch Database. Nadat u Stretch Database hebt uitgeschakeld, stopt de gegevensmigratie. Queryresultaten bevatten ook geen resultaten meer uit externe tabellen.
Als u Stretch Database uitschakelt, wordt de externe database niet verwijderd. Als u de externe database wilt verwijderen, verwijdert u deze met behulp van Azure Portal.
PERSISTENT_LOG_BUFFER
Applies to: SQL Server 2017 (14.x) and later.
Wanneer deze optie is opgegeven, wordt de transactielogboekbuffer gemaakt op een volume dat zich op een schijfapparaat bevindt dat wordt ondersteund door Storage Class Memory (NVDIMM-N niet-compatibele opslag), ook wel een permanente logboekbuffer genoemd. Zie Latentieversnelling voor transactiedoorvoer met opslagklassegeheugen en permanente logboekbuffer toevoegen aan een databasevoor meer informatie.
< > service_broker_option ::=
Applies to: SQL Server
Hiermee bepaalt u de volgende Service Broker-opties: hiermee schakelt u de bezorging van berichten in of uit, stelt u een nieuwe Service Broker-id in of stelt u gespreksprioriteiten in op AAN of UIT.
ENABLE_BROKER
Hiermee geeft u op dat Service Broker is ingeschakeld voor de opgegeven database. Message delivery is started, and the is_broker_enabled
flag is set to true in the sys.databases catalog view. De database behoudt de bestaande Service Broker-id. Service Broker kan niet worden ingeschakeld terwijl de database de principal is in een configuratie voor databasespiegeling.
Note
ENABLE_BROKER is een exclusieve databasevergrendeling vereist. Als andere sessies resources in de database hebben vergrendeld, wacht ENABLE_BROKER totdat de andere sessies hun vergrendelingen vrijgeven. Als u Service Broker in een gebruikersdatabase wilt inschakelen, moet u ervoor zorgen dat er geen andere sessies de database gebruiken voordat u de instructie ALTER DATABASE SET ENABLE_BROKER
uitvoert, bijvoorbeeld door de database in de modus voor één gebruiker te plaatsen. Als u Service Broker wilt inschakelen in de msdb
-database, moet u eerst SQL Server Agent stoppen, zodat Service Broker de benodigde vergrendeling kan verkrijgen.
DISABLE_BROKER
Hiermee geeft u op dat Service Broker is uitgeschakeld voor de opgegeven database. Message delivery is stopped, and the is_broker_enabled
flag is set to false in the sys.databases catalog view. De database behoudt de bestaande Service Broker-id.
NEW_BROKER
Hiermee geeft u op dat de database een nieuwe broker-id moet ontvangen. De database fungeert als een nieuwe servicebroker. Als zodanig worden alle bestaande gesprekken in de database onmiddellijk verwijderd zonder dialoogvensterberichten te produceren. Elke route die verwijst naar de oude Service Broker-id, moet opnieuw worden gemaakt met de nieuwe id.
ERROR_BROKER_CONVERSATIONS
Hiermee geeft u op dat de bezorging van Service Broker-berichten is ingeschakeld. Met deze instelling blijft de bestaande Service Broker-id voor de database behouden. Service Broker beëindigt alle gesprekken in de database met een fout. Met deze instelling kunnen toepassingen regelmatig opschonen voor bestaande gesprekken.
HONOR_BROKER_PRIORITY { AAN | UIT }
ON
Verzendbewerkingen houden rekening met de prioriteitsniveaus die zijn toegewezen aan gesprekken. Berichten van gesprekken met hoge prioriteitsniveaus worden verzonden voor berichten van gesprekken waaraan lage prioriteitsniveaus zijn toegewezen.
OFF
Verzendbewerkingen worden uitgevoerd alsof alle gesprekken het standaardprioriteitsniveau hebben.
Wijzigingen in de optie HONOR_BROKER_PRIORITY direct van kracht worden voor nieuwe dialoogvensters of dialoogvensters waarvoor geen berichten worden verzonden. Dialoogvensters met berichten die moeten worden verzonden wanneer ALTER DATABASE wordt uitgevoerd, halen de nieuwe instelling pas op nadat sommige berichten voor het dialoogvenster zijn verzonden. De hoeveelheid tijd voordat alle dialoogvensters de nieuwe instelling gaan gebruiken, kan aanzienlijk variëren.
The current setting of this property is reported in the is_broker_priority_honored
column in the sys.databases catalog view.
< > snapshot_option ::=
Berekent het isolatieniveau van de transactie.
ALLOW_SNAPSHOT_ISOLATION { ON | UIT }
ON
Hiermee schakelt u de optie Momentopname in op databaseniveau. Wanneer deze optie is ingeschakeld, beginnen DML-instructies met het genereren van rijversies, zelfs wanneer er geen transactie gebruikmaakt van Momentopname-isolatie. Zodra deze optie is ingeschakeld, kunnen transacties het isolatieniveau van de SNAPSHOT-transactie opgeven. Wanneer een transactie wordt uitgevoerd op het isolatieniveau SNAPSHOT, zien alle instructies een momentopname van gegevens zoals deze zich aan het begin van de transactie bevinden. Als een transactie die wordt uitgevoerd op het isolatieniveau SNAPSHOT toegang heeft tot gegevens in meerdere databases, moet ALLOW_SNAPSHOT_ISOLATION zijn ingesteld op AAN in alle databases, of elke instructie in de transactie moet vergrendelingshints gebruiken voor elke verwijzing in een FROM-component naar een tabel in een database waar ALLOW_SNAPSHOT_ISOLATION is uitgeschakeld.
OFF
Hiermee schakelt u de optie Momentopname uit op databaseniveau. Transacties kunnen het isolatieniveau van de SNAPSHOT-transactie niet opgeven.
Wanneer u ALLOW_SNAPSHOT_ISOLATION instelt op een nieuwe status (van AAN naar UIT of van UIT naar AAN), retourneert ALTER DATABASE geen controle naar de beller totdat alle bestaande transacties in de database zijn doorgevoerd. Als de database al de status heeft die is opgegeven in de instructie ALTER DATABASE, wordt het besturingselement onmiddellijk teruggezet naar de aanroeper. 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. Als de instructie ALTER DATABASE wordt geannuleerd, blijft de database de status behouden waarin deze zich bevond toen ALTER DATABASE werd gestart. The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Als snapshot_isolation_state_desc
= IN_TRANSITION_TO_ON, wordt de opdracht ALTER DATABASE ... ALLOW_SNAPSHOT_ISOLATION OFF
zes seconden onderbroken en wordt de bewerking opnieuw uitgevoerd.
U kunt de status van ALLOW_SNAPSHOT_ISOLATION niet wijzigen als de database OFFLINE is.
Als u ALLOW_SNAPSHOT_ISOLATION instelt in een READ_ONLY database, wordt de instelling bewaard als de database later is ingesteld op READ_WRITE.
U kunt de ALLOW_SNAPSHOT_ISOLATION-instellingen voor de master
, model
, msdb
en tempdb
databases wijzigen. De instelling wordt bewaard telkens wanneer het exemplaar van de database-engine wordt gestopt en opnieuw wordt gestart als u de instelling voor tempdb
wijzigt. Als u de instelling voor model
wijzigt, wordt deze instelling de standaardinstelling voor nieuwe databases die worden gemaakt, met uitzondering van tempdb
.
De optie is standaard INGESCHAKELD voor de master
- en msdb
-databases.
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 { AAN | UIT }
ON
Hiermee schakelt u Read-Committed optie Momentopname in op databaseniveau. Wanneer deze optie is ingeschakeld, beginnen DML-instructies met het genereren van rijversies, zelfs wanneer er geen transactie gebruikmaakt van Momentopname-isolatie. Zodra deze optie is ingeschakeld, gebruiken de transacties die het isolatieniveau lezen aangeven rijversiebeheer in plaats van vergrendelen. Alle instructies zien een momentopname van gegevens zoals deze bestaan aan het begin van de instructie wanneer een transactie wordt uitgevoerd op het isolatieniveau READ COMMITTED.
OFF
Hiermee schakelt u Read-Committed optie Momentopname op databaseniveau uit. Transacties die het isolatieniveau READ COMMITTED opgeven, maken gebruik van vergrendeling.
Als u READ_COMMITTED_SNAPSHOT AAN of UIT wilt instellen, moeten er geen actieve verbindingen met de database zijn, met uitzondering van de verbinding met de opdracht ALTER DATABASE. De database hoeft zich echter niet in de modus voor één gebruiker te bevinden. U kunt de status van deze optie niet wijzigen wanneer de database OFFLINE is.
Als u READ_COMMITTED_SNAPSHOT instelt in een READ_ONLY database, wordt de instelling bewaard wanneer de database later is ingesteld op READ_WRITE.
READ_COMMITTED_SNAPSHOT kan niet worden ingeschakeld voor de master
, tempdb
of msdb
systeemdatabases. Als u de instelling voor model
wijzigt, wordt deze instelling de standaardinstelling voor nieuwe databases die zijn gemaakt, met uitzondering van tempdb
.
The current setting of this option can be determined by examining the is_read_committed_snapshot_on
column in the sys.databases catalog view.
Warning
Wanneer een tabel wordt gemaakt met DUURZAAMHEID = SCHEMA_ONLYen READ_COMMITTED_SNAPSHOT vervolgens wordt gewijzigd met ALTER DATABASE, gaan de gegevens in de tabel verloren.
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { AAN | UIT }
Applies to: SQL Server (Starting with SQL Server 2014 (12.x))
ON
Wanneer het niveau van transactieisolatie is ingesteld op een isolatieniveau dat lager is dan MOMENTOPNAME, worden alle geïnterpreteerde Transact-SQL bewerkingen op tabellen die zijn geoptimaliseerd voor geheugen, uitgevoerd onder MOMENTOPNAME-isolatie. Voorbeelden van isolatieniveaus die lager zijn dan momentopnamen zijn READ COMMITTED of READ UNCOMMITTED. Deze bewerkingen worden uitgevoerd of het niveau van transactieisolatie expliciet is ingesteld op sessieniveau, of de standaardinstelling wordt impliciet gebruikt.
OFF
Verhoogt het niveau van transactieisolatie niet voor geïnterpreteerde Transact-SQL bewerkingen op tabellen die zijn geoptimaliseerd voor geheugen.
U kunt de status van MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT niet wijzigen als de database OFFLINE is.
De standaardoptie is UIT.
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 ::=
Hiermee bepaalt u de ANSI-nalevingsopties op databaseniveau.
ANSI_NULL_DEFAULT { AAN | UIT }
Bepaalt de standaardwaarde, NULL of NOT NULL, van een kolom of door de gebruiker gedefinieerde CLR-type waarvoor de null-waarde niet expliciet is gedefinieerd in CREATE TABLE- of ALTER TABLE-instructies. Kolommen die zijn gedefinieerd met beperkingen volgen regels voor beperkingen, ongeacht wat deze instelling kan zijn.
ON
De standaardwaarde voor een niet-gedefinieerde kolom is NULL.
OFF
De standaardwaarde voor een niet-gedefinieerde kolom is NOT NULL.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaardinstelling op databaseniveau voor ANSI_NULL_DEFAULT. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_NULL_DEFAULT op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_NULL_DFLT_ON.
Voor ANSI-compatibiliteit stelt u de databaseoptie in ANSI_NULL_DEFAULT op AAN wijzigt de standaardwaarde van de database in NULL.
You can determine this option's status by examining the is_ansi_null_default_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiNullDefault
property of the DATABASEPROPERTYEX function.
ANSI_NULLS { AAN | UIT }
ON
Alle vergelijkingen met een null-waarde resulteren in ONBEKEND.
OFF
Vergelijkingen van niet-Unicode-waarden met een null-waarde resulteren in WAAR als beide waarden NULL zijn.
Important
In een toekomstige versie van SQL Server is ANSI_NULLS altijd INGESCHAKELD en eventuele toepassingen die de optie expliciet op UIT instellen, veroorzaken een fout. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor ANSI_NULLS. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_NULLS op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_NULLS.
Important
SET ANSI_NULLS moet ook worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
You can determine this option's status by examining the is_ansi_nulls_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiNullsEnabled
property of the DATABASEPROPERTYEX function.
ANSI_PADDING { AAN | UIT }
ON
Tekenreeksen worden opgevuld tot dezelfde lengte voordat de conversie wordt uitgevoerd. Also padded to the same length before inserting to a varchar or nvarchar data type.
OFF
Inserts trailing blanks in character values into varchar or nvarchar columns. Also leaves trailing zeros in binary values that are inserted into varbinary columns. Waarden worden niet opgevuld tot de lengte van de kolom.
Wanneer UIT is opgegeven, is deze instelling alleen van invloed op de definitie van nieuwe kolommen.
Important
In een toekomstige versie van SQL Server is ANSI_PADDING altijd INGESCHAKELD en eventuele toepassingen die de optie expliciet op UIT instellen, veroorzaken een fout. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. U wordt aangeraden ANSI_PADDING altijd in te stellen op AAN. ANSI_PADDING moet zijn ingeschakeld wanneer u indexen maakt of bewerkt voor berekende kolommen of geïndexeerde weergaven.
char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Afsluitende lege waarden en nullen worden afgekapt wanneer ANSI_PADDING uit is. char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaardinstelling op databaseniveau voor ANSI_PADDING. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_PADDING op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_PADDING.
You can determine this option's status by examining the is_ansi_padding_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiPaddingEnabled
property of the DATABASEPROPERTYEX function.
ANSI_WARNINGS { AAN | UIT }
ON
Fouten of waarschuwingen worden uitgegeven wanneer er voorwaarden zoals delen door nul optreden. Fouten en waarschuwingen worden ook uitgegeven wanneer null-waarden worden weergegeven in statistische functies.
OFF
Er worden geen waarschuwingen gegenereerd en null-waarden worden geretourneerd wanneer voorwaarden zoals delen door nul optreden.
Important
SET ANSI_WARNINGS moet worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor ANSI_WARNINGS. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_WARNINGS op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_WARNINGS.
You can determine this option's status by examining the is_ansi_warnings_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiWarningsEnabled
property of the DATABASEPROPERTYEX function.
ARITHABORT { ON | UIT }
ON
Een query wordt beëindigd wanneer er een overloop- of deel-by-nul-fout optreedt tijdens de uitvoering van de query.
OFF
Er wordt een waarschuwingsbericht weergegeven wanneer een van deze fouten optreedt. De query, batch of transactie blijft verwerken alsof er geen fout is opgetreden, zelfs als er een waarschuwing wordt weergegeven.
Important
SET ARITHABORT moet worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen op berekende kolommen of geïndexeerde weergaven.
You can determine this option's status by examining the is_arithabort_on
column in the sys.databases catalog view. You can also determine the status by examining the IsArithmeticAbortEnabled
property of the DATABASEPROPERTYEX function.
COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
Zie ALTER DATABASE-compatibiliteitsniveauvoor meer informatie.
CONCAT_NULL_YIELDS_NULL { AAN | UIT }
ON
Het resultaat van een samenvoegingsbewerking is NULL wanneer een van beide operanden NULL is. Als u bijvoorbeeld de tekenreeks 'Dit is' samenvoegt en NULL de WAARDE NULL retourneert in plaats van de waarde 'Dit is'.
OFF
De null-waarde wordt behandeld als een lege tekenreeks.
Important
CONCAT_NULL_YIELDS_NULL moet worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
In toekomstige versies van SQL Server is CONCAT_NULL_YIELDS_NULL altijd INGESCHAKELD en eventuele toepassingen die de optie expliciet op UIT instellen, activeren een fout. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor CONCAT_NULL_YIELDS_NULL. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit CONCAT_NULL_YIELDS_NULL aan AAN voor de sessie wanneer er verbinding wordt gemaakt met een exemplaar van SQL Server. For more information, see SET CONCAT_NULL_YIELDS_NULL.
You can determine this option's status by examining the is_concat_null_yields_null_on
column in the sys.databases catalog view. You can also determine the status by examining the IsNullConcat
property of the DATABASEPROPERTYEX function.
NUMERIC_ROUNDABORT { AAN | UIT }
ON
Er wordt een fout gegenereerd wanneer verlies van precisie optreedt in een expressie.
OFF
Verlies van precisie genereert geen foutbericht en het resultaat wordt afgerond op de precisie van de kolom of variabele die het resultaat opslaat.
Important
NUMERIC_ROUNDABORT moet zijn ingesteld op UIT wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
You can determine the status of this option in the is_numeric_roundabort_on
column in the sys.databases catalog view. You can also determine the status by examining the IsNumericRoundAbortEnabled
property of the DATABASEPROPERTYEX function.
QUOTED_IDENTIFIER { AAN | UIT }
ON
Dubbele aanhalingstekens kunnen worden gebruikt om gescheiden id's in te sluiten.
Alle tekenreeksen die door dubbele aanhalingstekens worden gescheiden, worden geïnterpreteerd als object-id's. De Transact-SQL-regels voor id's hoeven niet te worden gevolgd. Dit kunnen trefwoorden zijn en tekens bevatten die niet zijn toegestaan in Transact-SQL id's. Als een dubbel aanhalingsteken (
"
) deel uitmaakt van de id, kan deze worden vertegenwoordigd door twee dubbele aanhalingstekens (""
).OFF
Id's mogen niet tussen aanhalingstekens staan en moeten alle Transact-SQL regels voor id's volgen. Letterlijke tekens kunnen worden gescheiden door enkele of dubbele aanhalingstekens.
Met SQL Server kunnen id's ook worden gescheiden door vierkante haken ([
en ]
). Id's met haakjes kunnen altijd worden gebruikt, ongeacht de QUOTED_IDENTIFIER instelling. For more information, see Database identifiers.
Wanneer een tabel wordt gemaakt, wordt de optie AAN-ID altijd opgeslagen als AAN in de metagegevens van de tabel. De optie wordt opgeslagen, zelfs als de optie is ingesteld op UIT wanneer de tabel wordt gemaakt.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor QUOTED_IDENTIFIER. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit QUOTED_IDENTIFIER op AAN. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET QUOTED_IDENTIFIER.
You can determine this option's status by examining the is_quoted_identifier_on
column in the sys.databases catalog view. You can also determine the status by examining the IsQuotedIdentifiersEnabled
property of the DATABASEPROPERTYEX function.
RECURSIVE_TRIGGERS { AAN | UIT }
ON
Recursieve schieting van AFTER-triggers is toegestaan.
OFF
You can determine this option's status by examining the
is_recursive_triggers_on
column in the sys.databases catalog view. You can also determine the status by examining theIsRecursiveTriggersEnabled
property of the DATABASEPROPERTYEX function.
Note
Alleen directe recursie wordt voorkomen wanneer RECURSIVE_TRIGGERS is ingesteld op UIT. Als u indirecte recursie wilt uitschakelen, moet u ook de serveroptie geneste triggers instellen op 0.
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.
< > suspend_for_snapshot_backup ::=
Applies to: SQL Server (Starting with SQL Server 2022 (16.x))
Onderbreekt databases voor back-ups van momentopnamen. Kan een groep van een of meer databases definiëren. Kan de modus alleen kopiëren aanwijzen.
SET SUSPEND_FOR_SNAPSHOT_BACKUP = { ON | OFF }
Onderbreekt of onderbreekt databases. Default OFF.
MODE = COPY_ONLY
Optional. Maakt gebruik van COPY_ONLY modus.
< > target_recovery_time_option ::=
Applies to: SQL Server (Starting with SQL Server 2012 (11.x))
Hiermee geeft u de frequentie van indirecte controlepunten per database. Starting with SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates the database uses indirect checkpoints. Voor oudere versies is de standaardwaarde 0, wat aangeeft dat de database automatische controlepunten gebruikt, waarvan de frequentie afhankelijk is van de herstelintervalinstelling van het serverexemplaren. Microsoft raadt 1 minuut aan voor de meeste systemen.
TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
target_recovery_time
Hiermee geeft u de maximumgrens voor de tijd voor het herstellen van de opgegeven database in het geval van een crash. target_recovery_time is type int.
SECONDS
Indicates that target_recovery_time is expressed as the number of seconds.
MINUTES
Indicates that target_recovery_time is expressed as the number of minutes.
For more information about indirect checkpoints, see Database checkpoints.
OPTIMIZED_LOCKING { AAN | UIT }
Applies to: SQL Server (Starting with SQL Server 2025 (17.x) Preview)
Enables optimized locking. Geoptimaliseerde vergrendeling is standaard ingesteld op UIT.
Als u OPTIMIZED_LOCKING AAN of UIT wilt instellen, moeten er geen actieve verbindingen met de database zijn, met uitzondering van de verbinding met de opdracht ALTER DATABASE. De database hoeft zich echter niet in de modus voor één gebruiker te bevinden. U kunt de status van deze optie alleen wijzigen als de database ONLINE is.
MET <beëindiging> ::=
Hiermee geeft u op wanneer onvolledige transacties moeten worden teruggedraaid wanneer de database van de ene status naar de andere wordt overgezet. Als de beëindigingsclausule wordt weggelaten, wacht de instructie ALTER DATABASE voor onbepaalde tijd als er een vergrendeling op de database is. Er kan slechts één beëindigingsclausule worden opgegeven en volgt de SET-componenten.
Note
Niet alle databaseopties maken gebruik van de component WITH <beëindiging>. For more information, see the table under Setting options of the "Remarks" section of this article.
ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Hiermee geeft u op of u wilt terugdraaien na het opgegeven aantal seconden of onmiddellijk.
NO_WAIT
Hiermee geeft u op dat de aanvraag mislukt als de aangevraagde databasestatus of optiewijziging niet onmiddellijk kan worden voltooid. Onmiddellijk voltooien betekent niet wachten op het doorvoeren of terugdraaien van transacties.
Set options
To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX
Nadat u een databaseoptie hebt ingesteld, wordt de nieuwe instelling onmiddellijk van kracht.
U kunt de standaardwaarden wijzigen voor een van de databaseopties voor alle nieuw gemaakte databases. Hiervoor wijzigt u de juiste databaseoptie in de model
-database.
Niet alle databaseopties gebruiken de component WITH <beëindiging> of kunnen worden opgegeven in combinatie met andere opties. De volgende tabel bevat deze opties en hun optie en beëindigingsstatus.
Options category | Kan worden opgegeven met andere opties | Kan de component WITH <beëindiging> gebruiken |
---|---|---|
<db_state_option> | Yes | Yes |
<db_user_access_option> | Yes | Yes |
<db_update_option> | Yes | Yes |
<delayed_durability_option> | Yes | Yes |
<external_access_option> | Yes | No |
<cursor_option> | Yes | No |
<auto_option> | Yes | No |
<sql_option> | Yes | No |
<recovery_option> | Yes | No |
<target_recovery_time_option> | No | Yes |
<database_mirroring_option> | No | No |
ALLOW_SNAPSHOT_ISOLATION | No | No |
READ_COMMITTED_SNAPSHOT | No | Yes |
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT | Yes | Yes |
<service_broker_option> | Yes | No |
DATE_CORRELATION_OPTIMIZATION | Yes | Yes |
<parameterization_option> | Yes | Yes |
<change_tracking_option> | Yes | Yes |
<db_encryption_option> | Yes | No |
<accelerated_database_recovery> | No | Yes |
<optimized_locking> | No | Yes |
De plancache voor het exemplaar van SQL Server wordt gewist door een van de volgende opties in te stellen:
OFFLINE
ONLINE
MODIFY_NAME
COLLATE
READ_ONLY
READ_WRITE
STANDAARDBESTANDSGROEP WIJZIGEN
FILEGROUP-READ_WRITE WIJZIGEN
FILEGROUP-READ_ONLY WIJZIGEN
De plancache wordt ook leeggemaakt in de volgende scenario's.
- Voor een database is de optie AUTO_CLOSE database ingesteld op AAN. Wanneer er geen gebruikersverbindingsverwijzingen zijn of de database worden gebruikt, probeert de achtergrondtaak de database automatisch te sluiten en af te sluiten.
- U voert verschillende query's uit op een database met standaardopties. Vervolgens wordt de database verwijderd.
- Een momentopname van een database voor een brondatabase wordt verwijderd.
- U hebt het transactielogboek voor een database opnieuw opgebouwd.
- U herstelt een databaseback-up.
- U koppelt een database los.
Als u de plancache wist, wordt een hercompilatie van alle volgende uitvoeringsplannen veroorzaakt. Dit kan een plotselinge, tijdelijke afname van de queryprestaties veroorzaken. Voor elk gewist cachearchief in de plancache bevat het SQL Server-foutenlogboek het volgende informatieve bericht: 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
. Dit bericht wordt elke vijf minuten geregistreerd zolang de cache binnen dat tijdsinterval wordt leeggemaakt.
Examples
A. Opties instellen voor een database
In het volgende voorbeeld worden de verificatieopties voor het herstelmodel en de gegevenspagina ingesteld voor de AdventureWorks2022
voorbeelddatabase.
USE master;
GO
ALTER DATABASE [database_name]
SET RECOVERY FULL PAGE_VERIFY CHECKSUM;
GO
B. De database instellen op READ_ONLY
Het wijzigen van de status van een database of bestandsgroep in READ_ONLY of READ_WRITE vereist exclusieve toegang tot de database. In het volgende voorbeeld wordt de database ingesteld op SINGLE_USER
modus om exclusieve toegang te verkrijgen. In het voorbeeld wordt vervolgens de status van de AdventureWorks2022
-database ingesteld op READ_ONLY
en wordt toegang tot de database geretourneerd aan alle gebruikers.
Note
In dit voorbeeld wordt de beëindigingsoptie WITH ROLLBACK IMMEDIATE
in de eerste ALTER DATABASE
-instructie gebruikt. Alle onvolledige transacties worden teruggedraaid en eventuele andere verbindingen met de AdventureWorks2022
database worden onmiddellijk verbroken.
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. Isolatie van momentopnamen inschakelen voor een database
In het volgende voorbeeld wordt de optie voor isolatieframework voor momentopnamen ingeschakeld voor de AdventureWorks2022
-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
De resultatenset laat zien dat het framework voor isolatie van momentopnamen is ingeschakeld.
name | snapshot_isolation_state | description |
---|---|---|
[database_name] | 1 | ON |
D. Wijzigingen bijhouden inschakelen, wijzigen of uitschakelen
In het volgende voorbeeld wordt het bijhouden van wijzigingen voor de AdventureWorks2022
database ingeschakeld en wordt de bewaarperiode ingesteld op 2
dagen.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);
In het volgende voorbeeld ziet u hoe u de bewaarperiode wijzigt in 3
dagen.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);
In het volgende voorbeeld ziet u hoe u het bijhouden van wijzigingen voor de AdventureWorks2022
-database kunt uitschakelen.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;
E. Query Store inschakelen
Applies to: SQL Server (Starting with SQL Server 2016 (13.x))
In het volgende voorbeeld wordt Query Store ingeschakeld en worden de parameters geconfigureerd.
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. Query Store met wachtstatistieken inschakelen
Applies to: SQL Server (Starting with SQL Server 2017 (14.x))
In het volgende voorbeeld wordt Query Store ingeschakeld en worden de parameters geconfigureerd.
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. Query Store inschakelen met aangepaste beleidsopties voor vastleggen
Applies to: SQL Server (Starting with SQL Server 2019 (15.x))
In het volgende voorbeeld wordt Query Store ingeschakeld en worden de parameters geconfigureerd.
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
)
);
Related content
- Statistics
- DATABASEPROPERTYEX (Transact-SQL)
- sys.databases
- sys.data_spaces
- sys.database_automatic_tuning_options
- sys.database_automatic_tuning_mode
- ALTER DATABASE-compatibiliteitsniveau
- ALTER DATABASE Mirroring
- ALTER DATABASE SET HADR
- CREATE DATABASE
- Wijzigingen bijhouden (SQL Server) in- en uitschakelen
-
DROP DATABASE (Transact-SQL) - TRANSACTIEISOLATIENIVEAU (Transact-SQL) instellen
- sp_configure
- Aanbevolen procedures voor het bewaken van workloads met Query Store-
* SQL Database *
SQL Database
Compatibiliteitsniveaus zijn SET
opties, maar worden beschreven in ALTER DATABASE-compatibiliteitsniveau.
Note
Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. Opties voor set op sessieniveau overschrijven de ALTER DATABASE SET
waarden. De databaseopties die in de volgende secties worden beschreven, zijn waarden die kunnen worden ingesteld voor sessies die niet expliciet andere ingestelde optiewaarden bevatten.
Syntax
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 = { 160 | 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 }
Arguments
database_name
De naam van de database die moet worden gewijzigd.
CURRENT
CURRENT
voert de actie uit in de huidige database.CURRENT
wordt niet ondersteund voor alle opties in alle contexten. AlsCURRENT
mislukt, geeft u de databasenaam op.
< > auto_option ::=
Hiermee bepaalt u automatische opties.
AUTO_CREATE_STATISTICS { AAN | UIT }
ON
Query Optimizer maakt zo nodig statistieken voor afzonderlijke kolommen in querypredicaten om queryplannen en queryprestaties te verbeteren. Deze statistieken met één kolom worden gemaakt wanneer Query Optimizer query's compileert. De statistieken met één kolom worden alleen gemaakt voor kolommen die nog niet de eerste kolom van een bestaand statistiekenobject zijn.
De standaardwaarde is AAN. U wordt aangeraden de standaardinstelling voor de meeste databases te gebruiken.
OFF
Query Optimizer maakt geen statistieken voor afzonderlijke kolommen in querypredicaten bij het compileren van query's. Als u deze optie instelt op UIT, kunnen suboptimale queryplannen en verminderde queryprestaties worden veroorzaakt.
You can determine this option's status by examining the is_auto_create_stats_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAutoCreateStatistics
property of the DATABASEPROPERTYEX function.
For more information, see the "Statistics options" section in Statistics.
INCREMENTEEL = AAN | AF
Stel AUTO_CREATE_STATISTICS in op AAN en stel INCREMENTEEL in op AAN. Met deze instelling worden automatisch gemaakte statistieken gemaakt als incrementeel wanneer incrementele statistieken worden ondersteund. De standaardwaarde is UIT. For more information, see CREATE STATISTICS.
AUTO_SHRINK { AAN | UIT }
ON
De databasebestanden zijn kandidaten voor periodieke verkleining. Tenzij u een specifieke vereiste hebt, stelt u de optie AUTO_SHRINK database niet in op AAN. Zie Een database verkleinenvoor meer informatie.
Zowel gegevensbestanden als logboekbestanden kunnen automatisch worden verkleind. AUTO_SHRINK verkleint de grootte van het transactielogboek alleen als u de database instelt op SIMPLE-herstelmodel of als u een back-up van het logboek maakt. Wanneer deze is ingesteld op UIT, worden de databasebestanden niet automatisch verkleind tijdens periodieke controles op ongebruikte ruimte.
De optie AUTO_SHRINK zorgt ervoor dat bestanden worden verkleind wanneer meer dan 25 procent van het bestand ongebruikte ruimte bevat. De optie zorgt ervoor dat het bestand wordt verkleind tot een van de twee grootten. Het verkleint naar de items die groter zijn:
- De grootte waarbij 25 procent van het bestand ongebruikte ruimte is
- De grootte van het bestand toen het werd gemaakt
U kunt een alleen-lezen database niet verkleinen.
OFF
De databasebestanden worden niet automatisch verkleind tijdens periodieke controles op ongebruikte ruimte.
You can determine this option's status by examining the is_auto_shrink_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAutoShrink
property of the DATABASEPROPERTYEX function.
Note
De optie AUTO_SHRINK is niet beschikbaar in een ingesloten database.
AUTO_UPDATE_STATISTICS { AAN | UIT }
ON
Hiermee geeft u op dat Query Optimizer statistieken bijwerken wanneer ze worden gebruikt door een query en wanneer ze mogelijk verouderd zijn. Statistieken worden verouderd na het invoegen, bijwerken, verwijderen of samenvoegen van bewerkingen wijzigen de gegevensdistributie in de tabel of geïndexeerde weergave. Query Optimizer bepaalt wanneer statistieken verouderd kunnen zijn door het aantal wijzigingen van gegevens te tellen sinds de laatste update van de statistieken en het vergelijken van het aantal wijzigingen aan een drempelwaarde. De drempelwaarde is gebaseerd op het aantal rijen in de tabel of geïndexeerde weergave.
Query Optimizer controleert op verouderde statistieken voordat een query wordt gecompileerd en een queryplan in de cache wordt uitgevoerd. Query Optimizer maakt gebruik van de kolommen, tabellen en geïndexeerde weergaven in het querypredicaat om te bepalen welke statistieken verouderd kunnen zijn. Query Optimizer bepaalt deze informatie voordat een query wordt gecompileerd. Voordat u een queryplan in de cache uitvoert, controleert de database-engine of het queryplan verwijst naar up-to-datumstatistieken.
De optie AUTO_UPDATE_STATISTICS is van toepassing op statistieken die zijn gemaakt voor indexen, enkelvoudige kolommen in querypredicaten en statistieken die worden gemaakt met behulp van de instructie CREATE STATISTICS. Deze optie is ook van toepassing op gefilterde statistieken.
De standaardwaarde is AAN. U wordt aangeraden de standaardinstelling voor de meeste databases te gebruiken.
Gebruik de optie AUTO_UPDATE_STATISTICS_ASYNC om op te geven of de statistieken synchroon of asynchroon worden bijgewerkt.
OFF
Hiermee geeft u op dat Query Optimizer geen statistieken bijwerkt wanneer ze worden gebruikt door een query. Query Optimizer werkt ook geen statistieken bij wanneer deze verouderd zijn. Als u deze optie instelt op UIT, kunnen suboptimale queryplannen en verminderde queryprestaties worden veroorzaakt.
You can determine this option's status by examining the
is_auto_update_stats_on
column in the sys.databases catalog view. You can also determine the status by examining theIsAutoUpdateStatistics
property of the DATABASEPROPERTYEX function.For more information, see the "Statistics options" section in Statistics.
AUTO_UPDATE_STATISTICS_ASYNC { AAN | UIT }
ON
Hiermee geeft u op dat updates voor statistieken voor de AUTO_UPDATE_STATISTICS optie asynchroon zijn. Query Optimizer wacht niet totdat de updates van statistieken zijn voltooid voordat query's worden gecompileerd.
Het instellen van deze optie op AAN heeft geen effect, tenzij AUTO_UPDATE_STATISTICS is ingesteld op AAN.
De optie AUTO_UPDATE_STATISTICS_ASYNC is standaard ingesteld op UIT en Query Optimizer werkt statistieken synchroon bij.
OFF
Hiermee geeft u op dat statistiekenupdates voor de optie AUTO_UPDATE_STATISTICS synchroon zijn. Query Optimizer wacht tot de updates van statistieken zijn voltooid voordat query's worden gecompileerd.
Het instellen van deze optie op UIT heeft geen effect, tenzij AUTO_UPDATE_STATISTICS is ingesteld op AAN.
You can determine this option's status by examining the is_auto_update_stats_async_on
column in the sys.databases catalog view.
For more information that describes when to use synchronous or asynchronous statistics updates, see the "Statistics options" section in Statistics.
< > automatic_tuning_option ::=
Controls automatic options for Automatic tuning. U kunt de opties voor de volgende instellingen bekijken in Azure Portal of via T-SQL in de weergave sys.database_automatic_tuning_options
.
AUTOMATIC_TUNING = { AUTO | OVERNEMEN | AANGEPAST }
AUTO
Als u de waarde voor automatisch afstemmen instelt op AUTO, worden standaardinstellingen voor Azure-configuratie toegepast voor automatisch afstemmen. In Azure Portal geeft dit de optie 'Overnemen van: Azure-standaardinstellingen'.
INHERIT
Als u de waarde INHERIT gebruikt, wordt de standaardconfiguratie overgenomen van de bovenliggende server. In Azure Portal geeft dit de optie 'Overnemen van: Server' weer. Dit is vooral handig als u de configuratie voor automatisch afstemmen op een bovenliggende server wilt aanpassen en alle databases op een dergelijke server deze aangepaste instellingen wilt overnemen. Om de overname te laten werken, moeten de drie afzonderlijke afstemmingsopties FORCE_LAST_GOOD_PLAN, CREATE_INDEX en DROP_INDEX worden ingesteld op STANDAARD voor databases.
CUSTOM
Met behulp van de aangepaste waarde moet u elk van de opties voor automatisch afstemmen configureren die beschikbaar zijn voor databases. In De Azure-portal geeft dit de optie 'Overnemen van: niet overnemen'.
CREATE_INDEX = { DEFAULT | AAN | UIT }
Enables or disables automatic index management CREATE_INDEX
option of Automatic tuning. U kunt de status voor deze optie bekijken in Azure Portal of via T-SQL in de weergave sys.database_automatic_tuning_options
.
DEFAULT
Neemt standaardinstellingen over van de server. In dit geval worden opties voor het in- of uitschakelen van afzonderlijke functies voor automatisch afstemmen gedefinieerd op serverniveau.
ON
Wanneer deze functie is ingeschakeld, worden ontbrekende indexen automatisch gegenereerd in een database. Na het maken van de index worden de prestaties van de workload gecontroleerd. Wanneer een dergelijke gemaakte index geen voordelen meer biedt voor de prestaties van de werkbelasting, wordt deze automatisch teruggezet. Indexen die automatisch worden gemaakt, worden gemarkeerd als een door het systeem gegenereerde index.
OFF
Er worden niet automatisch ontbrekende indexen in de database gegenereerd.
DROP_INDEX = { DEFAULT | AAN | UIT }
Enables or disables automatic index management DROP_INDEX
option of Automatic tuning. U kunt de status voor deze optie bekijken in Azure Portal of via T-SQL in de weergave sys.database_automatic_tuning_options
.
DEFAULT
Neemt standaardinstellingen over van de server. In dit geval worden opties voor het in- of uitschakelen van afzonderlijke functies voor automatisch afstemmen gedefinieerd op serverniveau.
ON
Hiermee worden automatisch dubbele of niet meer nuttige indexen voor de prestatieworkload verwijderd.
OFF
Hiermee worden ontbrekende indexen in de database niet automatisch verwijderd.
FORCE_LAST_GOOD_PLAN = { DEFAULT | AAN | UIT }
Enables or disables automatic plan correction FORCE_LAST_GOOD_PLAN
option of Automatic tuning. U kunt de status voor deze optie bekijken in Azure Portal of via T-SQL in de weergave sys.database_automatic_tuning_options
.
DEFAULT
Neemt standaardinstellingen over van de server. In dit geval worden opties voor het in- of uitschakelen van afzonderlijke functies voor automatisch afstemmen gedefinieerd op serverniveau. Dit is de standaardwaarde. De standaardwaarde voor nieuwe Azure SQL-servers is AAN, wat betekent dat nieuwe databases standaard de instelling ON overnemen.
ON
De database-engine dwingt automatisch het laatst bekende goede plan af op de Transact-SQL query's waarbij een nieuw queryplan prestatieregressies veroorzaakt. De database-engine bewaakt continu de queryprestaties van de Transact-SQL query met het geforceerde plan. Als er prestatieverbeteringen zijn, blijft de database-engine het laatst bekende goede plan gebruiken. Als er geen prestatieverbeteringen worden gedetecteerd, produceert de database-engine een nieuw queryplan. The statement fails if the Query Store isn't enabled, or isn't in Read-Write mode.
OFF
The Database Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Deze aanbevelingen worden echter niet automatisch toegepast. Gebruikers kunnen actieve aanbevelingen controleren en geïdentificeerde problemen oplossen door Transact-SQL scripts toe te passen die in de weergave worden weergegeven.
< > change_tracking_option ::=
Hiermee bepaalt u opties voor het bijhouden van wijzigingen. U kunt wijzigingen bijhouden inschakelen, opties instellen, opties voor wijzigen en het bijhouden van wijzigingen uitschakelen. For examples, see the Examples section later in this article.
ON
Hiermee schakelt u het bijhouden van wijzigingen voor de database in. Wanneer u wijzigingen bijhouden inschakelt, kunt u ook de opties VOOR AUTOMATISCH OPSCHONEN en BEWAARBELEID VOOR WIJZIGINGEN instellen.
AUTO_CLEANUP = { AAN | UIT }
ON
Wijzigingen bijhouden wordt automatisch verwijderd na de opgegeven bewaarperiode.
OFF
Wijzigingen bijhouden wordt niet uit de database verwijderd.
CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Hiermee geeft u de minimale periode op voor het bijhouden van wijzigingen in de database. Gegevens worden alleen verwijderd wanneer de AUTO_CLEANUP waarde is ingeschakeld.
retention_period is an integer that specifies the numerical component of the retention period.
The default retention period is 2 days. De minimale bewaarperiode is 1 minuut. The default retention type is DAYS.
OFF
Hiermee schakelt u het bijhouden van wijzigingen voor de database uit. Schakel wijzigingen bijhouden uit voor alle tabellen voordat u het bijhouden van wijzigingen uit de database uitschakelt.
< > cursor_option ::=
Besturingselementen cursoropties.
CURSOR_CLOSE_ON_COMMIT { AAN | UIT }
ON
Alle cursors worden geopend wanneer u een transactie doorvoert of terugdraait.
OFF
Cursors blijven open wanneer een transactie wordt doorgevoerd; Als een transactie wordt teruggedraaid, worden alle cursors gesloten, behalve de cursors die zijn gedefinieerd als ONGEVOELIG of STATISCH.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor CURSOR_CLOSE_ON_COMMIT. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit CURSOR_CLOSE_ON_COMMIT op UIT voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET CURSOR_CLOSE_ON_COMMIT.
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. De cursor wordt impliciet de toewijzing alleen ongedaan gemaakt wanneer de verbinding is verbroken. For more information, see DECLARE CURSOR.
< > db_encryption_option ::=
Hiermee bepaalt u de status van de databaseversleuteling.
VERSLEUTELING { AAN | UIT }
Hiermee stelt u in dat de database moet worden versleuteld (AAN) of niet versleuteld (UIT). Zie TDE-(Transparent Data Encryption) en Transparent Data Encryption voor Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analyticsvoor meer informatie over databaseversleuteling.
Wanneer versleuteling op databaseniveau is ingeschakeld, worden alle bestandsgroepen versleuteld. Alle nieuwe bestandsgroepen nemen de versleutelde eigenschap over. Als bestandsgroepen in de database zijn ingesteld op ALLEEN-LEZEN, mislukt de bewerking voor databaseversleuteling.
You can see the encryption state of the database by using the sys.dm_database_encryption_keys dynamic management view.
< > db_update_option ::=
Hiermee bepaalt u of updates zijn toegestaan voor de database.
READ_ONLY
Gebruikers kunnen gegevens uit de database lezen, maar deze niet wijzigen.
Note
Als u de queryprestaties wilt verbeteren, moet u statistieken bijwerken voordat u een database instelt op READ_ONLY. Als er extra statistieken nodig zijn nadat een database is ingesteld op READ_ONLY, maakt de database-engine statistieken in
tempdb
. For more information about statistics for a read-only database, see Statistics.READ_WRITE
De database is beschikbaar voor lees- en schrijfbewerkingen.
Als u deze status wilt wijzigen, moet u exclusieve toegang tot de database hebben. Zie de SINGLE_USER-component voor meer informatie.
Note
In federatieve Azure SQL Database-databases is SET { READ_ONLY | READ_WRITE }
uitgeschakeld.
< > db_user_access_option ::=
Hiermee beheert u de gebruikerstoegang tot de database.
RESTRICTED_USER
Staat alleen leden van de
db_owner
vaste databaserol toe endbcreator
ensysadmin
vaste serverfuncties om verbinding te maken met de database, maar beperkt hun aantal niet. Alle verbindingen met de database worden verbroken in de periode die is opgegeven door de beëindigingsclausule van de INSTRUCTIE ALTER DATABASE. Nadat de database is overgezet naar de status RESTRICTED_USER, worden verbindingspogingen door niet-gekwalificeerde gebruikers geweigerd. In Azure SQL Database moet worden uitgevoerd vanuit de gebruikersdatabase. In demaster
-database wordt mogelijk een foutbericht weergegevenMsg 42008, Level 16, State 3, Line 1 ODBC error: State: 28000: Error: 18456 Message:'[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user '##MS_InstanceCertificate##'.'.
MULTI_USER
Alle gebruikers met de juiste machtigingen om verbinding te maken met de database zijn toegestaan. You can determine this option's status by examining the
user_access
column in the sys.databases catalog view or theUserAccess
property of the DATABASEPROPERTYEX function. In Azure SQL Database moet worden uitgevoerd vanuit de gebruikersdatabase. In demaster
-database wordt mogelijk een foutbericht weergegevenMsg 42008, Level 16, State 3, Line 1 ODBC error: State: 28000: Error: 18456 Message:'[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user '##MS_InstanceCertificate##'.'.
< > delayed_durability_option ::=
Bepaalt of transacties volledig duurzaam of vertraagd worden doorgevoerd.
DISABLED
Alle transacties na
SET DISABLED
zijn volledig duurzaam. Alle duurzaamheidsopties die zijn ingesteld in een atomische blok- of doorvoerinstructie, worden genegeerd.ALLOWED
Alle transacties na
SET ALLOWED
zijn volledig duurzaam of vertraagd, afhankelijk van de duurzaamheidsoptie die is ingesteld in de atomische blok- of doorvoerinstructie.FORCED
Alle transacties na
SET FORCED
worden duurzaam vertraagd. Alle duurzaamheidsopties die zijn ingesteld in een atomische blok- of doorvoerinstructie, worden genegeerd.
< > PARAMETERIZATION_option ::=
Hiermee bepaalt u de parameterisatieoptie.
PARAMETERISATIE { SIMPLE | GEFORCEERD }
SIMPLE
Query's worden geparameteriseerd op basis van het standaardgedrag van de database.
FORCED
SQL Server parameteriseert alle query's in de database.
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 ::=
AAN | UIT | CLEAR [ ALL ]
Hiermee bepaalt u of Query Store is ingeschakeld in deze database en bepaalt u ook hoe de inhoud van de Query Store wordt verwijderd.
ON
Hiermee schakelt u Query Store in. AAN is de standaardwaarde.
OFF
Hiermee schakelt u de Query Store uit.
Note
Query Store kan niet worden uitgeschakeld in één database en elastische pool van Azure SQL Database. Als u
ALTER DATABASE [database] SET QUERY_STORE = OFF
uitvoert, wordt de waarschuwing'QUERY_STORE=OFF' is not supported in this version of SQL Server.
geretourneerd.CLEAR
Verwijder de inhoud van de Query Store.
OPERATION_MODE
Beschrijft de bewerkingsmodus van de Query Store. Geldige waarden zijn READ_ONLY en READ_WRITE. In READ_WRITE-modus verzamelt en persistente queryplan- en runtime-uitvoeringsstatistieken. In READ_ONLY-modus kan informatie worden gelezen uit de Query Store, maar er wordt geen nieuwe informatie toegevoegd. Als de maximaal toegewezen ruimte van de Query Store is uitgeput, wijzigt Query Store de bewerkingsmodus in READ_ONLY.
CLEANUP_POLICY
Beschrijft het bewaarbeleid voor gegevens van de Query Store. STALE_QUERY_THRESHOLD_DAYS bepaalt het aantal dagen waarvoor de gegevens voor een query worden bewaard in de Query Store. STALE_QUERY_THRESHOLD_DAYS is type bigint. De standaardwaarde is 30. For SQL Database Basic edition, default is 7 days.
DATA_FLUSH_INTERVAL_SECONDS
Bepaalt de frequentie waarmee gegevens die naar de Query Store worden geschreven, op schijf worden bewaard. Om de prestaties te optimaliseren, worden gegevens die door de Query Store worden verzameld, asynchroon naar de schijf geschreven. De frequentie waarmee deze asynchrone overdracht plaatsvindt, wordt geconfigureerd met behulp van het argument DATA_FLUSH_INTERVAL_SECONDS. DATA_FLUSH_INTERVAL_SECONDS is type bigint. The default value is 900 (15 min).
MAX_STORAGE_SIZE_MB
Bepaalt de ruimte die is toegewezen aan de Query Store. MAX_STORAGE_SIZE_MB is type bigint.
Note
In Azure SQL Database, the default MAX_STORAGE_SIZE_MB
value differs by service tier, as follows: Premium, Business Critical, and Hyperscale: 1,024 MB; Standard and General Purpose: 100 MB; Basic: 10 MB The maximum allowed MAX_STORAGE_SIZE_MB
value is 10,240 MB.
Note
MAX_STORAGE_SIZE_MB
limiet wordt niet strikt afgedwongen. De opslaggrootte wordt alleen gecontroleerd wanneer Query Store gegevens naar schijf schrijft. Dit interval wordt ingesteld door de optie DATA_FLUSH_INTERVAL_SECONDS
of de dialoogvensteroptie Query Store van Management Studio interval voor het leegmaken van gegevens. De standaardwaarde voor het interval is 900 seconden (of 15 minuten).
Als de Query Store de MAX_STORAGE_SIZE_MB
limiet tussen controles van de opslaggrootte heeft overschreden, wordt deze overgezet naar de modus Alleen-lezen. Als SIZE_BASED_CLEANUP_MODE
is ingeschakeld, wordt het opschoonmechanisme voor het afdwingen van de MAX_STORAGE_SIZE_MB
limiet ook geactiveerd.
Zodra er voldoende ruimte is gewist, schakelt de Query Store-modus automatisch terug naar lezen/schrijven.
Important
If you think that your workload capture needs 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.
Vanaf SQL Server 2019 (15.x) en in Azure SQL Database kunt u QUERY_CAPTURE_MODE
instellen op CUSTOM voor extra controle over het queryopnamebeleid.
INTERVAL_LENGTH_MINUTES
Bepaalt het tijdsinterval waarmee runtime-uitvoeringsstatistiekengegevens worden samengevoegd in de Query Store. Om te optimaliseren voor ruimtegebruik, worden de uitvoeringsstatistieken van runtime in het archief met runtimestatistieken geaggregeerd in een vast tijdvenster. Dit vaste tijdvenster wordt geconfigureerd met behulp van het argument INTERVAL_LENGTH_MINUTES. INTERVAL_LENGTH_MINUTES is type bigint. The default value is 60.
SIZE_BASED_CLEANUP_MODE = { AUTO | UIT }
Hiermee bepaalt u of opschonen automatisch wordt geactiveerd wanneer de totale hoeveelheid gegevens dicht bij de maximale grootte komt.
OFF
Op grootte gebaseerde opschoning wordt niet automatisch geactiveerd.
AUTO
Size-based cleanup is automatically activated when size on disk reaches 90% of max_storage_size_mb. Op grootte gebaseerde opschoning verwijdert eerst de goedkoopste en oudste query's. It stops at approximately 80% of max_storage_size_mb. Dit is de standaardconfiguratiewaarde.
SIZE_BASED_CLEANUP_MODE is type nvarchar.
QUERY_CAPTURE_MODE { ALL | AUTO | AANGEPAST | GEEN }
Hiermee wordt de momenteel actieve queryopnamemodus opgegeven. Elke modus definieert specifiek beleid voor het vastleggen van query's.
Note
Cursors, query's in opgeslagen procedures en systeemeigen gecompileerde query's worden altijd vastgelegd wanneer de queryopnamemodus is ingesteld op ALL, AUTO of CUSTOM.
ALL
Legt alle query's vast.
AUTO
Leg relevante query's vast op basis van het aantal uitvoeringen en het resourceverbruik. Dit is de standaardconfiguratiewaarde voor Azure SQL Database.
NONE
Stop met het vastleggen van nieuwe query's. Query Store blijft compileer- en runtimestatistieken verzamelen voor query's die al zijn vastgelegd. Gebruik deze configuratie met voorzichtigheid, omdat u belangrijke query's mogelijk niet kunt vastleggen.
CUSTOM
Hiermee kunt u de QUERY_CAPTURE_POLICY opties beheren.
QUERY_CAPTURE_MODE is type nvarchar.
MAX_PLANS_PER_QUERY
Hiermee definieert u het maximum aantal plannen dat voor elke query wordt onderhouden. MAX_PLANS_PER_QUERY is type int. The default value is 200.
WAIT_STATS_CAPTURE_MODE { AAN | UIT }
Hiermee bepaalt u of wachtstatistieken per query worden vastgelegd.
ON
Wachtstatistiekengegevens per query worden vastgelegd. Deze waarde is de standaardconfiguratiewaarde.
OFF
Wachtstatistiekengegevens per query worden niet vastgelegd.
< > query_capture_policy_option_list :: =
Hiermee bepaalt u de opnamebeleidsopties van Query Store. Met uitzondering van STALE_CAPTURE_POLICY_THRESHOLD definiëren deze opties de OR-voorwaarden die moeten worden uitgevoerd voor het vastleggen van query's in de gedefinieerde drempelwaarde voor verlopen vastleggen van beleid.
STALE_CAPTURE_POLICY_THRESHOLD = integer { DAYS | HOURS }
Definieert de evaluatieperiode om te bepalen of een query moet worden vastgelegd. De standaardwaarde is 1 dag en kan worden ingesteld van 1 uur tot zeven dagen. number is type int.
EXECUTION_COUNT = integer
Hiermee definieert u het aantal keren dat een query wordt uitgevoerd gedurende de evaluatieperiode. De standaardwaarde is 30, wat betekent dat voor de standaarddrempelwaarde voor verlopen capturebeleid een query minstens 30 keer in één dag moet worden uitgevoerd om te worden bewaard in de Query Store. EXECUTION_COUNT is type int.
TOTAL_COMPILE_CPU_TIME_MS = integer
Hiermee definieert u de totale verstreken CPU-tijd die door een query wordt gebruikt gedurende de evaluatieperiode. De standaardwaarde is 1000, wat betekent dat voor de standaarddrempelwaarde voor verlopen capturebeleid een query een totaal van ten minste één seconde CPU-tijd moet hebben die is besteed tijdens het compileren van query's in één dag om te worden bewaard in de Query Store. TOTAL_COMPILE_CPU_TIME_MS is type int.
TOTAL_EXECUTION_CPU_TIME_MS = integer
Hiermee definieert u de totale verstreken CPU-tijd van de uitvoering die wordt gebruikt door een query gedurende de evaluatieperiode. De standaardwaarde is 100, wat betekent dat voor de standaarddrempelwaarde voor verlopen capture-beleid een query in totaal ten minste 100 ms CPU-tijd moet hebben die is besteed tijdens de uitvoering in één dag om te worden bewaard in de Query Store. TOTAL_EXECUTION_CPU_TIME_MS is type int.
< > snapshot_option ::=
Bepaalt het niveau van transactieisolatie.
ALLOW_SNAPSHOT_ISOLATION { ON | UIT }
ON
Hiermee schakelt u de optie Momentopname in op databaseniveau. Wanneer deze optie is ingeschakeld, beginnen DML-instructies met het genereren van rijversies, zelfs wanneer er geen transactie gebruikmaakt van Momentopname-isolatie. Zodra deze optie is ingeschakeld, kunnen transacties het isolatieniveau van de SNAPSHOT-transactie opgeven. Wanneer een transactie wordt uitgevoerd op het isolatieniveau SNAPSHOT, zien alle instructies een momentopname van gegevens zoals deze zich aan het begin van de transactie bevinden. Als een transactie die wordt uitgevoerd op het isolatieniveau SNAPSHOT toegang heeft tot gegevens in meerdere databases, moet ALLOW_SNAPSHOT_ISOLATION zijn ingesteld op AAN in alle databases, of elke instructie in de transactie moet vergrendelingshints gebruiken voor elke verwijzing in een FROM-component naar een tabel in een database waar ALLOW_SNAPSHOT_ISOLATION is uitgeschakeld.
OFF
Hiermee schakelt u de optie Momentopname uit op databaseniveau. Transacties kunnen het isolatieniveau van de SNAPSHOT-transactie niet opgeven.
Wanneer u ALLOW_SNAPSHOT_ISOLATION instelt op een nieuwe status (van AAN naar UIT of van UIT naar AAN), retourneert ALTER DATABASE geen controle naar de beller totdat alle bestaande transacties in de database zijn doorgevoerd. Als de database al de status heeft die is opgegeven in de instructie ALTER DATABASE, wordt het besturingselement onmiddellijk teruggezet naar de aanroeper. 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. Als de instructie ALTER DATABASE wordt geannuleerd, blijft de database de status behouden waarin deze zich bevond toen ALTER DATABASE werd gestart. The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Als snapshot_isolation_state_desc = IN_TRANSITION_TO_ON
, wordt de instructie ALTER DATABASE .... ALLOW_SNAPSHOT_ISOLATION OFF
zes seconden onderbroken en wordt de bewerking opnieuw uitgevoerd.
U kunt de status van ALLOW_SNAPSHOT_ISOLATION niet wijzigen als de database OFFLINE is.
Als u ALLOW_SNAPSHOT_ISOLATION instelt in een READ_ONLY database, wordt de instelling bewaard als de database later is ingesteld op READ_WRITE.
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 { AAN | UIT }
ON
Hiermee schakelt u Read-Committed optie Momentopname in op databaseniveau. Wanneer deze optie is ingeschakeld, beginnen DML-instructies met het genereren van rijversies, zelfs wanneer er geen transactie gebruikmaakt van Momentopname-isolatie. Zodra deze optie is ingeschakeld, gebruiken de transacties die het isolatieniveau READ COMMIT opgeven rijversiebeheer in plaats van vergrendelen. Alle instructies zien een momentopname van gegevens zoals deze bestaan aan het begin van de instructie wanneer een transactie wordt uitgevoerd op het isolatieniveau READ COMMITTED.
OFF
Hiermee schakelt u Read-Committed optie Momentopname op databaseniveau uit. Transacties die het isolatieniveau READ COMMITTED opgeven, maken gebruik van vergrendeling.
Als u READ_COMMITTED_SNAPSHOT AAN of UIT wilt instellen, moeten er geen actieve verbindingen met de database zijn, met uitzondering van de verbinding met de opdracht ALTER DATABASE. De database hoeft zich echter niet in de modus voor één gebruiker te bevinden. U kunt de status van deze optie niet wijzigen wanneer de database OFFLINE is.
Als u READ_COMMITTED_SNAPSHOT instelt in een READ_ONLY database, wordt de instelling bewaard wanneer de database later is ingesteld op READ_WRITE.
READ_COMMITTED_SNAPSHOT kan niet worden ingeschakeld voor de master
, tempdb
of msdb
systeemdatabases. Als u de instelling voor model
wijzigt, wordt deze instelling de standaardinstelling voor nieuwe databases die zijn gemaakt, met uitzondering van tempdb
.
The current setting of this option can be determined by examining the is_read_committed_snapshot_on
column in the sys.databases catalog view.
Warning
When a table is created with DURABILITY = SCHEMA_ONLY
, and READ_COMMITTED_SNAPSHOT is subsequently changed using ALTER DATABASE
, data in the table is lost.
Tip
In Azure SQL Database moet de ALTER DATABASE
opdracht voor het instellen van READ_COMMITTED_SNAPSHOT AAN of UIT voor een database worden uitgevoerd in de master
-database.
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { AAN | UIT }
ON
Wanneer het niveau van transactieisolatie is ingesteld op een isolatieniveau dat lager is dan MOMENTOPNAME, worden alle geïnterpreteerde Transact-SQL bewerkingen op tabellen die zijn geoptimaliseerd voor geheugen, uitgevoerd onder MOMENTOPNAME-isolatie. Voorbeelden van isolatieniveaus die lager zijn dan momentopnamen zijn READ COMMITTED of READ UNCOMMITTED. Deze bewerkingen worden uitgevoerd of het niveau van transactieisolatie expliciet is ingesteld op sessieniveau, of de standaardinstelling wordt impliciet gebruikt.
OFF
Verhoogt het niveau van transactieisolatie niet voor geïnterpreteerde Transact-SQL bewerkingen op tabellen die zijn geoptimaliseerd voor geheugen.
U kunt de status van MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT niet wijzigen als de database OFFLINE is.
De standaardwaarde is UIT.
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 ::=
Hiermee bepaalt u de ANSI-nalevingsopties op databaseniveau.
ANSI_NULL_DEFAULT { AAN | UIT }
Bepaalt de standaardwaarde, NULL of NOT NULL, van een kolom of door de gebruiker gedefinieerde CLR-type waarvoor de null-waarde niet expliciet is gedefinieerd in CREATE TABLE- of ALTER TABLE-instructies. Kolommen die zijn gedefinieerd met beperkingen volgen regels voor beperkingen, ongeacht wat deze instelling kan zijn.
ON
De standaardwaarde is NULL.
OFF
De standaardwaarde is NOT NULL.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaardinstelling op databaseniveau voor ANSI_NULL_DEFAULT. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_NULL_DEFAULT op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_NULL_DFLT_ON.
Voor ANSI-compatibiliteit stelt u de databaseoptie in ANSI_NULL_DEFAULT op AAN wijzigt de standaardwaarde van de database in NULL.
You can determine this option's status by examining the is_ansi_null_default_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiNullDefault
property of the DATABASEPROPERTYEX function.
ANSI_NULLS { AAN | UIT }
ON
Alle vergelijkingen met een null-waarde resulteren in ONBEKEND.
OFF
Vergelijkingen van niet-Unicode-waarden met een null-waarde resulteren in WAAR als beide waarden NULL zijn.
Important
In een toekomstige versie van SQL Server is ANSI_NULLS altijd INGESCHAKELD en eventuele toepassingen die de optie expliciet op UIT instellen, veroorzaken een fout. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor ANSI_NULLS. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_NULLS op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_NULLS.
Note
SET ANSI_NULLS moet ook worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
You can determine this option's status by examining the is_ansi_nulls_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiNullsEnabled
property of the DATABASEPROPERTYEX function.
ANSI_PADDING { AAN | UIT }
ON
Tekenreeksen worden opgevuld tot dezelfde lengte voordat de conversie wordt uitgevoerd. Also padded to the same length before inserting to a varchar or nvarchar data type.
OFF
Inserts trailing blanks in character values into varchar or nvarchar columns. Also leaves trailing zeros in binary values that are inserted into varbinary columns. Waarden worden niet opgevuld tot de lengte van de kolom.
Wanneer UIT is opgegeven, is deze instelling alleen van invloed op de definitie van nieuwe kolommen.
Important
In een toekomstige versie van SQL Server is ANSI_PADDING altijd INGESCHAKELD en eventuele toepassingen die de optie expliciet op UIT instellen, veroorzaken een fout. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. U wordt aangeraden ANSI_PADDING altijd in te stellen op AAN. ANSI_PADDING moet zijn ingeschakeld wanneer u indexen maakt of bewerkt voor berekende kolommen of geïndexeerde weergaven.
char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Afsluitende lege waarden en nullen worden afgekapt wanneer ANSI_PADDING uit is. char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaardinstelling op databaseniveau voor ANSI_PADDING. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_PADDING op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_PADDING.
You can determine this option's status by examining the is_ansi_padding_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiPaddingEnabled
property of the DATABASEPROPERTYEX function.
ANSI_WARNINGS { AAN | UIT }
ON
Fouten of waarschuwingen worden uitgegeven wanneer er voorwaarden zoals delen door nul optreden. Fouten en waarschuwingen worden ook uitgegeven wanneer null-waarden worden weergegeven in statistische functies.
OFF
Er worden geen waarschuwingen gegenereerd en null-waarden worden geretourneerd wanneer voorwaarden zoals delen door nul optreden.
Note
SET ANSI_WARNINGS moet worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor ANSI_WARNINGS. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_WARNINGS op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_WARNINGS.
You can determine this option's status by examining the is_ansi_warnings_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiWarningsEnabled
property of the DATABASEPROPERTYEX function.
ARITHABORT { ON | UIT }
ON
Een query wordt beëindigd wanneer er een overloop- of deel-by-nul-fout optreedt tijdens de uitvoering van de query.
OFF
Er wordt een waarschuwingsbericht weergegeven wanneer een van deze fouten optreedt. De query, batch of transactie blijft verwerken alsof er geen fout is opgetreden, zelfs als er een waarschuwing wordt weergegeven.
Note
SET ARITHABORT moet worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen op berekende kolommen of geïndexeerde weergaven.
You can determine this option's status by examining the is_arithabort_on
column in the sys.databases catalog view. You can also determine the status by examining the IsArithmeticAbortEnabled
property of the DATABASEPROPERTYEX function.
COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
Zie ALTER DATABASE-compatibiliteitsniveauvoor meer informatie.
CONCAT_NULL_YIELDS_NULL { AAN | UIT }
ON
Het resultaat van een samenvoegingsbewerking is NULL wanneer een van beide operanden NULL is. Als u bijvoorbeeld de tekenreeks 'Dit is' samenvoegt en NULL de waarde NULL veroorzaakt, in plaats van de waarde 'Dit is'.
OFF
De null-waarde wordt behandeld als een lege tekenreeks.
Note
CONCAT_NULL_YIELDS_NULL moet worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
In een toekomstige versie van SQL Server is CONCAT_NULL_YIELDS_NULL altijd INGESCHAKELD en eventuele toepassingen die de optie expliciet op UIT instellen, veroorzaken een fout. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor CONCAT_NULL_YIELDS_NULL. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit CONCAT_NULL_YIELDS_NULL aan AAN voor de sessie wanneer er verbinding wordt gemaakt met een exemplaar van SQL Server. For more information, see SET CONCAT_NULL_YIELDS_NULL.
You can determine this option's status by examining the is_concat_null_yields_null_on
column in the sys.databases catalog view. You can also determine the status by examining the IsNullConcat
property of the DATABASEPROPERTYEX function.
NUMERIC_ROUNDABORT { AAN | UIT }
ON
Er wordt een fout gegenereerd wanneer verlies van precisie optreedt in een expressie.
OFF
Verlies van precisie genereert geen foutbericht en het resultaat wordt afgerond op de precisie van de kolom of variabele die het resultaat opslaat.
Important
NUMERIC_ROUNDABORT moet zijn ingesteld op UIT wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
You can determine the status for this option in the is_numeric_roundabort_on
column in the sys.databases catalog view. You can also determine the status by examining the IsNumericRoundAbortEnabled
property of the DATABASEPROPERTYEX function.
QUOTED_IDENTIFIER { AAN | UIT }
ON
Dubbele aanhalingstekens kunnen worden gebruikt om gescheiden id's in te sluiten.
Alle tekenreeksen die door dubbele aanhalingstekens worden gescheiden, worden geïnterpreteerd als object-id's. De Transact-SQL-regels voor id's hoeven niet te worden gevolgd. Dit kunnen trefwoorden zijn en tekens bevatten die niet zijn toegestaan in Transact-SQL id's. Als een dubbel aanhalingsteken (
"
) deel uitmaakt van de id, kan deze worden vertegenwoordigd door twee dubbele aanhalingstekens (""
).OFF
Id's mogen niet tussen aanhalingstekens staan en moeten alle Transact-SQL regels voor id's volgen. Letterlijke tekens kunnen worden gescheiden door enkele of dubbele aanhalingstekens.
Met SQL Server kunnen id's ook worden gescheiden door vierkante haken ([
en ]
). Id's met haakjes kunnen altijd worden gebruikt, ongeacht de QUOTED_IDENTIFIER instelling. For more information, see Database identifiers.
Wanneer een tabel wordt gemaakt, wordt de optie AAN-ID altijd opgeslagen als AAN in de metagegevens van de tabel. De optie wordt opgeslagen, zelfs als de optie is ingesteld op UIT wanneer de tabel wordt gemaakt.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor QUOTED_IDENTIFIER. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit QUOTED_IDENTIFIER op AAN. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET QUOTED_IDENTIFIER.
You can determine this option's status by examining the is_quoted_identifier_on
column in the sys.databases catalog view. You can also determine the status by examining the IsQuotedIdentifiersEnabled
property of the DATABASEPROPERTYEX function.
RECURSIVE_TRIGGERS { AAN | UIT }
ON
Recursieve schieting van AFTER-triggers is toegestaan.
OFF
You can determine this option's status by examining the
is_recursive_triggers_on
column in the sys.databases catalog view. You can also determine the status by examining theIsRecursiveTriggersEnabled
property of the DATABASEPROPERTYEX function.
Note
Alleen directe recursie wordt voorkomen wanneer RECURSIVE_TRIGGERS is ingesteld op UIT. Als u indirecte recursie wilt uitschakelen, moet u ook de serveroptie geneste triggers instellen op 0.
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 ::=
Hiermee geeft u de frequentie van indirecte controlepunten per database. Starting with SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates the database uses indirect checkpoints. Voor oudere versies is de standaardwaarde 0, wat aangeeft dat de database automatische controlepunten gebruikt, waarvan de frequentie afhankelijk is van de herstelintervalinstelling van het serverexemplaren. Microsoft raadt 1 minuut aan voor de meeste systemen.
TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
target_recovery_time
Hiermee geeft u de maximumgrens voor de tijd voor het herstellen van de opgegeven database in het geval van een crash. target_recovery_time is type int.
SECONDS
Indicates that target_recovery_time is expressed as the number of seconds.
MINUTES
Indicates that target_recovery_time is expressed as the number of minutes.
For more information about indirect checkpoints, see Database checkpoints.
MET <beëindiging> ::=
Hiermee geeft u op wanneer onvolledige transacties moeten worden teruggedraaid wanneer de database van de ene status naar de andere wordt overgezet. Als de beëindigingsclausule wordt weggelaten, wacht de instructie ALTER DATABASE voor onbepaalde tijd als er een vergrendeling op de database is. Er kan slechts één beëindigingsclausule worden opgegeven en volgt de SET-componenten.
Note
Niet alle databaseopties maken gebruik van de component WITH <beëindiging>. For more information, see the table under Setting options of the "Remarks" section of this article.
ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Hiermee geeft u op of u wilt terugdraaien na het opgegeven aantal seconden of onmiddellijk.
NO_WAIT
Hiermee geeft u op dat de aanvraag mislukt als de aangevraagde databasestatus of optiewijziging niet onmiddellijk kan worden voltooid. Onmiddellijk voltooien betekent niet wachten op het doorvoeren of terugdraaien van transacties.
< > temporal_history_retention ::=
TEMPORAL_HISTORY_RETENTION { AAN | UIT }
STANDAARD INGESCHAKELD, maar ook automatisch ingesteld op UIT na herstelbewerking naar een bepaald tijdstip. Zie Bewaarbeleid configurerenvoor meer informatie over het inschakelen van deze instelling.
ON
Default. Hiermee schakelt u tijdelijk bewaarbeleid voor tabellen in. Zie Het bewaren van historische gegevens in tijdelijke tabellen met systeemversies beherenvoor meer informatie.
OFF
Voer geen tijdelijk historisch bewaarbeleid uit.
Set options
To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX
Nadat u een databaseoptie hebt ingesteld, wordt de nieuwe instelling onmiddellijk van kracht.
U kunt de standaardwaarden wijzigen voor een van de databaseopties voor alle nieuw gemaakte databases. Hiervoor wijzigt u de juiste databaseoptie in de model
-database.
Niet alle databaseopties gebruiken de component WITH <beëindiging> of kunnen worden opgegeven in combinatie met andere opties. De volgende tabel bevat deze opties en hun optie en beëindigingsstatus.
Options category | Kan worden opgegeven met andere opties | Kan de component WITH <beëindiging> gebruiken |
---|---|---|
<auto_option> | Yes | No |
<change_tracking_option> | Yes | Yes |
<cursor_option> | Yes | No |
<db_encryption_option> | Yes | No |
<db_update_option> | Yes | Yes |
<db_user_access_option> | Yes | Yes |
<delayed_durability_option> | Yes | Yes |
<parameterization_option> | Yes | Yes |
ALLOW_SNAPSHOT_ISOLATION | No | No |
READ_COMMITTED_SNAPSHOT | No | Yes |
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT | Yes | Yes |
DATE_CORRELATION_OPTIMIZATION | Yes | Yes |
<sql_option> | Yes | No |
<target_recovery_time_option> | No | Yes |
Examples
A. De database instellen op READ_ONLY
Als u de status van een database of bestandsgroep wijzigt in READ_ONLY of READ_WRITE hebt u exclusieve toegang tot de database nodig en kan het enkele seconden duren voordat deze is voltooid. In het volgende voorbeeld wordt de database ingesteld op RESTRICTED_USER
modus om de toegang te beperken. In het voorbeeld wordt vervolgens de status van de AdventureWorks2022
-database ingesteld op READ_ONLY
en wordt toegang tot de database geretourneerd aan alle gebruikers.
--Connect to [database_name];
GO
ALTER DATABASE [database_name]
SET RESTRICTED_USER;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
--`SET READ_ONLY` command might take a few seconds to complete.
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO
De database terugzetten op de lees-/schrijfmodus:
--Connect to [database_name];
GO
ALTER DATABASE [database_name]
SET READ_WRITE
GO
To verify:
SELECT [name], user_access_desc, is_read_only FROM sys.databases
WHERE [name] = 'database_name'
GO
B. Isolatie van momentopnamen inschakelen voor een database
In het volgende voorbeeld wordt de optie voor isolatieframework voor momentopnamen ingeschakeld voor de AdventureWorks2022
-database.
--Connect to [database_name]
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
Controleer de status van de snapshot_isolation_framework
in de database.
--Connect to [database_name]
SELECT name, snapshot_isolation_state,
snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'database_name';
GO
De resultatenset laat zien dat het framework voor isolatie van momentopnamen is ingeschakeld.
name | snapshot_isolation_state | description |
---|---|---|
[database_name] | 1 | ON |
C. Wijzigingen bijhouden inschakelen, wijzigen of uitschakelen
In het volgende voorbeeld wordt het bijhouden van wijzigingen voor de AdventureWorks2022
database ingeschakeld en wordt de bewaarperiode ingesteld op 2
dagen.
--Connect to [database_name]
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);
In het volgende voorbeeld ziet u hoe u de bewaarperiode wijzigt in 3 dagen.
--Connect to [database_name]
ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);
In het volgende voorbeeld ziet u hoe u het bijhouden van wijzigingen voor de AdventureWorks2022
-database kunt uitschakelen.
--Connect to [database_name]
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;
D. Query Store inschakelen
In het volgende voorbeeld worden Query Store-parameters ingeschakeld en geconfigureerd.
--Connect to [database_name]
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. Query Store met wachtstatistieken inschakelen
In het volgende voorbeeld wordt Query Store ingeschakeld en worden de parameters geconfigureerd.
--Connect to [database_name]
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. Query Store inschakelen met aangepaste beleidsopties voor vastleggen
In het volgende voorbeeld wordt Query Store ingeschakeld en worden de parameters geconfigureerd.
--Connect to [database_name]
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
)
);
Related content
- Statistics
- DATABASEPROPERTYEX (Transact-SQL)
- sys.databases
- sys.data_spaces
- sys.database_automatic_tuning_options
- sys.database_automatic_tuning_mode
- ALTER DATABASE-compatibiliteitsniveau
- ALTER DATABASE Mirroring
- CREATE DATABASE
- Wijzigingen bijhouden (SQL Server) in- en uitschakelen
-
DROP DATABASE (Transact-SQL) - TRANSACTIEISOLATIENIVEAU (Transact-SQL) instellen
- sp_configure
- Aanbevolen procedures voor het bewaken van workloads met Query Store-
- Query Store-hints
* SQL Managed Instance *
Azure SQL Managed Instance (een beheerde database-instantie van Azure)
Compatibiliteitsniveaus zijn SET
opties, maar worden beschreven in ALTER DATABASE-compatibiliteitsniveau.
Note
Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. Opties voor set op sessieniveau overschrijven de ALTER DATABASE SET
waarden. De databaseopties die in de volgende secties worden beschreven, zijn waarden die kunnen worden ingesteld voor sessies die niet expliciet andere ingestelde optiewaarden bevatten.
Syntax
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 = { 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 }
<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 = { 170 | 160 | 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 }
Arguments
database_name
De naam van de database die moet worden gewijzigd.
CURRENT
CURRENT
voert de actie uit in de huidige database.
CURRENT
wordt niet ondersteund voor alle opties in alle contexten. Als CURRENT
mislukt, geeft u de databasenaam op.
< > auto_option ::=
Hiermee bepaalt u automatische opties.
AUTO_CREATE_STATISTICS { AAN | UIT }
ON
Query Optimizer maakt zo nodig statistieken voor afzonderlijke kolommen in querypredicaten om queryplannen en queryprestaties te verbeteren. Deze statistieken met één kolom worden gemaakt wanneer Query Optimizer query's compileert. De statistieken met één kolom worden alleen gemaakt voor kolommen die nog niet de eerste kolom van een bestaand statistiekenobject zijn.
De standaardwaarde is AAN. U wordt aangeraden de standaardinstelling voor de meeste databases te gebruiken.
OFF
Query Optimizer maakt geen statistieken voor afzonderlijke kolommen in querypredicaten bij het compileren van query's. Als u deze optie instelt op UIT, kunnen suboptimale queryplannen en verminderde queryprestaties worden veroorzaakt.
You can determine this option's status by examining the
is_auto_create_stats_on
column in the sys.databases catalog view. You can also determine the status by examining theIsAutoCreateStatistics
property of the DATABASEPROPERTYEX function.For more information, see the "Statistics options" section in Statistics.
INCREMENTEEL = AAN | AF
Stel AUTO_CREATE_STATISTICS in op AAN en stel INCREMENTEEL in op AAN. Met deze instelling worden automatisch gemaakte statistieken gemaakt als incrementeel wanneer incrementele statistieken worden ondersteund. De standaardwaarde is UIT. For more information, see CREATE STATISTICS.
AUTO_SHRINK { AAN | UIT }
ON
De databasebestanden zijn kandidaten voor periodieke verkleining. Tenzij u een specifieke vereiste hebt, stelt u de optie AUTO_SHRINK database niet in op AAN. Zie Een database verkleinenvoor meer informatie.
Zowel gegevensbestanden als logboekbestanden kunnen automatisch worden verkleind. AUTO_SHRINK verkleint de grootte van het transactielogboek alleen als u de database instelt op SIMPLE-herstelmodel of als u een back-up van het logboek maakt. Wanneer deze is ingesteld op UIT, worden de databasebestanden niet automatisch verkleind tijdens periodieke controles op ongebruikte ruimte.
De optie AUTO_SHRINK zorgt ervoor dat bestanden worden verkleind wanneer meer dan 25 procent van het bestand ongebruikte ruimte bevat. De optie zorgt ervoor dat het bestand wordt verkleind tot een van de twee grootten. Het verkleint naar de items die groter zijn:
- De grootte waarbij 25 procent van het bestand ongebruikte ruimte is
- De grootte van het bestand toen het werd gemaakt
U kunt een alleen-lezen database niet verkleinen.
OFF
De databasebestanden worden niet automatisch verkleind tijdens periodieke controles op ongebruikte ruimte.
You can determine this option's status by examining the is_auto_shrink_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAutoShrink
property of the DATABASEPROPERTYEX function.
Note
De optie AUTO_SHRINK is niet beschikbaar in een ingesloten database.
AUTO_UPDATE_STATISTICS { AAN | UIT }
ON
Hiermee geeft u op dat Query Optimizer statistieken bijwerken wanneer ze worden gebruikt door een query en wanneer ze mogelijk verouderd zijn. Statistieken worden verouderd na het invoegen, bijwerken, verwijderen of samenvoegen van bewerkingen wijzigen de gegevensdistributie in de tabel of geïndexeerde weergave. Query Optimizer bepaalt wanneer statistieken verouderd kunnen zijn door het aantal wijzigingen van gegevens te tellen sinds de laatste update van de statistieken en het vergelijken van het aantal wijzigingen aan een drempelwaarde. De drempelwaarde is gebaseerd op het aantal rijen in de tabel of geïndexeerde weergave.
Query Optimizer controleert op verouderde statistieken voordat een query wordt gecompileerd en een queryplan in de cache wordt uitgevoerd. Query Optimizer maakt gebruik van de kolommen, tabellen en geïndexeerde weergaven in het querypredicaat om te bepalen welke statistieken verouderd kunnen zijn. Query Optimizer bepaalt deze informatie voordat een query wordt gecompileerd. Voordat u een queryplan in de cache uitvoert, controleert de database-engine of het queryplan verwijst naar up-to-datumstatistieken.
De optie AUTO_UPDATE_STATISTICS is van toepassing op statistieken die zijn gemaakt voor indexen, enkelvoudige kolommen in querypredicaten en statistieken die worden gemaakt met behulp van de instructie CREATE STATISTICS. Deze optie is ook van toepassing op gefilterde statistieken.
De standaardwaarde is AAN. U wordt aangeraden de standaardinstelling voor de meeste databases te gebruiken.
Gebruik de optie AUTO_UPDATE_STATISTICS_ASYNC om op te geven of de statistieken synchroon of asynchroon worden bijgewerkt.
OFF
Hiermee geeft u op dat Query Optimizer geen statistieken bijwerkt wanneer ze worden gebruikt door een query. Query Optimizer werkt ook geen statistieken bij wanneer deze verouderd zijn. Als u deze optie instelt op UIT, kunnen suboptimale queryplannen en verminderde queryprestaties worden veroorzaakt.
You can determine this option's status by examining the is_auto_update_stats_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAutoUpdateStatistics
property of the DATABASEPROPERTYEX function.
For more information, see the section "Using the database-wide statistics options" in Statistics.
AUTO_UPDATE_STATISTICS_ASYNC { AAN | UIT }
ON
Hiermee geeft u op dat updates voor statistieken voor de AUTO_UPDATE_STATISTICS optie asynchroon zijn. Query Optimizer wacht niet totdat de updates van statistieken zijn voltooid voordat query's worden gecompileerd.
Het instellen van deze optie op AAN heeft geen effect, tenzij AUTO_UPDATE_STATISTICS is ingesteld op AAN.
De optie AUTO_UPDATE_STATISTICS_ASYNC is standaard ingesteld op UIT en Query Optimizer werkt statistieken synchroon bij.
OFF
Hiermee geeft u op dat statistiekenupdates voor de optie AUTO_UPDATE_STATISTICS synchroon zijn. Query Optimizer wacht tot de updates van statistieken zijn voltooid voordat query's worden gecompileerd.
Het instellen van deze optie op UIT heeft geen effect, tenzij AUTO_UPDATE_STATISTICS is ingesteld op AAN.
You can determine this option's status by examining the is_auto_update_stats_async_on
column in the sys.databases catalog view.
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 ::=
Controls automatic options for Automatic tuning.
FORCE_LAST_GOOD_PLAN = { DEFAULT | AAN | UIT }
Enables or disables FORCE_LAST_GOOD_PLAN
Automatic tuning option.
DEFAULT
De standaardwaarde voor Azure SQL Managed Instance is INGESCHAKELD.
ON
De database-engine dwingt automatisch het laatst bekende goede plan af op de Transact-SQL query's waarbij een nieuw queryplan prestatieregressies veroorzaakt. De database-engine bewaakt continu de queryprestaties van de Transact-SQL query met het geforceerde plan. Als er prestatieverbeteringen zijn, blijft de database-engine het laatst bekende goede plan gebruiken. Als er geen prestatieverbeteringen worden gedetecteerd, produceert de database-engine een nieuw queryplan. The statement fails if the Query Store isn't enabled, or isn't in Read-Write mode. Dit is de standaardwaarde.
OFF
The Database Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Deze aanbevelingen worden echter niet automatisch toegepast. Gebruikers kunnen actieve aanbevelingen controleren en geïdentificeerde problemen oplossen door Transact-SQL scripts toe te passen die in de weergave worden weergegeven.
< > change_tracking_option ::=
Hiermee bepaalt u opties voor het bijhouden van wijzigingen. U kunt wijzigingen bijhouden inschakelen, opties instellen, opties voor wijzigen en het bijhouden van wijzigingen uitschakelen. For examples, see the Examples section later in this article.
ON
Hiermee schakelt u het bijhouden van wijzigingen voor de database in. Wanneer u wijzigingen bijhouden inschakelt, kunt u ook de opties VOOR AUTOMATISCH OPSCHONEN en BEWAARBELEID VOOR WIJZIGINGEN instellen.
AUTO_CLEANUP = { AAN | UIT }
ON
Wijzigingen bijhouden wordt automatisch verwijderd na de opgegeven bewaarperiode.
OFF
Wijzigingen bijhouden wordt niet uit de database verwijderd.
CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Hiermee geeft u de minimale periode op voor het bijhouden van wijzigingen in de database. Gegevens worden alleen verwijderd wanneer de AUTO_CLEANUP waarde is ingeschakeld.
retention_period is an integer that specifies the numerical component of the retention period.
The default retention period is 2 days. De minimale bewaarperiode is 1 minuut. The default retention type is DAYS.
OFF
Hiermee schakelt u het bijhouden van wijzigingen voor de database uit. Schakel wijzigingen bijhouden uit voor alle tabellen voordat u het bijhouden van wijzigingen uit de database uitschakelt.
< > cursor_option ::=
Besturingselementen cursoropties.
CURSOR_CLOSE_ON_COMMIT { AAN | UIT }
ON
Alle cursors worden geopend wanneer u een transactie doorvoert of terugdraait.
OFF
Cursors blijven open wanneer een transactie wordt doorgevoerd; Als een transactie wordt teruggedraaid, worden alle cursors gesloten, behalve de cursors die zijn gedefinieerd als ONGEVOELIG of STATISCH.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor CURSOR_CLOSE_ON_COMMIT. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit CURSOR_CLOSE_ON_COMMIT op UIT voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET CURSOR_CLOSE_ON_COMMIT.
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. De cursor wordt impliciet de toewijzing alleen ongedaan gemaakt wanneer de verbinding is verbroken. For more information, see DECLARE CURSOR.
< > db_encryption_option ::=
Hiermee bepaalt u de status van de databaseversleuteling.
VERSLEUTELING { AAN | UIT }
Hiermee stelt u in dat de database moet worden versleuteld (AAN) of niet versleuteld (UIT). Zie TDE-(Transparent Data Encryption) en Transparent Data Encryption voor Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analyticsvoor meer informatie over databaseversleuteling.
Wanneer versleuteling op databaseniveau is ingeschakeld, worden alle bestandsgroepen versleuteld. Alle nieuwe bestandsgroepen nemen de versleutelde eigenschap over. Als bestandsgroepen in de database zijn ingesteld op ALLEEN-LEZEN, mislukt de bewerking voor databaseversleuteling.
You can see the encryption state of the database by using the sys.dm_database_encryption_keys dynamic management view.
< > delayed_durability_option ::=
Bepaalt of transacties volledig duurzaam of vertraagd worden doorgevoerd.
DISABLED
Alle transacties na
SET DISABLED
zijn volledig duurzaam. Alle duurzaamheidsopties die zijn ingesteld in een atomische blok- of doorvoerinstructie, worden genegeerd.ALLOWED
Alle transacties na
SET ALLOWED
zijn volledig duurzaam of vertraagd, afhankelijk van de duurzaamheidsoptie die is ingesteld in de atomische blok- of doorvoerinstructie.FORCED
Alle transacties na
SET FORCED
worden duurzaam vertraagd. Alle duurzaamheidsopties die zijn ingesteld in een atomische blok- of doorvoerinstructie, worden genegeerd.
< > PARAMETERIZATION_option ::=
Hiermee bepaalt u de parameterisatieoptie.
PARAMETERISATIE { SIMPLE | GEFORCEERD }
SIMPLE
Query's worden geparameteriseerd op basis van het standaardgedrag van de database.
FORCED
SQL Server parameteriseert alle query's in de database.
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 ::=
AAN | UIT | CLEAR [ ALL ]
Hiermee bepaalt u of Query Store is ingeschakeld in deze database en bepaalt u ook hoe de inhoud van de Query Store wordt verwijderd.
ON
Hiermee schakelt u Query Store in.
OFF
Hiermee schakelt u de Query Store uit. Dit is de standaardwaarde.
CLEAR
Verwijder de inhoud van de Query Store.
OPERATION_MODE
Beschrijft de bewerkingsmodus van de Query Store. Geldige waarden zijn READ_ONLY en READ_WRITE. In READ_WRITE-modus verzamelt en persistente queryplan- en runtime-uitvoeringsstatistieken. In READ_ONLY-modus kan informatie worden gelezen uit de Query Store, maar er wordt geen nieuwe informatie toegevoegd. Als de maximaal toegewezen ruimte van de Query Store is uitgeput, wijzigt Query Store de bewerkingsmodus in READ_ONLY.
CLEANUP_POLICY
Beschrijft het bewaarbeleid voor gegevens van de Query Store. STALE_QUERY_THRESHOLD_DAYS bepaalt het aantal dagen waarvoor de gegevens voor een query worden bewaard in de Query Store. STALE_QUERY_THRESHOLD_DAYS is type bigint. De standaardwaarde is 30. For SQL Database Basic edition, default is 7 days.
DATA_FLUSH_INTERVAL_SECONDS
Bepaalt de frequentie waarmee gegevens die naar de Query Store worden geschreven, op schijf worden bewaard. Om de prestaties te optimaliseren, worden gegevens die door de Query Store worden verzameld, asynchroon naar de schijf geschreven. De frequentie waarmee deze asynchrone overdracht plaatsvindt, wordt geconfigureerd met behulp van het argument DATA_FLUSH_INTERVAL_SECONDS. DATA_FLUSH_INTERVAL_SECONDS is type bigint. The default value is 900 (15 min).
MAX_STORAGE_SIZE_MB
Bepaalt de ruimte die is toegewezen aan de Query Store. MAX_STORAGE_SIZE_MB is type bigint. The default value is 100 MB.
MAX_STORAGE_SIZE_MB
limiet wordt niet strikt afgedwongen. De opslaggrootte wordt alleen gecontroleerd wanneer Query Store gegevens naar schijf schrijft. Dit interval wordt ingesteld door de optie DATA_FLUSH_INTERVAL_SECONDS
of de dialoogvensteroptie Query Store van Management Studio interval voor het leegmaken van gegevens. De standaardwaarde voor het interval is 900 seconden (of 15 minuten).
Als de Query Store de MAX_STORAGE_SIZE_MB
limiet tussen controles van de opslaggrootte heeft overschreden, wordt deze overgezet naar de modus Alleen-lezen. Als SIZE_BASED_CLEANUP_MODE
is ingeschakeld, wordt het opschoonmechanisme voor het afdwingen van de MAX_STORAGE_SIZE_MB
limiet ook geactiveerd.
Zodra er voldoende ruimte is gewist, schakelt de Query Store-modus automatisch terug naar lezen/schrijven.
Important
- If you think that your workload capture needs 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.
- Vanaf SQL Server 2019 (15.x) en in Azure SQL Database kunt u
QUERY_CAPTURE_MODE
instellen op CUSTOM voor extra controle over het queryopnamebeleid. -
MAX_STORAGE_SIZE_MB
instellingslimiet is 10.240 MB in Azure SQL Managed Instance.
INTERVAL_LENGTH_MINUTES
Bepaalt het tijdsinterval waarmee runtime-uitvoeringsstatistiekengegevens worden samengevoegd in de Query Store. Om te optimaliseren voor ruimtegebruik, worden de uitvoeringsstatistieken van runtime in het archief met runtimestatistieken geaggregeerd in een vast tijdvenster. Dit vaste tijdvenster wordt geconfigureerd met behulp van het argument INTERVAL_LENGTH_MINUTES. INTERVAL_LENGTH_MINUTES is type bigint. The default value is 60.
SIZE_BASED_CLEANUP_MODE = { AUTO | UIT }
Hiermee bepaalt u of opschonen automatisch wordt geactiveerd wanneer de totale hoeveelheid gegevens dicht bij de maximale grootte komt.
OFF
Op grootte gebaseerde opschoning wordt niet automatisch geactiveerd.
AUTO
Size-based cleanup is automatically activated when size on disk reaches 90% of max_storage_size_mb. Op grootte gebaseerde opschoning verwijdert eerst de goedkoopste en oudste query's. It stops at approximately 80% of max_storage_size_mb. Dit is de standaardconfiguratiewaarde.
SIZE_BASED_CLEANUP_MODE is type nvarchar.
QUERY_CAPTURE_MODE { ALL | AUTO | AANGEPAST | GEEN }
Hiermee wordt de momenteel actieve queryopnamemodus opgegeven.
ALL
Alle query's worden vastgelegd.
AUTO
Leg relevante query's vast op basis van het aantal uitvoeringen en het resourceverbruik. Dit is de standaardconfiguratiewaarde voor Azure SQL Database.
NONE
Stop met het vastleggen van nieuwe query's. Query Store blijft compileer- en runtimestatistieken verzamelen voor query's die al zijn vastgelegd. Gebruik deze configuratie met voorzichtigheid, omdat u belangrijke query's mogelijk niet kunt vastleggen.
QUERY_CAPTURE_MODE is type nvarchar.
MAX_PLANS_PER_QUERY
Een geheel getal dat het maximum aantal plannen vertegenwoordigt dat voor elke query wordt onderhouden. MAX_PLANS_PER_QUERY is type int. The default value is 200.
WAIT_STATS_CAPTURE_MODE { AAN | UIT }
Hiermee bepaalt u of wachtstatistieken per query worden vastgelegd.
ON
Wachtstatistiekengegevens per query worden vastgelegd. Deze waarde is de standaardconfiguratiewaarde.
OFF
Wachtstatistiekengegevens per query worden niet vastgelegd.
< > query_capture_policy_option_list :: =
Hiermee bepaalt u de opnamebeleidsopties van Query Store. Met uitzondering van STALE_CAPTURE_POLICY_THRESHOLD definiëren deze opties de OR-voorwaarden die moeten worden uitgevoerd voor het vastleggen van query's in de gedefinieerde drempelwaarde voor verlopen vastleggen van beleid.
STALE_CAPTURE_POLICY_THRESHOLD = integer { DAYS | HOURS }
Definieert de evaluatieperiode om te bepalen of een query moet worden vastgelegd. De standaardwaarde is 1 dag en kan worden ingesteld van 1 uur tot zeven dagen.
EXECUTION_COUNT = integer
Hiermee definieert u het aantal keren dat een query wordt uitgevoerd gedurende de evaluatieperiode. De standaardwaarde is 30, wat betekent dat voor de standaarddrempelwaarde voor verlopen capturebeleid een query minstens 30 keer in één dag moet worden uitgevoerd om te worden bewaard in de Query Store. EXECUTION_COUNT is type int.
TOTAL_COMPILE_CPU_TIME_MS = integer
Hiermee definieert u de totale verstreken CPU-tijd die door een query wordt gebruikt gedurende de evaluatieperiode. De standaardwaarde is 1000, wat betekent dat voor de standaarddrempelwaarde voor verlopen capturebeleid een query een totaal van ten minste één seconde CPU-tijd moet hebben die is besteed tijdens het compileren van query's in één dag om te worden bewaard in de Query Store. TOTAL_COMPILE_CPU_TIME_MS is type int.
TOTAL_EXECUTION_CPU_TIME_MS = integer
Hiermee definieert u de totale verstreken CPU-tijd van de uitvoering die wordt gebruikt door een query gedurende de evaluatieperiode. De standaardwaarde is 100, wat betekent dat voor de standaarddrempelwaarde voor verlopen capturebeleid een query in totaal ten minste 100 ms CPU-tijd moet hebben die is besteed tijdens de uitvoering in één dag om te worden bewaard in de Query Store. TOTAL_EXECUTION_CPU_TIME_MS is type int.
< > snapshot_option ::=
Bepaalt het niveau van transactieisolatie.
ALLOW_SNAPSHOT_ISOLATION { ON | UIT }
ON
Hiermee schakelt u de optie Momentopname in op databaseniveau. Wanneer deze optie is ingeschakeld, beginnen DML-instructies met het genereren van rijversies, zelfs wanneer er geen transactie gebruikmaakt van Momentopname-isolatie. Nadat deze optie is ingeschakeld, kunnen transacties het isolatieniveau van de MOMENTOPNAME-transactie opgeven. Wanneer een transactie wordt uitgevoerd op het isolatieniveau SNAPSHOT, zien alle instructies een momentopname van gegevens zoals deze zich aan het begin van de transactie bevinden. Als een transactie die wordt uitgevoerd op het isolatieniveau SNAPSHOT toegang heeft tot gegevens in meerdere databases, moet ALLOW_SNAPSHOT_ISOLATION zijn ingesteld op AAN in alle databases, of elke instructie in de transactie moet vergrendelingshints gebruiken voor elke verwijzing in een FROM-component naar een tabel in een database waar ALLOW_SNAPSHOT_ISOLATION is uitgeschakeld.
OFF
Hiermee schakelt u de optie Momentopname uit op databaseniveau. Transacties kunnen het isolatieniveau van de SNAPSHOT-transactie niet opgeven.
Wanneer u ALLOW_SNAPSHOT_ISOLATION instelt op een nieuwe status (van AAN naar UIT of van UIT naar AAN), retourneert ALTER DATABASE geen controle naar de beller totdat alle bestaande transacties in de database zijn doorgevoerd. Als de database al de status heeft die is opgegeven in de instructie ALTER DATABASE, wordt het besturingselement onmiddellijk teruggezet naar de aanroeper. 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. Als de instructie ALTER DATABASE wordt geannuleerd, blijft de database de status behouden waarin deze zich bevond toen ALTER DATABASE werd gestart. The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Als snapshot_isolation_state_desc = IN_TRANSITION_TO_ON
, wordt de instructie ALTER DATABASE ... ALLOW_SNAPSHOT_ISOLATION OFF
zes seconden onderbroken en wordt de bewerking opnieuw uitgevoerd.
U kunt de status van ALLOW_SNAPSHOT_ISOLATION niet wijzigen als de database OFFLINE is.
U kunt de ALLOW_SNAPSHOT_ISOLATION-instellingen voor de master
, model
, msdb
en tempdb
databases wijzigen. De instelling wordt bewaard telkens wanneer het exemplaar van de database-engine wordt gestopt en opnieuw wordt gestart als u de instelling voor tempdb
wijzigt. Als u de instelling voor de model
systeemdatabase wijzigt, wordt deze instelling de standaardinstelling voor nieuwe databases die worden gemaakt, met uitzondering van tempdb
.
De optie is standaard INGESCHAKELD voor de master
- en msdb
-databases.
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 { AAN | UIT }
ON
Hiermee schakelt u de optie Read-Committed Momentopname in op databaseniveau. Wanneer deze optie is ingeschakeld, beginnen DML-instructies met het genereren van rijversies, zelfs wanneer er geen transactie gebruikmaakt van Momentopname-isolatie. Nadat deze optie is ingeschakeld, gebruiken de transacties die het isolatieniveau READ COMMITTED opgeven rijversiebeheer in plaats van vergrendeling. Alle instructies zien een momentopname van gegevens zoals deze bestaan aan het begin van de instructie wanneer een transactie wordt uitgevoerd op het isolatieniveau READ COMMITTED.
OFF
Hiermee schakelt u de optie Read-Committed Momentopname uit op databaseniveau. Transacties die het isolatieniveau READ COMMITTED opgeven, maken gebruik van vergrendeling.
Als u READ_COMMITTED_SNAPSHOT wilt instellen op AAN of UIT, moeten er geen actieve verbindingen met de database zijn, met uitzondering van de verbinding met de opdracht ALTER DATABASE. De database hoeft zich echter niet in de modus voor één gebruiker te bevinden. U kunt de status van deze optie niet wijzigen wanneer de database OFFLINE is.
READ_COMMITTED_SNAPSHOT kan niet worden ingeschakeld voor de master
, tempdb
of msdb
systeemdatabases. Als u de instelling voor de model
systeemdatabase wijzigt, wordt deze instelling de standaardinstelling voor nieuwe databases die zijn gemaakt, met uitzondering van tempdb
.
The current setting of this option can be determined by examining the is_read_committed_snapshot_on
column in the sys.databases catalog view.
Warning
Wanneer een tabel wordt gemaakt met DUURZAAMHEID = SCHEMA_ONLYen READ_COMMITTED_SNAPSHOT vervolgens wordt gewijzigd met ALTER DATABASE, gaan de gegevens in de tabel verloren.
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { AAN | UIT }
ON
Wanneer het niveau van transactieisolatie is ingesteld op een isolatieniveau dat lager is dan MOMENTOPNAME, worden alle geïnterpreteerde Transact-SQL bewerkingen op tabellen die zijn geoptimaliseerd voor geheugen, uitgevoerd onder MOMENTOPNAME-isolatie. Voorbeelden van isolatieniveaus die lager zijn dan momentopnamen zijn READ COMMITTED of READ UNCOMMITTED. Deze bewerkingen worden uitgevoerd of het niveau van transactieisolatie expliciet is ingesteld op sessieniveau, of de standaardinstelling wordt impliciet gebruikt.
OFF
Verhoogt het niveau van transactieisolatie niet voor geïnterpreteerde Transact-SQL bewerkingen op tabellen die zijn geoptimaliseerd voor geheugen.
U kunt de status van MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT niet wijzigen als de database OFFLINE is.
De standaardwaarde is UIT.
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 ::=
Hiermee bepaalt u de ANSI-nalevingsopties op databaseniveau.
ANSI_NULL_DEFAULT { AAN | UIT }
Bepaalt de standaardwaarde, NULL of NOT NULL, van een kolom of door de gebruiker gedefinieerde CLR-type waarvoor de null-waarde niet expliciet is gedefinieerd in CREATE TABLE- of ALTER TABLE-instructies. Kolommen die zijn gedefinieerd met beperkingen volgen regels voor beperkingen, ongeacht wat deze instelling kan zijn.
ON
De standaardwaarde is NULL.
OFF
De standaardwaarde is NOT NULL.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaardinstelling op databaseniveau voor ANSI_NULL_DEFAULT. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_NULL_DEFAULT op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_NULL_DFLT_ON.
Voor ANSI-compatibiliteit stelt u de databaseoptie in ANSI_NULL_DEFAULT op AAN wijzigt de standaardwaarde van de database in NULL.
You can determine this option's status by examining the is_ansi_null_default_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiNullDefault
property of the DATABASEPROPERTYEX function.
ANSI_NULLS { AAN | UIT }
ON
Alle vergelijkingen met een null-waarde resulteren in ONBEKEND.
OFF
Vergelijkingen van niet-Unicode-waarden met een null-waarde resulteren in WAAR als beide waarden NULL zijn.
Important
In een toekomstige versie van SQL Server is ANSI_NULLS altijd INGESCHAKELD en eventuele toepassingen die de optie expliciet op UIT instellen, veroorzaken een fout. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor ANSI_NULLS. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_NULLS op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_NULLS.
Important
SET ANSI_NULLS moet ook worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
You can determine this option's status by examining the is_ansi_nulls_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiNullsEnabled
property of the DATABASEPROPERTYEX function.
ANSI_PADDING { AAN | UIT }
ON
Tekenreeksen worden opgevuld tot dezelfde lengte voordat de conversie wordt uitgevoerd. Also padded to the same length before inserting to a varchar or nvarchar data type.
OFF
Inserts trailing blanks in character values into varchar or nvarchar columns. Also leaves trailing zeros in binary values that are inserted into varbinary columns. Waarden worden niet opgevuld tot de lengte van de kolom.
Wanneer UIT is opgegeven, is deze instelling alleen van invloed op de definitie van nieuwe kolommen.
Important
In een toekomstige versie van SQL Server is ANSI_PADDING altijd INGESCHAKELD en eventuele toepassingen die de optie expliciet op UIT instellen, veroorzaken een fout. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. U wordt aangeraden ANSI_PADDING altijd in te stellen op AAN. ANSI_PADDING moet zijn ingeschakeld wanneer u indexen maakt of bewerkt voor berekende kolommen of geïndexeerde weergaven.
char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Afsluitende lege waarden en nullen worden afgekapt wanneer ANSI_PADDING uit is. char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaardinstelling op databaseniveau voor ANSI_PADDING. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_PADDING op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_PADDING.
You can determine this option's status by examining the is_ansi_padding_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiPaddingEnabled
property of the DATABASEPROPERTYEX function.
ANSI_WARNINGS { AAN | UIT }
ON
Fouten of waarschuwingen worden uitgegeven wanneer er voorwaarden zoals delen door nul optreden. Fouten en waarschuwingen worden ook uitgegeven wanneer null-waarden worden weergegeven in statistische functies.
OFF
Er worden geen waarschuwingen gegenereerd en null-waarden worden geretourneerd wanneer voorwaarden zoals delen door nul optreden.
Important
SET ANSI_WARNINGS moet worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor ANSI_WARNINGS. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit ANSI_WARNINGS op AAN voor de sessie. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET ANSI_WARNINGS.
You can determine this option's status by examining the is_ansi_warnings_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAnsiWarningsEnabled
property of the DATABASEPROPERTYEX function.
ARITHABORT { ON | UIT }
ON
Een query wordt beëindigd wanneer er een overloop- of deel-by-nul-fout optreedt tijdens de uitvoering van de query.
OFF
Er wordt een waarschuwingsbericht weergegeven wanneer een van deze fouten optreedt. De query, batch of transactie blijft verwerken alsof er geen fout is opgetreden, zelfs als er een waarschuwing wordt weergegeven.
Important
SET ARITHABORT
moet zijn ingeschakeld (AAN) wanneer u indexen maakt of wijzigt in indexen voor berekende kolommen of geïndexeerde weergaven.
You can determine this option's status by examining the is_arithabort_on
column in the sys.databases catalog view. You can also determine the status by examining the IsArithmeticAbortEnabled
property of the DATABASEPROPERTYEX function.
COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
Zie ALTER DATABASE-compatibiliteitsniveauvoor meer informatie.
CONCAT_NULL_YIELDS_NULL { AAN | UIT }
ON
Het resultaat van een samenvoegingsbewerking is NULL wanneer een van beide operanden NULL is. Als u bijvoorbeeld de tekenreeks 'Dit is' samenvoegt en NULL de waarde NULL veroorzaakt, in plaats van de waarde 'Dit is'.
OFF
De null-waarde wordt behandeld als een lege tekenreeks.
Important
CONCAT_NULL_YIELDS_NULL moet worden ingesteld op AAN wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
In een toekomstige versie van SQL Server is CONCAT_NULL_YIELDS_NULL altijd INGESCHAKELD en eventuele toepassingen die de optie expliciet op UIT instellen, veroorzaken een fout. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor CONCAT_NULL_YIELDS_NULL. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit CONCAT_NULL_YIELDS_NULL aan AAN voor de sessie wanneer er verbinding wordt gemaakt met een exemplaar van SQL Server. For more information, see SET CONCAT_NULL_YIELDS_NULL.
You can determine this option's status by examining the is_concat_null_yields_null_on
column in the sys.databases catalog view. You can also determine the status by examining the IsNullConcat
property of the DATABASEPROPERTYEX function.
NUMERIC_ROUNDABORT { AAN | UIT }
ON
Er wordt een fout gegenereerd wanneer verlies van precisie optreedt in een expressie.
OFF
Verlies van precisie genereert geen foutbericht en het resultaat wordt afgerond op de precisie van de kolom of variabele die het resultaat opslaat.
Important
NUMERIC_ROUNDABORT moet zijn ingesteld op UIT wanneer u indexen maakt of wijzigt in indexen in berekende kolommen of geïndexeerde weergaven.
You can determine the status of this option in the is_numeric_roundabort_on
column in the sys.databases catalog view. You can also determine the status by examining the IsNumericRoundAbortEnabled
property of the DATABASEPROPERTYEX function.
QUOTED_IDENTIFIER { AAN | UIT }
ON
Dubbele aanhalingstekens kunnen worden gebruikt om gescheiden id's in te sluiten.
Alle tekenreeksen die door dubbele aanhalingstekens worden gescheiden, worden geïnterpreteerd als object-id's. De Transact-SQL-regels voor id's hoeven niet te worden gevolgd. Dit kunnen trefwoorden zijn en tekens bevatten die niet zijn toegestaan in Transact-SQL id's. Als een dubbel aanhalingsteken (
"
) deel uitmaakt van de id, kan deze worden vertegenwoordigd door twee dubbele aanhalingstekens (""
).OFF
Id's mogen niet tussen aanhalingstekens staan en moeten alle Transact-SQL regels voor id's volgen. Letterlijke tekens kunnen worden gescheiden door enkele of dubbele aanhalingstekens.
Met SQL Server kunnen id's ook worden gescheiden door vierkante haken ([
en ]
). Id's met haakjes kunnen altijd worden gebruikt, ongeacht de QUOTED_IDENTIFIER instelling. For more information, see Database identifiers.
Wanneer een tabel wordt gemaakt, wordt de optie AAN-ID altijd opgeslagen als AAN in de metagegevens van de tabel. De optie wordt opgeslagen, zelfs als de optie is ingesteld op UIT wanneer de tabel wordt gemaakt.
Instellingen op verbindingsniveau die zijn ingesteld met de SET-instructie overschrijven de standaarddatabase-instelling voor QUOTED_IDENTIFIER. ODBC- en OLE DB-clients geven standaard een set-instructieinstelling op verbindingsniveau uit QUOTED_IDENTIFIER op AAN. De clients voeren de instructie uit wanneer u verbinding maakt met een exemplaar van SQL Server. For more information, see SET QUOTED_IDENTIFIER.
You can determine this option's status by examining the is_quoted_identifier_on
column in the sys.databases catalog view. You can also determine the status by examining the IsQuotedIdentifiersEnabled
property of the DATABASEPROPERTYEX function.
RECURSIVE_TRIGGERS { AAN | UIT }
ON
Recursieve schieting van AFTER-triggers is toegestaan.
OFF
You can determine this option's status by examining the
is_recursive_triggers_on
column in the sys.databases catalog view. You can also determine the status by examining theIsRecursiveTriggersEnabled
property of the DATABASEPROPERTYEX function.Note
Alleen directe recursie wordt voorkomen wanneer RECURSIVE_TRIGGERS is ingesteld op UIT. Als u indirecte recursie wilt uitschakelen, moet u ook de serveroptie geneste triggers instellen op 0.
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 isn't supported on Azure SQL Managed Instance.
Hiermee geeft u de frequentie van indirecte controlepunten per database. Starting with SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database uses indirect checkpoints. Voor oudere versies is de standaardwaarde 0, wat aangeeft dat de database automatische controlepunten gebruikt, waarvan de frequentie afhankelijk is van de herstelintervalinstelling van het serverexemplaren. Microsoft raadt 1 minuut aan voor de meeste systemen.
MET <beëindiging> ::=
Hiermee geeft u op wanneer onvolledige transacties moeten worden teruggedraaid wanneer de database van de ene status naar de andere wordt overgezet. Als de beëindigingsclausule wordt weggelaten, wacht de instructie ALTER DATABASE voor onbepaalde tijd als er een vergrendeling op de database is. Er kan slechts één beëindigingsclausule worden opgegeven en volgt de SET-componenten.
Note
Niet alle databaseopties maken gebruik van de component WITH <beëindiging>. For more information, see the table under Setting options of the "Remarks" section of this article.
ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Hiermee geeft u op of u wilt terugdraaien na het opgegeven aantal seconden of onmiddellijk.
NO_WAIT
Hiermee geeft u op dat de aanvraag mislukt als de aangevraagde databasestatus of optiewijziging niet onmiddellijk kan worden voltooid. Onmiddellijk voltooien betekent niet wachten op het doorvoeren of terugdraaien van transacties.
< > temporal_history_retention ::=
TEMPORAL_HISTORY_RETENTION { AAN | UIT }
STANDAARD INGESCHAKELD, maar ook automatisch ingesteld op UIT na herstelbewerking naar een bepaald tijdstip. Zie Bewaarbeleid configurerenvoor meer informatie over het inschakelen van deze instelling.
ON
Default. Hiermee schakelt u tijdelijk bewaarbeleid voor tabellen in. Zie Het bewaren van historische gegevens in tijdelijke tabellen met systeemversies beherenvoor meer informatie.
OFF
Voer geen tijdelijk historisch bewaarbeleid uit.
Set options
To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX
Nadat u een databaseoptie hebt ingesteld, wordt de nieuwe instelling onmiddellijk van kracht.
U kunt de standaardwaarden wijzigen voor een van de databaseopties voor alle nieuw gemaakte databases. Hiervoor wijzigt u de juiste databaseoptie in de model
systeemdatabase.
Examples
A. Isolatie van momentopnamen inschakelen voor een database
In het volgende voorbeeld wordt de optie voor isolatieframework voor momentopnamen ingeschakeld voor de AdventureWorks2022
-database.
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
De resultatenset laat zien dat het framework voor isolatie van momentopnamen is ingeschakeld.
name | snapshot_isolation_state | description |
---|---|---|
[database_name] | 1 | ON |
B. Wijzigingen bijhouden inschakelen, wijzigen of uitschakelen
In het volgende voorbeeld wordt het bijhouden van wijzigingen voor de AdventureWorks2022
database ingeschakeld en wordt de bewaarperiode ingesteld op 2
dagen.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);
In het volgende voorbeeld ziet u hoe u de bewaarperiode wijzigt in 3
dagen.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);
In het volgende voorbeeld ziet u hoe u het bijhouden van wijzigingen voor de AdventureWorks2022
-database kunt uitschakelen.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;
C. Query Store inschakelen
In het volgende voorbeeld worden Query Store-parameters ingeschakeld en geconfigureerd.
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
);
D. Query Store met wachtstatistieken inschakelen
In het volgende voorbeeld wordt Query Store ingeschakeld en worden de parameters geconfigureerd.
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
);
E. Query Store inschakelen met aangepaste beleidsopties voor vastleggen
In het volgende voorbeeld wordt Query Store ingeschakeld en worden de parameters geconfigureerd.
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
)
);
Related content
- Statistics
- DATABASEPROPERTYEX (Transact-SQL)
- sys.databases
- sys.data_spaces
- sys.database_automatic_tuning_options
- sys.database_automatic_tuning_mode
- ALTER DATABASE-compatibiliteitsniveau
- ALTER DATABASE Mirroring
- CREATE DATABASE
- Wijzigingen bijhouden (SQL Server) in- en uitschakelen
-
DROP DATABASE (Transact-SQL) - TRANSACTIEISOLATIENIVEAU (Transact-SQL) instellen
- sp_configure
- Aanbevolen procedures voor het bewaken van workloads met Query Store-
* Azure Synapse
Analyse *
Azure Synapse Analytics
Syntax
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 }
}
Arguments
database_name
De naam van de database die moet worden gewijzigd.
< > auto_option ::=
Hiermee bepaalt u automatische opties.
AUTO_CREATE_STATISTICS { AAN | UIT }
ON
Query Optimizer maakt zo nodig statistieken voor afzonderlijke kolommen in querypredicaten om queryplannen en queryprestaties te verbeteren. Deze statistieken met één kolom worden gemaakt wanneer Query Optimizer query's compileert. De statistieken met één kolom worden alleen gemaakt voor kolommen die nog niet de eerste kolom van een bestaand statistiekenobject zijn.
De standaardwaarde is AAN. U wordt aangeraden de standaardinstelling voor de meeste databases te gebruiken.
OFF
Query Optimizer maakt geen statistieken voor afzonderlijke kolommen in querypredicaten bij het compileren van query's. Als u deze optie instelt op UIT, kunnen suboptimale queryplannen en verminderde queryprestaties worden veroorzaakt.
Deze opdracht moet worden uitgevoerd terwijl deze is verbonden met de gebruikersdatabase.
You can determine this option's status by examining the is_auto_create_stats_on
column in the sys.databases catalog view. You can also determine the status by examining the IsAutoCreateStatistics
property of the DATABASEPROPERTYEX function.
For more information, see the section "Using the database-wide statistics options" in Statistics.
< > db_encryption_option ::=
Hiermee bepaalt u de status van de databaseversleuteling.
VERSLEUTELING { AAN | UIT }
ON
Hiermee stelt u in dat de database moet worden versleuteld.
OFF
Hiermee stelt u in dat de database niet wordt versleuteld.
Zie TDE-(Transparent Data Encryption) en Transparent Data Encryption voor Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analyticsvoor meer informatie over databaseversleuteling.
Wanneer versleuteling op databaseniveau is ingeschakeld, worden alle bestandsgroepen versleuteld. Alle nieuwe bestandsgroepen nemen de versleutelde eigenschap over. Als bestandsgroepen in de database zijn ingesteld op ALLEEN-LEZEN, mislukt de bewerking voor databaseversleuteling.
U kunt de versleutelingsstatus van de database en de status van de versleutelingsscan zien met behulp van de sys.dm_database_encryption_keys
dynamische beheerweergave.
< > query_store_option ::=
Hiermee bepaalt u of Query Store is ingeschakeld in dit datawarehouse.
QUERY_STORE { AAN | UIT }
ON
Hiermee schakelt u Query Store in.
OFF
Hiermee schakelt u de Query Store uit. UIT is de standaardwaarde.
Note
Voor Azure Synapse Analytics moet u ALTER DATABASE SET QUERY_STORE
uitvoeren vanuit de gebruikersdatabase. Het uitvoeren van de instructie van een ander datawarehouse-exemplaar wordt niet ondersteund.
Note
Voor Azure Synapse Analytics kan Query Store worden ingeschakeld zoals op andere platforms, maar aanvullende configuratieopties worden niet ondersteund.
< > result_set_caching_option ::=
Applies to: Azure Synapse Analytics
Hiermee bepaalt u of het queryresultaat in de cache wordt opgeslagen in de database.
RESULT_SET_CACHING { AAN | UIT }
ON
Hiermee geeft u op dat queryresultatensets die worden geretourneerd uit deze database in de cache worden opgeslagen in de database.
OFF
Hiermee geeft u op dat queryresultatensets die worden geretourneerd uit deze database niet in de cache worden opgeslagen in de database.
Deze opdracht moet worden uitgevoerd terwijl deze is verbonden met de master
-database. Wijziging in deze database-instelling wordt onmiddellijk van kracht. Opslagkosten worden gemaakt door queryresultatensets in de cache op te slaan. Nadat u de cache van resultaten voor een database hebt uitgeschakeld, wordt de eerder persistente resultaatcache onmiddellijk verwijderd uit Azure Synapse-opslag.
Voer deze opdracht uit om de cacheconfiguratie van de resultatenset van een database te controleren. Als caching van resultatensets is ingeschakeld, retourneert is_result_set_caching_on
1.
SELECT name, is_result_set_caching_on FROM sys.databases
WHERE name = <'Your_Database_Name'>
Voer deze opdracht uit om te controleren of een query is uitgevoerd met behulp van het resultaat in de cache. De kolom result_cache_hit
retourneert 1 voor cachetreffers, 0 voor cachemissers en negatieve waarden om redenen waarom het opslaan van resultatensets niet is gebruikt. 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'>
Note
Result set caching should not be used in conjunction with DECRYPTBYKEY. If this cryptographic function must be used, ensure you have result set caching disabled (either at session-level or database-level) at the time of execution.
Important
De bewerkingen voor het maken van de cache voor resultatensets en het ophalen van gegevens uit de cache vinden plaats op het besturingsknooppunt van een datawarehouse-exemplaar. Wanneer caching van resultatensets is ingeschakeld, kunnen het uitvoeren van query's die een grote resultatenset retourneren (bijvoorbeeld >1 miljoen rijen) een hoog CPU-gebruik op het besturingsknooppunt veroorzaken en de algehele queryreactie op het exemplaar vertragen. Deze query's worden vaak gebruikt tijdens het verkennen van gegevens of ETL-bewerkingen. Om te voorkomen dat het besturingsknooppunt wordt belast en prestatieproblemen veroorzaakt, moeten gebruikers resultatensets in de cache uitschakelen voordat ze deze typen query's uitvoeren.
Raadpleeg richtlijnen voor het afstemmen van prestatiesvoor meer informatie over het afstemmen van de prestaties met caching van resultatensets.
Permissions
Als u de optie RESULT_SET_CACHING wilt instellen, moet een gebruiker zich op serverniveau aanmelden (degene die is gemaakt door het inrichtingsproces) of lid zijn van de dbmanager
-databaserol.
< > snapshot_option ::=
Applies to: Azure Synapse Analytics
Hiermee bepaalt u het isolatieniveau van een transactie van een database.
READ_COMMITTED_SNAPSHOT { AAN | UIT }
ON
Hiermee schakelt u de optie READ_COMMITTED_SNAPSHOT op databaseniveau in.
OFF
Schakel de optie READ_COMMITTED_SNAPSHOT uit op databaseniveau.
Deze opdracht moet worden uitgevoerd terwijl deze is verbonden met de master
-database. Als u READ_COMMITTED_SNAPSHOT in- of uitschakelt voor een gebruikersdatabase, worden alle geopende verbindingen met deze database uitgeschakeld. U moet deze wijziging aanbrengen tijdens een onderhoudsvenster van een database of wachten totdat er geen actieve verbinding met de database is, met uitzondering van de verbinding waarop de opdracht ALTER DATABASE wordt uitgevoerd. De database hoeft zich niet in de modus voor één gebruiker te bevinden. Het wijzigen van READ_COMMITTED_SNAPSHOT instelling op sessieniveau wordt niet ondersteund. Als u deze instelling voor een database wilt controleren, controleert u de kolom is_read_committed_snapshot_on
in sys.databases
.
In een database waarvoor READ_COMMITTED_SNAPSHOT ingeschakeld, kunnen query's tragere prestaties ervaren vanwege de scan van versies als er meerdere gegevensversies aanwezig zijn. Lang geopende transacties kunnen ook leiden tot een toename van de grootte van de database. Dit probleem treedt op als er gegevenswijzigingen zijn door deze transacties die het opschonen van de versie blokkeren.
Permissions
Als u de optie READ_COMMITTED_SNAPSHOT wilt instellen, heeft een gebruiker ALTER-machtiging nodig voor de database.
Examples
Instelling voor statistieken voor een database controleren
SELECT name, is_auto_create_stats_on FROM sys.databases
Query Store inschakelen voor een database
ALTER DATABASE [database_name]
SET QUERY_STORE = ON;
Cache van resultatensets inschakelen voor een database
-- Run this command when connecting to the MASTER database
ALTER DATABASE [database_name]
SET RESULT_SET_CACHING ON;
De cache-instelling voor resultatensets voor een database controleren
SELECT name, is_result_set_caching_on
FROM sys.databases;
De optie Read_Committed_Snapshot voor een database inschakelen
Voer deze opdracht uit wanneer u verbinding maakt met de master
-database.
ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON;
Related content
Microsoft Fabric
Microsoft Fabric
Gebruik ALTER DATABASE ... SET
om een Microsoft Fabric Warehouse te beheren.
Syntax
-- Microsoft Fabric Data Warehouse
ALTER DATABASE { warehouse_name | CURRENT }
SET
{
<option_spec> [ ,...n ]
}
<option_spec> ::=
{
<data_lake_log_publishing>
| <vorder>
| <timestamp>
| <result_set_caching>
}
;
<data_lake_log_publishing> ::=
{
DATA_LAKE_LOG_PUBLISHING { PAUSED | AUTO }
}
<vorder> ::=
{
VORDER = OFF
}
<timestamp> ::=
{
TIMESTAMP = {CURRENT_TIMESTAMP | 'YYYY-MM-DDTHH:MM:SS.SS' }
}
<result_set_caching> ::=
{
RESULT_SET_CACHING { ON | OFF }
}
Arguments
DATA_LAKE_LOG_PUBLISHING
Hiermee wordt het publiceren van Delta Lake-logboeken onderbroken of hervat. Zie Delta Lake-logboekpublicatie voor meer informatie.
VORDER
Kan V-Ordergedrag uitschakelen. Zie V-Ordergedrag uitschakelen in een magazijn voor meer informatie.
TIMESTAMP
Hiermee wordt de tijdstempel bijgewerkt voor een bestaande momentopname van een magazijn in Fabric Data Warehouse. De tijdstempel moet worden opgegeven in de UTC-tijdzone. For more information, see Warehouse snapshots.
RESULT_SET_CACHING
Hiermee schakelt u de cache van resultatensets (preview) voor het huidige item in of uit. Zie Opslaan in cache voor resultatensets voor meer informatie.
Permissions
De gebruiker moet lid zijn van de rollen Beheerder, Lid of Inzender in de werkruimte Fabric.
Examples
A. Het publiceren van Delta Lake-logboeken onderbreken
Met de volgende T-SQL-opdracht wordt het publiceren van Delta Lake Log onderbroken in de huidige magazijncontext.
ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = PAUSED;
To check the current status of Delta Lake Log publishing on all warehouses, of your workspace, use the following T-SQL code to query sys.databases in a new query window:
SELECT [name], [DATA_LAKE_LOG_PUBLISHING_DESC] FROM sys.databases;
B. Cache van resultatensets instellen en controleren (preview)
Met de volgende T-SQL-opdracht kan het item MyDataWarehouse
beginnen met het maken en toepassen van de cache voor resultatensets (preview) op toepasselijke SELECT
query's. Zie Opslaan in cache voor resultatensets voor meer informatie.
ALTER DATABASE [MyDataWarehouse] SET RESULT_SET_CACHING ON;
The column is_result_set_caching_on
from sys.databases can then be checked to confirm that result set caching (preview) has been enabled.
SELECT [name], [is_result_set_caching_on] FROM sys.databases;