Dela via


ÄNDRA ALTERNATIV FÖR DATABASUPPSÄTTNING (Transact-SQL)

Anger databasalternativ i Microsoft SQL Server, Azure SQL Database och Azure Synapse Analytics. For other ALTER DATABASE options, see ALTER DATABASE.

Note

Om du ställer in vissa alternativ med ALTER DATABASE kan det kräva exklusiv databasåtkomst. Om ALTER DATABASE-instruktionen inte slutförs i tid kontrollerar du om andra sessioner i databasen blockerar ALTER DATABASE-sessionen.

Mer information om syntaxkonventionerna finns i Transact-SQL syntaxkonventioner.

Välj en produkt

På följande rad väljer du det produktnamn du är intresserad av. Om du gör det visas olika innehåll här på den här webbsidan, lämpligt för den produkt du väljer.

* SQL Server *  

 

SQL Server

Databasspegling, AlwaysOn-tillgänglighetsgrupper och kompatibilitetsnivåer är SET alternativ men beskrivs i separata artiklar på grund av deras längd. Mer information finns i ALTER DATABASE Mirroring, ALTER DATABASE SET HADRoch ALTER DATABASE compatibility level.

Databasomfattande konfigurationer används för att ange flera databaskonfigurationer på enskild databasnivå. Mer information finns i ALTER DATABASE SCOPED CONFIGURATION.

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. Uppsättningsalternativ på sessionsnivå åsidosätter ALTER DATABASE SET värden. Databasalternativen som beskrivs i följande avsnitt är värden som du kan ange för sessioner som inte uttryckligen anger andra angivna alternativvärden.

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

Namnet på databasen som ska ändras.

CURRENT

Applies to: SQL Server (Starting with SQL Server 2012 (11.x))

Kör åtgärden i den aktuella databasen. CURRENT stöds inte för alla alternativ i alla kontexter. Om CURRENT misslyckas anger du databasnamnet.

< > accelerated_database_recovery ::=

Applies to: SQL Server (Starting with SQL Server 2019 (15.x))

Aktiverar accelererad databasåterställning (ADR). ADR är inställt på AV som standard i SQL Server 2019 (15.x) och senare. Med den här syntaxen kan du ange en specifik filgrupp för PVS-data (Persistent Version Store). Om ingen filgrupp har angetts använder PVS den PRIMARY filgruppen. Mer information finns i Hantera accelererad databasåterställning.

Om du vill ange ACCELERATED_DATABASE_RECOVERY PÅ eller AV får det inte finnas några aktiva anslutningar till databasen förutom anslutningen som kör kommandot ALTER DATABASE. Databasen behöver dock inte vara i enanvändarläge. Du kan inte ändra tillståndet för det här alternativet om inte databasen är ONLINE.

< > auto_option ::=

Styr automatiska alternativ.

AUTO_CLOSE { ON | AV }

  • ON

    Databasen stängs av helt och dess resurser frigörs efter att den senaste användaren har avslutats.

    Databasen öppnas automatiskt igen när en användare försöker använda databasen igen. Det här beteendet inträffar till exempel när en användare utfärdar en USE database_name-instruktion. Databasen kan stängas av rent med AUTO_CLOSE inställt på PÅ. I så fall öppnas inte databasen igen förrän en användare försöker använda databasen nästa gång databasmotorn startas om.

    När en databas har stängts av måste databasen först öppnas nästa gång ett program försöker använda databasen och sedan ändras statusen till online. Det kan ta lite tid och resultera i tidsgränser för program.

  • OFF

    Databasen förblir öppen efter att den senaste användaren har avslutats.

    Alternativet AUTO_CLOSE är användbart för skrivbordsdatabaser eftersom det gör att databasfiler kan hanteras som vanliga filer. De kan flyttas, kopieras för att göra säkerhetskopior eller till och med skickas via e-post till andra användare. Den AUTO_CLOSE processen är asynkron. att öppna och stänga databasen upprepade gånger minskar inte prestandan.

Note

Alternativet AUTO_CLOSE är inte tillgängligt i en innesluten databas eller i 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. Lös problemet genom att köra en USE-instruktion för att öppna databasen.

Databasspegling kräver AUTO_CLOSE inställt på OFF.

När databasen är inställd på AUTOCLOSE = ONrensar en åtgärd som initierar en automatisk databasavstängning plancachen för instansen av SQL Server. Om du rensar plancachen blir det en omkompilering av alla efterföljande körningsplaner och kan orsaka en plötslig, tillfällig minskning av frågeprestanda. Från och med SQL Server 2005 (9.x) Service Pack 2 innehåller SQL Server-felloggen följande informationsmeddelande för varje rensat cachelager i plancachen: 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. Det här meddelandet loggas var femte minut så länge cacheminnet rensas inom det tidsintervallet.

Inställningen AUTO_CLOSE kan vara en användbar funktion i vissa sällsynta situationer, till exempel i en SQL Server-instans utan tillräckligt med minne för att fungera stabilt med ett stort antal databaser eller för en äldre 32-bitars SQL Server-instans med ett stort antal databaser. I sådana scenarier kan det vara användbart att aktivera AUTO_CLOSE och spara de minnesresurser som krävs för att hålla en databas öppen när det inte finns något program som använder databasen. När databasen är öppen krävs vissa standardminnesallokeringar (till exempel interna strukturer för att representera olika databasmetadataobjekt och transaktionsloggbuffertar).

AUTO_CREATE_STATISTICS { ON | AV }

  • ON

    Frågeoptimeraren skapar statistik för enskilda kolumner i frågepredikat vid behov för att förbättra frågeplaner och frågeprestanda. Den här statistiken med en kolumn skapas när Query Optimizer kompilerar frågor. Enkolumnsstatistiken skapas endast för kolumner som inte redan är den första kolumnen i ett befintligt statistikobjekt.

    Standardinställningen är PÅ. Vi rekommenderar att du använder standardinställningen för de flesta databaser.

  • OFF

    Frågeoptimeraren skapar inte statistik för enskilda kolumner i frågepredikat när den kompilerar frågor. Om du ställer in det här alternativet på AV kan det orsaka suboptimala frågeplaner och försämrad frågeprestanda.

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.

INCREMENTAL = ON | BORT

Applies to: SQL Server (Starting with SQL Server 2014 (12.x)) and Azure SQL Database

Ställ in AUTO_CREATE_STATISTICS på PÅ och ange INKREMENTELL till PÅ. Detta anger automatiskt skapad statistik som inkrementell när inkrementell statistik stöds. Standardvärdet är AV. For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | AV }

  • ON

    Databasfilerna är kandidater för regelbunden krympning. Om du inte har ett specifikt krav ska du inte ange alternativet AUTO_SHRINK databas till PÅ. Mer information finns i Krympa en databas.

    Både datafiler och loggfiler kan krympas automatiskt. AUTO_SHRINK minskar storleken på transaktionsloggen endast om du ställer in databasen på SIMPLE-återställningsmodell eller om du säkerhetskopierar loggen. När du anger AUTO_SHRINK till AV krymps inte databasfilerna automatiskt under periodiska kontroller av oanvänt utrymme.

    Alternativet AUTO_SHRINK krymper filer när mer än 25 procent av filen innehåller outnyttjat utrymme. Filen krymps till en av två storlekar (beroende på vilket som är större):

    • Storleken med vilken 25 procent av filen är outnyttjat utrymme
    • Storleken på filen när den skapades

    Du kan inte krympa en skrivskyddad databas.

  • OFF

    Databasfilerna krymps inte automatiskt under periodiska kontroller av oanvänt utrymme.

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

Alternativet AUTO_SHRINK är inte tillgängligt i en innesluten databas.

AUTO_UPDATE_STATISTICS { ON | AV }

  • ON

    Anger att Query Optimizer uppdaterar statistik när de används av en fråga och när de kan vara inaktuella. Statistiken blir inaktuell efter att åtgärderna infoga, uppdatera, ta bort eller slå samman ändrar datadistributionen i tabellen eller den indexerade vyn. Frågeoptimeraren avgör när statistiken kan vara inaktuell genom att räkna antalet dataändringar sedan den senaste statistikuppdateringen och jämföra antalet ändringar med ett tröskelvärde. Tröskelvärdet baseras på antalet rader i tabellen eller den indexerade vyn.

    Frågeoptimeraren söker efter inaktuell statistik innan den kompilerar en fråga och kör en cachelagrad frågeplan. Query Optimizer använder kolumner, tabeller och indexerade vyer i frågepredikatet för att avgöra vilken statistik som kan vara inaktuell. Frågeoptimeraren avgör den här informationen innan den kompilerar en fråga. Innan du kör en cachelagrad frågeplan verifierar databasmotorn att frågeplanen refererar till up-to-date-statistik.

    Alternativet AUTO_UPDATE_STATISTICS gäller för statistik som skapats för index, enkla kolumner i frågepredikat och statistik som skapas med hjälp av instruktionen CREATE STATISTICS. Det här alternativet gäller även för filtrerad statistik.

    Standardvärdet är PÅ. Vi rekommenderar att du använder standardinställningen för de flesta databaser.

    Använd alternativet AUTO_UPDATE_STATISTICS_ASYNC för att ange om statistiken uppdateras synkront eller asynkront.

  • OFF

    Anger att Frågeoptimeraren inte uppdaterar statistik när de används av en fråga. Query Optimizer uppdaterar inte heller statistik när de kan vara inaktuella. Om du ställer in det här alternativet på AV kan det orsaka suboptimala frågeplaner och försämrad frågeprestanda.

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 { ON | AV }

  • ON

    Anger att statistikuppdateringar för alternativet AUTO_UPDATE_STATISTICS är asynkrona. Frågeoptimeraren väntar inte på att statistikuppdateringarna ska slutföras innan frågor kompileras.

    Att ställa in det här alternativet på PÅ har ingen effekt om inte AUTO_UPDATE_STATISTICS är inställt på PÅ.

    Som standard är alternativet AUTO_UPDATE_STATISTICS_ASYNC AV och Frågeoptimeraren uppdaterar statistik synkront.

  • OFF

    Anger att statistikuppdateringar för alternativet AUTO_UPDATE_STATISTICS är synkrona. Frågeoptimeraren väntar på att statistikuppdateringarna ska slutföras innan frågor kompileras.

    Note

    Att ställa in det här alternativet på AV har ingen effekt om inte AUTO_UPDATE_STATISTICS är inställt på PÅ.

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_PLANAutomatic tuning option. Du kan visa status för det här alternativet i vyn sys.database_automatic_tuning_options.

FORCE_LAST_GOOD_PLAN = { STANDARD | PÅ | AV }

  • DEFAULT

    Standardvärdet för SQL Server är AV.

  • ON

    Databasmotorn tvingar automatiskt fram den senast kända bra planen för Transact-SQL frågor där en ny frågeplan orsakar prestandaregressioner. Databasmotorn övervakar kontinuerligt frågeprestanda för den Transact-SQL frågan med den framtvingade planen.

    Om det finns prestandavinster fortsätter databasmotorn att använda den senast kända bra planen. Om prestandavinster inte identifieras skapar databasmotorn en ny frågeplan. 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. Dessa rekommendationer tillämpas dock inte automatiskt. Användare kan övervaka aktiva rekommendationer och åtgärda identifierade problem genom att använda Transact-SQL skript som visas i vyn. Standardvärdet är AV.

< > change_tracking_option ::=

Applies to: SQL Server and Azure SQL Database

Styr ändringsspårningsalternativ. Du kan aktivera ändringsspårning, ange alternativ, ändra alternativ och inaktivera ändringsspårning. For examples, see the Examples section later in this article.

  • ON

    Aktiverar ändringsspårning för databasen. När du aktiverar ändringsspårning kan du också ange alternativen AUTOMATISK RENSNING och ÄNDRINGSBEVARANDE.

  • AUTO_CLEANUP = { ON | AV }

    • ON

      Information om ändringsspårning tas bort automatiskt efter den angivna kvarhållningsperioden.

    • OFF

      Ändringsspårningsdata tas inte bort automatiskt från databasen.

  • CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }

    Anger den minsta perioden för att behålla information om ändringsspårning i databasen. Data tas bara bort när värdet för AUTO_CLEANUP är PÅ.

    retention_period is an integer that specifies the numerical component of the retention period.

    The default retention period is 2 days. Den minsta kvarhållningsperioden är 1 minut. The default retention type is DAYS.

  • OFF Inaktiverar ändringsspårning för databasen. Inaktivera ändringsspårning för alla tabeller innan du inaktiverar ändringsspårning från databasen.

< > containment_option ::=

Applies to: SQL Server (Starting with SQL Server 2012 (11.x))

Styr databas-inneslutningsalternativ.

CONTAINMENT = { NONE | PARTIAL}

  • NONE

    Databasen är inte en innesluten databas.

  • PARTIAL

    Databasen är en innesluten databas. Det går inte att ställa in databasens inneslutning till partiell om databasen har replikering, ändringsdatainsamling eller ändringsspårning aktiverat. Felkontrollen stoppas efter ett fel. For more information about contained databases, see Contained Databases.

< > cursor_option ::=

Styr markörens alternativ.

CURSOR_CLOSE_ON_COMMIT { ON | AV }

  • ON

    Alla markörer som öppnas när du checkar in eller återställer en transaktion stängs.

  • OFF

    Markörer förblir öppna när en transaktion checkas in. om du återställer en transaktion stängs alla markörer, förutom de markörer som definierats som INSENSITIVE eller STATIC.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för CURSOR_CLOSE_ON_COMMIT. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå CURSOR_CLOSE_ON_COMMIT till AV för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av 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

Styr om markörens omfång använder LOCAL eller GLOBAL.

  • LOCAL

    När du anger LOCAL och inte definierar en markör som GLOBAL när du skapar markören är markörens omfång lokalt. Mer specifikt är omfånget lokalt för batchen, den lagrade proceduren eller utlösaren där du skapade markören. Markörens namn är endast giltigt inom det här omfånget.

    Markören kan refereras till av lokala markörvariabler i batchen, lagrad procedur eller utlösare eller en utdataparameter för lagrad procedur. Markören frigörs implicit när batchen, den lagrade proceduren eller utlösaren slutar. Markören frigörs om den inte skickades tillbaka i en OUTPUT-parameter. Markören kan skickas tillbaka i en OUTPUT-parameter. Om markören skickas tillbaka på det här sättet frigörs markören när den sista variabeln som refererar till markören frigörs eller hamnar utanför omfånget.

  • GLOBAL

    När GLOBAL anges och en markör inte definieras som LOKAL när den skapas är markörens omfång globalt för anslutningen. Markörens namn kan refereras i valfri lagrad procedur eller batch som körs av anslutningen.

    Markören frigörs implicit endast vid frånkoppling. 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 { ON | AV }

PÅ som standard men ställs också automatiskt in på AV efter återställning vid tidpunkt. Mer information om hur du aktiverar den här inställningen finns i Konfigurera kvarhållningsprincip.

< > data_retention_policy ::=

Applies to: Azure SQL Edge only.

DATA_RETENTION { ON | AV }

  • ON

    Aktiverar principbaserad rensning av datakvarhållning på en databas.

  • OFF

    Inaktiverar principbaserad rensning av datakvarhållning på en databas.

<database_mirroring>

Applies to: SQL Server

Argumentbeskrivningarna finns i ALTER DATABASE Database Mirroring.

< > date_correlation_optimization_option ::=

Applies to: SQL Server

Styr alternativet date_correlation_optimization.

DATE_CORRELATION_OPTIMIZATION { ON | AV }

  • 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

    Korrelationsstatistik underhålls inte.

Om du vill ange DATE_CORRELATION_OPTIMIZATION till PÅ får det inte finnas några aktiva anslutningar till databasen förutom anslutningen som kör ALTER DATABASE-instruktionen. Därefter stöds flera anslutningar.

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

Styr databaskrypteringstillståndet.

KRYPTERING { PÅ | AV | SUSPEND | RESUME }

  • ON

    Anger att databasen ska krypteras.

  • OFF

    Anger att databasen inte ska krypteras.

  • SUSPEND

    Applies to: SQL Server (Starting with SQL Server 2019 (15.x))

    Kan användas för att pausa krypteringsgenomsökningen efter att transparent datakryptering har aktiverats eller inaktiverats, eller efter att krypteringsnyckeln har ändrats.

  • RESUME

    Applies to: SQL Server (Starting with SQL Server 2019 (15.x))

    Kan användas för att återuppta en tidigare pausad krypteringsgenomsökning.

Mer information om databaskryptering finns i Transparent datakryptering (TDE)och Transparent datakryptering för Azure SQL Database, Azure SQL Managed Instance och Azure Synapse Analytics.

När kryptering är aktiverat på databasnivå krypteras alla filgrupper. Alla nya filgrupper ärver den krypterade egenskapen. Om några filgrupper i databasen är inställda på SKRIVSKYDDad misslyckas databaskrypteringsåtgärden.

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

Styr databasens tillstånd.

  • OFFLINE

    Databasen stängs, stängs av rent och markeras offline. Det går inte att ändra databasen när den är offline.

  • ONLINE

    Databasen är öppen och tillgänglig för användning.

  • EMERGENCY

    Databasen är markerad READ_ONLY, loggning är inaktiverad och åtkomsten är begränsad till medlemmar i den fasta serverrollen sysadmin. EMERGENCY används främst för felsökning. Till exempel kan en databas som markerats som misstänkt på grund av en skadad loggfil ställas in på nödtillståndet. Den här inställningen kan ge systemadministratören skrivskyddad åtkomst till databasen. Endast medlemmar i den fasta serverrollen sysadmin kan ange en databas till nödtillståndet.

Kräver ALTER DATABASE behörighet för ämnesdatabasen, för att ändra en databas till offline- eller nödsituationstillståndet, och servernivån ALTER ANY DATABASE behörighet att flytta en databas från offline till online.

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.

En databas som har markerats som ÅTERSTÄLLNING kan inte ställas in på OFFLINE, ONLINE eller NÖDSITUATION. En databas kan vara i återställningstillståndet under en aktiv återställningsåtgärd eller när en återställningsåtgärd för en databas eller loggfil misslyckas på grund av en skadad säkerhetskopia.

< > db_update_option ::=

Styr om uppdateringar tillåts i databasen.

  • READ_ONLY

    Användare kan läsa data från databasen men inte ändra dem.

    Note

    Uppdatera statistik innan du ställer in en databas på READ_ONLY för att förbättra frågeprestandan. Om ytterligare statistik behövs efter att en databas har angetts till READ_ONLY skapar databasmotorn statistik i tempdb systemdatabas. For more information about statistics for a read-only database, see Statistics.

  • READ_WRITE

    Databasen är tillgänglig för läs- och skrivåtgärder.

Om du vill ändra det här tillståndet måste du ha exklusiv åtkomst till databasen. Mer information finns i SINGLE_USER-satsen.

Note

I federerade Azure SQL Database-databaser är SET { READ_ONLY | READ_WRITE } inaktiverat.

< > db_user_access_option ::=

Styr användaråtkomsten till databasen.

SINGLE_USER

Applies to: SQL Server

Anger att endast en användare i taget kan komma åt databasen. Om du anger SINGLE_USER och en annan användare ansluter till databasen blockeras ALTER DATABASE-instruktionen tills alla användare kopplar från den angivna databasen. Information om hur du åsidosätter det här beteendet finns i satsen MED <avslutning>.

Databasen förblir i SINGLE_USER läge även om användaren som anger alternativet loggar ut. Då kan en annan användare, men bara en, ansluta till databasen.

Innan du ställer in databasen på SINGLE_USER kontrollerar du att alternativet AUTO_UPDATE_STATISTICS_ASYNC är inställt på AV. När den är inställd på PÅ, tar den bakgrundstråd som används för att uppdatera statistik en anslutning mot databasen och du kan inte komma åt databasen i enanvändarläge. To view the status of this option, query the is_auto_update_stats_async_on column in the sys.databases catalog view. Om alternativet är inställt på PÅ utför du följande uppgifter:

  1. Ställ in AUTO_UPDATE_STATISTICS_ASYNC på AV.

  2. Check for active asynchronous statistics jobs by querying the sys.dm_exec_background_job_queue dynamic management view.

Om det finns aktiva jobb kan du antingen låta jobben slutföra eller avsluta dem manuellt med hjälp av KILL STATS JOB.

RESTRICTED_USER

Tillåter endast medlemmar i den db_owner fasta databasrollen och dbcreator och sysadmin fasta serverroller att ansluta till databasen. RESTRICTED_USER begränsar inte deras antal. Koppla från alla anslutningar till databasen med den tidsram som anges i ALTER DATABASE-instruktionens avslutningssats. När databasen har övergått till RESTRICTED_USER tillstånd nekas anslutningsförsök av okvalificerade användare.

MULTI_USER

Alla användare som har rätt behörighet att ansluta till databasen tillåts. 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))

Styr om transaktioner checkar in helt varaktiga eller fördröjda varaktiga.

  • DISABLED

    Alla transaktioner som följer SET DISABLED är helt hållbara. Eventuella hållbarhetsalternativ som anges i ett atomiskt block eller incheckningsinstruktivt uttryck ignoreras.

  • ALLOWED

    Alla transaktioner som följer SET ALLOWED är antingen helt hållbara eller fördröjda varaktiga, beroende på hållbarhetsalternativet som anges i atomblocket eller incheckningsinstrukeringen.

  • FORCED

    Alla transaktioner som följer SET FORCED är fördröjda varaktiga. Eventuella hållbarhetsalternativ som anges i ett atomiskt block eller incheckningsinstruktivt uttryck ignoreras.

< > external_access_option ::=

Applies to: SQL Server

Styr om databasen kan nås av externa resurser, till exempel objekt från en annan databas.

DB_CHAINING { ON | AV }

  • ON

    Databasen kan vara källan eller målet för en ägarkedja mellan databaser.

  • OFF

    Databasen kan inte delta i korsdatabasägarlänkning.

Important

Sql Server-instansen känner igen den här inställningen när alternativet korsdatabasägarlänkningsserver är 0 (OFF). När korsdatabasens ägarlänkning är 1 (ON) kan alla användardatabaser delta i ägarkedjor mellan databaser, oavsett värdet för det här alternativet. This option is set by using sp_configure.

Om du vill ange det här alternativet kräver CONTROL SERVER behörighet för databasen.

Det DB_CHAINING alternativet kan inte anges för master, modeloch tempdb systemdatabaser.

You can determine this option's status by examining the is_db_chaining_on column in the sys.databases catalog view.

TRUSTWORTHY { ON | AV }

  • ON

    Databasmoduler (till exempel användardefinierade funktioner eller lagrade procedurer) som använder en personifieringskontext kan komma åt resurser utanför databasen.

  • OFF

    Databasmoduler i en personifieringskontext kan inte komma åt resurser utanför databasen.

    TRUSTWORTHY anges till AV när databasen är ansluten.

Som standard har alla systemdatabaser utom den msdb databasen TRUSTWORTHY inställt på AV. Det går inte att ändra värdet för model- och tempdb-databaserna. Vi rekommenderar att du aldrig anger alternativet TRUSTWORTHY till PÅ för master-databasen.

Om du vill ange det här alternativet kräver CONTROL SERVER behörighet för databasen.

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

Anger standardspråkvärdet för fulltextindexerade kolumner.

Important

Det här alternativet kan endast tillåtas när CONTAINMENT har angetts till PARTIELL. Om CONTAINMENT är inställt på NONE uppstår fel.

DEFAULT_LANGUAGE

Applies to: SQL Server (Starting with SQL Server 2012 (11.x))

Anger standardspråket för alla nyligen skapade inloggningar. Språket kan anges genom att ange det lokala ID:t (lcid), språknamnet eller språkaliaset. For a list of acceptable language names and aliases, see sys.syslanguages. Det här alternativet kan endast tillåtas när CONTAINMENT har angetts till PARTIELL. Om CONTAINMENT är inställt på NONE uppstår fel.

NESTED_TRIGGERS

Applies to: SQL Server (Starting with SQL Server 2012 (11.x))

Anger om en AFTER-utlösare kan kaskad; det vill: utföra en åtgärd som initierar en annan utlösare, som initierar en annan utlösare och så vidare. Det här alternativet kan endast tillåtas när CONTAINMENT har angetts till PARTIELL. Om CONTAINMENT är inställt på NONE uppstår fel.

TRANSFORM_NOISE_WORDS

Applies to: SQL Server (Starting with SQL Server 2012 (11.x))

Används för att förhindra ett felmeddelande om brusord eller stoppord gör att en boolesk åtgärd i en fulltextfråga misslyckas. Det här alternativet kan endast tillåtas när CONTAINMENT har angetts till PARTIELL. Om CONTAINMENT är inställt på NONE uppstår fel.

TWO_DIGIT_YEAR_CUTOFF

Applies to: SQL Server (Starting with SQL Server 2012 (11.x))

Anger ett heltal från 1753 till 9999 som representerar brytåret för att tolka tvåsiffriga år som fyrsiffriga år. Det här alternativet kan endast tillåtas när CONTAINMENT har angetts till PARTIELL. Om CONTAINMENT är inställt på NONE uppstår fel.

< > FILESTREAM_option ::=

Applies to: SQL Server (Starting with SQL Server 2012 (11.x))

Styr inställningarna för FileTables.

NON_TRANSACTED_ACCESS = { AV | READ_ONLY | FULLSTÄNDIG }

  • OFF

    Icke-transaktionell åtkomst till FileTable-data är inaktiverad.

  • READ_ONLY

    FILESTREAM-data i FileTables i den här databasen kan läsas av icke-transaktionella processer.

  • FULL

    Aktiverar fullständig, icke-transaktionell åtkomst till FILESTREAM-data i FileTables är aktiverat.

DIRECTORY_NAME = <directory_name>

Ett Windows-kompatibelt katalognamn. Det här namnet ska vara unikt bland alla katalognamn på databasnivå i SQL Server-instansen. Unikhetsjämförelse är skiftlägeskänslig, oavsett sorteringsinställningar. Det här alternativet måste anges innan du skapar en FileTable i den här databasen.

< > HADR_options ::=

Applies to: SQL Server

Se ALTER DATABASE SET HADR.

< > mixed_page_allocation_option ::=

Applies to: SQL Server (Starting with SQL Server 2016 (13.x))

Styr om databasen kan skapa inledande sidor med en blandad omfattning för de första åtta sidorna i en tabell eller ett index.

MIXED_PAGE_ALLOCATION { OFF | PÅ }

  • OFF

    Databasen skapar alltid inledande sidor med enhetliga omfattningar. OFF är standardvärdet.

  • ON

    Databasen kan skapa inledande sidor med blandade omfattningar.

Den här inställningen är alltid PÅ för alla systemdatabaser förutom tempdb där den alltid är AV. Det går inte att ändra inställningen för systemdatabaser.

< > PARAMETERIZATION_option ::=

Styr parameteriseringsalternativet. Mer information om parameterisering finns i arkitekturguiden för frågebearbetning.

PARAMETERIZATION { SIMPLE | FORCED }

  • SIMPLE

    Frågor parametriseras baserat på databasens standardbeteende.

  • FORCED

    SQL Server parameteriserar alla frågor i databasen.

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

PÅ | OFF [ ( FORCED ) ] | RENSA [ ALLA ]

Styr om Query Store är aktiverat i den här databasen och styr även borttagningen av innehållet i Query Store. Mer information finns i Användningsscenarier för frågearkivet.

  • ON

    Aktiverar Query Store.

    Många nya prestandafunktioner i SQL Server 2022 (16.x) som Query Store-tips, CE-feedback, DOP-feedback (Degree of Parallelism) och MGF-beständighet (Memory Grant Feedback) krävde att Query Store skulle aktiveras. För databaser som har återställts från andra SQL Server-instanser och för de databaser som uppgraderas från en uppgradering på plats till SQL Server 2022 (16.x) behåller dessa databaser de tidigare Query Store-inställningarna. Om det finns en oro för att query store kan introduceras kan administratörer använda anpassade avbildningsprinciper med 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.

  • AV [ ( TVINGAD ) ]

    Inaktiverar Query Store. FORCED är valfritt. FORCED avbryter alla bakgrundsaktiviteter som körs i Query Store och hoppar över den synkrona tömningen när Query Store är inaktiverat. Gör att Query Store stängs av så snabbt som möjligt. FORCED gäller för SQL Server 2016 (13.x) SP2 CU14, SQL Server 2017 (14.x) CU21, SQL Server 2019 (15.x) CU6 och senare versioner.

    Note

    Det går inte att inaktivera Query Store i Azure SQL Database. Om du kör ALTER DATABASE [database] SET QUERY_STORE = OFF returneras varningen 'QUERY_STORE=OFF' is not supported in this version of SQL Server..

  • RENSA [ ALLA ]

    Tar bort frågerelaterade data från Query Store. ALL är valfritt. ALLA tar bort frågerelaterade data och metadata från Query Store.

OPERATION_MODE { READ_ONLY | READ_WRITE }

Beskriver åtgärdsläget för Query Store.

READ_WRITE

Query Store samlar in och bevarar information om körningsstatistik för frågeplan och körning.

READ_ONLY

Information kan läsas från Query Store, men ny information läggs inte till. Om det maximala utfärdade utrymmet i Query Store har förbrukats ändrar Query Store sitt åtgärdsläge till READ_ONLY.

CLEANUP_POLICY

Beskriver datakvarhållningsprincipen för Query Store. STALE_QUERY_THRESHOLD_DAYS avgör hur många dagar informationen för en fråga ska lagras i Frågearkivet. STALE_QUERY_THRESHOLD_DAYS is type bigint. Standardvärdet är 30.

DATA_FLUSH_INTERVAL_SECONDS

Avgör hur ofta data som skrivs till Query Store sparas på disken. För att optimera prestanda skrivs data som samlas in av Query Store asynkront till disken. Frekvensen för den här asynkrona överföringen konfigureras med hjälp av argumentet DATA_FLUSH_INTERVAL_SECONDS. DATA_FLUSH_INTERVAL_SECONDS is type bigint. The default value is 900 (15 min).

MAX_STORAGE_SIZE_MB

Avgör vilket utrymme som utfärdas till 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 gränsen tillämpas inte strikt. Lagringsstorleken kontrolleras endast när Query Store skriver data till disk. Det här intervallet anges av alternativet DATA_FLUSH_INTERVAL_SECONDS eller dialogrutan Management Studio Query Store dataspolningsintervall. Standardvärdet för intervallet är 900 sekunder (eller 15 minuter).

Om Query Store har överskridit gränsen för MAX_STORAGE_SIZE_MB mellan kontroller av lagringsstorlek övergår den till skrivskyddat läge. Om SIZE_BASED_CLEANUP_MODE är aktiverat utlöses även rensningsmekanismen för att framtvinga gränsen för MAX_STORAGE_SIZE_MB.

När tillräckligt med utrymme har rensats växlar Query Store-läget automatiskt tillbaka till läs-och skrivläge.

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. Från och med SQL Server 2019 (15.x) och i Azure SQL Database kan du ange QUERY_CAPTURE_MODE till ANPASSAD för ytterligare kontroll över frågeinsamlingsprincipen.

INTERVAL_LENGTH_MINUTES

Avgör tidsintervallet med vilket körningsstatistikdata aggregeras till Query Store. För att optimera för utrymmesanvändning aggregeras körningsstatistiken i statistikarkivet för körning över ett fast tidsfönster. Det här fasta tidsfönstret konfigureras med hjälp av argumentet INTERVAL_LENGTH_MINUTES. INTERVAL_LENGTH_MINUTES is type bigint. The default value is 60.

SIZE_BASED_CLEANUP_MODE { AUTO | AV }

Styr om rensningen automatiskt aktiveras när den totala mängden data kommer nära maximal storlek.

  • AUTO

    Size-based cleanup is automatically activated when size on disk reaches 90% of MAX_STORAGE_SIZE_MB. Storleksbaserad rensning tar bort de billigaste och äldsta frågorna först. It stops at approximately 80% of MAX_STORAGE_SIZE_MB. Det här värdet är standardkonfigurationsvärdet.

  • OFF

    Storleksbaserad rensning aktiveras inte automatiskt.

SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODE { ALLA | AUTO | ANPASSAD | NONE }

Anger det aktuella aktiva frågeinsamlingsläget. Varje läge definierar specifika principer för frågeinsamling. QUERY_CAPTURE_MODE is type nvarchar.

Note

Markörer, frågor i lagrade procedurer och inbyggda kompilerade frågor registreras alltid när frågeinsamlingsläget är inställt på ALLA, AUTO eller CUSTOM.

  • ALL

    Samlar in alla frågor. ALL is the default configuration value for SQL Server (SQL Server 2016 (13.x) through SQL Server 2017 (14.x)).

  • AUTO

    Samla in relevanta frågor baserat på körningsantal och resursförbrukning. Det här är standardkonfigurationsvärdet för SQL Server (från och med SQL Server 2019 (15.x)) och Azure SQL Database.

  • NONE

    Sluta samla in nya frågor. Query Store fortsätter att samla in kompilerings- och körningsstatistik för frågor som redan har samlats in. Använd den här konfigurationen med försiktighet eftersom du kanske inte kan samla in viktiga frågor.

  • CUSTOM

    Applies to: SQL Server (Starting with SQL Server 2019 (15.x))

    Allows control over the QUERY_CAPTURE_POLICY options. Anpassade avbildningsprinciper kan hjälpa Query Store att samla in de viktigaste frågorna i din arbetsbelastning. Se <query_capture_policy_option_list> för anpassningsbara alternativ.

MAX_PLANS_PER_QUERY

Definierar det maximala antalet planer som underhålls för varje fråga. MAX_PLANS_PER_QUERY is type int. The default value is 200.

WAIT_STATS_CAPTURE_MODE { ON | AV }

Applies to: SQL Server (Starting with SQL Server 2017 (14.x)))

Styr om väntestatistik hämtas per fråga.

  • ON

    Information om väntestatistik per fråga samlas in. Det här värdet är standardkonfigurationsvärdet.

  • OFF

    Information om väntestatistik per fråga samlas inte in.

< > query_capture_policy_option_list :: =

Applies to: SQL Server (Starting with SQL Server 2019 (15.x))

Controls the Query Store capture policy options. Förutom STALE_CAPTURE_POLICY_THRESHOLD definierar dessa alternativ de OR-villkor som måste ske för att frågor ska samlas in i det definierade tröskelvärdet för inaktuell avbildningsprincip.

Från och med SQL Server 2019 (15.x) samlar inställningen QUERY_CAPTURE_MODE = AUTO in information om Query Store när något av följande tröskelvärden uppnås:

  • EXECUTION_COUNT = 30 körningar = körningsantal
  • TOTAL_COMPILE_CPU_TIME_MS = 1 sekund = kompileringstid i millisekunder
  • TOTAL_EXECUTION_CPU_TIME_MS = 100 ms = cpu-körningstid i millisekunder

For example:

EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100

Du kan anpassa dessa alternativ med QUERY_CAPTURE_MODE = CUSTOM:

  • STALE_CAPTURE_POLICY_THRESHOLD = integer { DAYS | HOURS }

    Definierar utvärderingsintervallperioden för att avgöra om en fråga ska samlas in. Standardvärdet är 1 dag och kan anges från 1 timme till sju dagar.

  • EXECUTION_COUNT = integer

    Definierar hur många gånger en fråga körs under utvärderingsperioden. Standardvärdet är 30, vilket innebär att för standardtröskelvärdet för inaktuell avbildningsprincip måste en fråga köras minst 30 gånger på en dag för att sparas i Query Store. EXECUTION_COUNT is type int.

  • TOTAL_COMPILE_CPU_TIME_MS = integer

    Definierar den totala förflutna kompileringstiden för cpu som används av en fråga under utvärderingsperioden. Standardvärdet är 1 000, vilket innebär att för standardtröskelvärdet för inaktuell avbildningsprincip måste en fråga ha minst en sekund cpu-tid under frågekompilering på en dag för att sparas i Query Store. TOTAL_COMPILE_CPU_TIME_MS is type int.

  • TOTAL_EXECUTION_CPU_TIME_MS = integer

    Definierar den totala förflutna körningens CPU-tid som används av en fråga under utvärderingsperioden. Standardvärdet är 100, vilket innebär att för standardtröskelvärdet för inaktuell avbildningsprincip måste en fråga ha totalt minst 100 ms cpu-tid under körningen på en dag för att sparas i Query Store. TOTAL_EXECUTION_CPU_TIME_MS is type int.

< > recovery_option ::=

Applies to: SQL Server

Styr alternativen för databasåterställning och disk-I/O-felkontroll.

  • FULL

    Ger fullständig återställning efter mediefel med hjälp av säkerhetskopior av transaktionsloggar. Om en datafil är skadad kan medieåterställning återställa alla checkade transaktioner. For more information, see Recovery models.

  • BULK_LOGGED

    Ger återställning efter mediefel. Kombinerar bästa prestanda och minsta möjliga användning av loggutrymme för vissa storskaliga åtgärder eller massåtgärder. Information om vilka åtgärder som kan loggas minimalt finns i Transaktionsloggen. Under den BULK_LOGGED återställningsmodellen är loggning för dessa åtgärder minimal. For more information, see Recovery models.

  • SIMPLE

    En enkel säkerhetskopieringsstrategi som använder minimalt loggutrymme tillhandahålls. Loggutrymme kan återanvändas automatiskt när det inte längre krävs för återställning av serverfel. For more information, see Recovery models.

    Important

    Den enkla återställningsmodellen är enklare att hantera än de andra två modellerna, men på bekostnad av större exponering för dataförlust om en datafil skadas. Alla ändringar sedan den senaste databas- eller differentiella databassäkerhetskopian går förlorade och måste återaktiveras manuellt.

Standardåterställningsmodellen bestäms av återställningsmodellen för model-systemdatabasen. 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 | AV }

  • ON

    Ofullständiga sidor kan identifieras av databasmotorn.

  • OFF

    Det går inte att identifiera ofullständiga sidor av databasmotorn.

Important

Syntaxstrukturen TORN_PAGE_DETECTION ON | OFF tas bort i en framtida version av SQL Server. Undvik att använda den här syntaxstrukturen i det nya utvecklingsarbetet och planera att ändra program som för närvarande använder syntaxstrukturen. Använd alternativet PAGE_VERIFY i stället.

PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }

Identifierar skadade databassidor som orsakas av disk-I/O-sökvägsfel. Fel med disk-I/O-sökväg kan vara orsaken till problem med databasskada. De här felen orsakas oftast av strömavbrott eller maskinvarufel som uppstår när sidan skrivs till disk.

  • CHECKSUM

    Beräknar en kontrollsumma över hela sidans innehåll och lagrar värdet i sidhuvudet när en sida skrivs till disk. När sidan läss från disken omberäknas kontrollsumman och jämförs med värdet för kontrollsumman som lagras i sidhuvudet. Om värdena inte matchar rapporteras felmeddelandet 824 (som anger ett kontrollsummafel) till både SQL Server-felloggen och Windows-händelseloggen. Ett kontrollsummafel anger ett I/O-sökvägsproblem. För att fastställa rotorsaken krävs undersökning av maskinvara, drivrutiner för inbyggd programvara, BIOS, filterdrivrutiner (till exempel virusprogram) och andra I/O-sökvägskomponenter.

  • TORN_PAGE_DETECTION

    Sparar ett specifikt 2-bitarsmönster för varje 512 byte-sektor på databassidan på 8 kilobyte (KB) och lagras i sidhuvudet för databasen när sidan skrivs till disk. När sidan läss från disk jämförs de sönderrivna bitarna som lagras i sidhuvudet med den faktiska sidsektorinformationen.

    Omatchade värden anger att endast en del av sidan skrevs till disk. I det här fallet rapporteras felmeddelandet 824 (som anger ett fel på en skadad sida) till både SQL Server-felloggen och Windows-händelseloggen. Skadade sidor identifieras vanligtvis av databasåterställning om det verkligen är en ofullständig skrivning av en sida. Andra I/O-sökvägsfel kan dock orsaka en sönderriven sida när som helst.

  • NONE

    Skrivningar på databassidan genererar inte ett CHECKSUM- eller TORN_PAGE_DETECTION-värde. SQL Server verifierar inte en kontrollsumma eller en sönderriven sida under en läsning, även om ett CHECKSUM- eller TORN_PAGE_DETECTION-värde finns i sidhuvudet.

Tänk på följande viktiga punkter när du använder alternativet PAGE_VERIFY:

  • The default is CHECKSUM.

  • När en användare eller systemdatabas uppgraderas till SQL Server 2005 (9.x) eller en senare version ändras inte PAGE_VERIFY-värdet (NONE eller TORN_PAGE_DETECTION). Vi rekommenderar att du ändrar till CHECKSUM.

    Note

    I tidigare versioner av SQL Server är alternativet PAGE_VERIFY databas inställt på NONE för tempdb-databasen och kan inte ändras. Från och med SQL Server 2008 (10.0.x) är standardvärdet för tempdb-databasen CHECKSUM för nya installationer av SQL Server. När du uppgraderar en SQL Server-installation förblir standardvärdet NONE. Alternativet kan ändras. Vi rekommenderar att du använder CHECKSUM för tempdb-databasen.

  • TORN_PAGE_DETECTION kan använda färre resurser, men ger en minimal delmängd av CHECKSUM-skyddet.

  • PAGE_VERIFY kan ställas in utan att databasen kopplas från, låsa databasen eller på annat sätt hindra samtidighet i databasen.

  • CHECKSUM är ömsesidigt uteslutande för TORN_PAGE_DETECTION. Båda alternativen kan inte aktiveras samtidigt.

När ett fel på en trasig sida eller kontrollsumma identifieras kan du återställa genom att återställa data eller eventuellt återskapa indexet om felet endast är begränsat till indexsidor. Om du stöter på ett kontrollsummafel kör du DBCC CHECKDB för att fastställa vilken typ av databassida eller vilka sidor som påverkas. For more information about restore options, see RESTORE Arguments. Även om återställning av data löser problemet med skadade data, bör rotorsaken (till exempel diskmaskinvarufel) diagnostiseras och korrigeras så snart som möjligt för att förhindra fortsatta fel.

SQL Server försöker läsa igen som misslyckas med en kontrollsumma, en sönderriven sida eller ett annat I/O-fel fyra gånger. Om läsningen lyckas i något av återförsöken skrivs ett meddelande till felloggen. Kommandot som utlöste läsningen fortsätter. Kommandot misslyckas med felmeddelandet 824 om försöken misslyckas.

Mer information om felmeddelanden 823, 824 och 825 finns i:

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

Aktiverar eller inaktiverar Stretch Database för databasen. For more info, see Stretch Database.

Important

Stretch Database är inaktuell i SQL Server 2022 (16.x) och Azure SQL Database. Den här funktionen tas bort i en framtida version av databasmotorn. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.

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

  • ON

    Aktiverar Stretch Database för databasen. Mer information, inklusive ytterligare krav, finns i Aktivera Stretch Database för en databas.

    Kräver db_owner behörighet för att aktivera Stretch Database för en tabell. Kräver db_owner- och CONTROL DATABASE behörigheter för att aktivera Stretch Database för en databas.

    • SERVER = <server_name>

      Anger adressen till Azure-servern. Ta med .database.windows.net delen av namnet. Till exempel MyStretchDatabaseServer.database.windows.net.

    • CREDENTIAL = <db_scoped_credential_name>

      Anger databasens begränsade autentiseringsuppgifter som SQL Server-instansen använder för att ansluta till Azure-servern. Kontrollera att autentiseringsuppgifterna finns innan du kör det här kommandot. Mer information finns i CREATE DATABASE SCOPED CREDENTIAL.

    • FEDERATED_SERVICE_ACCOUNT = { ON | AV }

      Du kan använda ett federerat tjänstkonto för den lokala SQL Server för att kommunicera med den fjärranslutna Azure-servern när följande villkor är uppfyllda.

      • Tjänstkontot som sql Server-instansen körs under är ett domänkonto.
      • Domänkontot tillhör en domän vars Active Directory är federerat med Microsoft Entra-ID.
      • Den fjärranslutna Azure-servern har konfigurerats för att stödja Microsoft Entra-autentisering.
      • Tjänstkontot som sql Server-instansen körs under måste konfigureras som ett dbmanager- eller sysadmin-konto på den fjärranslutna Azure-servern.

      Om du anger att det federerade tjänstkontot är PÅ kan du inte heller ange argumentet CREDENTIAL. Ange argumentet CREDENTIAL om du anger AV.

  • OFF

    Inaktiverar Stretch Database för databasen. Mer information finns i Inaktivera Stretch Database och ta tillbaka fjärrdata.

    Du kan bara inaktivera Stretch Database för en databas när databasen inte längre innehåller några tabeller som är aktiverade för Stretch Database. När du har inaktiverat Stretch Database stoppas datamigreringen. Frågeresultat innehåller inte längre resultat från fjärrtabeller.

    Om du inaktiverar Stretch Database tar du inte bort fjärrdatabasen. Om du vill ta bort fjärrdatabasen släpper du den med hjälp av Azure-portalen.

PERSISTENT_LOG_BUFFER

Applies to: SQL Server 2017 (14.x) and later.

När det här alternativet har angetts skapas transaktionsloggbufferten på en volym som finns på en diskenhet som backas upp av Lagringsklassminne (NVDIMM-N icke-lagring), även kallat en beständig loggbuffert. Mer information finns i acceleration av fördröjning vid transaktionsincheckning med lagringsklassminne och Lägg till beständig loggbuffert i en databas.

< > service_broker_option ::=

Applies to: SQL Server

Styr följande alternativ för Service Broker: aktiverar eller inaktiverar meddelandeleverans, anger en ny Service Broker-identifierare eller anger konversationsprioriteringar till PÅ eller AV.

ENABLE_BROKER

Anger att Service Broker är aktiverat för den angivna databasen. Message delivery is started, and the is_broker_enabled flag is set to true in the sys.databases catalog view. Databasen behåller den befintliga Service Broker-identifieraren. Det går inte att aktivera tjänstkoordinatorn medan databasen är huvudnamnet i en databasspeglingskonfiguration.

Note

ENABLE_BROKER kräver ett exklusivt databaslås. Om andra sessioner har låsta resurser i databasen väntar ENABLE_BROKER tills de andra sessionerna släpper sina lås. Om du vill aktivera Service Broker i en användardatabas kontrollerar du att inga andra sessioner använder databasen innan du kör ALTER DATABASE SET ENABLE_BROKER-instruktionen, till exempel genom att placera databasen i enanvändarläge. Om du vill aktivera Service Broker i msdb-databasen stoppar du först SQL Server Agent så att Service Broker kan hämta det nödvändiga låset.

DISABLE_BROKER

Anger att Service Broker är inaktiverat för den angivna databasen. Message delivery is stopped, and the is_broker_enabled flag is set to false in the sys.databases catalog view. Databasen behåller den befintliga Service Broker-identifieraren.

NEW_BROKER

Anger att databasen ska få en ny koordinatoridentifierare. Databasen fungerar som en ny tjänstkoordinator. Därför tas alla befintliga konversationer i databasen bort omedelbart utan att slutdialogrutor skapas. Alla vägar som refererar till den gamla Service Broker-identifieraren måste återskapas med den nya identifieraren.

ERROR_BROKER_CONVERSATIONS

Anger att Service Broker-meddelandeleverans är aktiverat. Den här inställningen bevarar den befintliga Service Broker-identifieraren för databasen. Service Broker avslutar alla konversationer i databasen med ett fel. Med den här inställningen kan program köra regelbunden rensning för befintliga konversationer.

HONOR_BROKER_PRIORITY { ON | AV }

  • ON

    Skicka åtgärder tar hänsyn till de prioritetsnivåer som tilldelas konversationer. Meddelanden från konversationer med hög prioritet skickas före meddelanden från konversationer som tilldelas lågprioriterad nivå.

  • OFF

    Skicka åtgärder körs som om alla konversationer har standardprioritetsnivån.

Ändringar av alternativet HONOR_BROKER_PRIORITY börjar gälla omedelbart för nya dialogrutor eller dialogrutor som inte har några meddelanden som väntar på att skickas. Dialogrutor med meddelanden som ska skickas när ALTER DATABASE körs hämtar inte den nya inställningen förrän några av meddelandena för dialogrutan har skickats. Tiden innan alla dialogrutor börjar använda den nya inställningen kan variera avsevärt.

The current setting of this property is reported in the is_broker_priority_honored column in the sys.databases catalog view.

< > snapshot_option ::=

Beräknar transaktionsisoleringsnivån.

ALLOW_SNAPSHOT_ISOLATION { ON | AV }

  • ON

    Aktiverar alternativet Ögonblicksbild på databasnivå. När den är aktiverad börjar DML-instruktioner generera radversioner även när ingen transaktion använder ögonblicksbildisolering. När det här alternativet har aktiverats kan transaktioner ange transaktionsisoleringsnivån SNAPSHOT. När en transaktion körs på ögonblicksbildisoleringsnivå ser alla instruktioner en ögonblicksbild av data eftersom den finns i början av transaktionen. Om en transaktion som körs på ögonblicksbildisoleringsnivå har åtkomst till data i flera databaser måste antingen ALLOW_SNAPSHOT_ISOLATION anges till PÅ i alla databaser, eller så måste varje instruktion i transaktionen använda låstips för alla referenser i en FROM-sats till en tabell i en databas där ALLOW_SNAPSHOT_ISOLATION är AV.

  • OFF

    Inaktiverar alternativet Ögonblicksbild på databasnivå. Transaktioner kan inte ange transaktionsisoleringsnivån ÖGONBLICKSBILD.

När du ställer in ALLOW_SNAPSHOT_ISOLATION till ett nytt tillstånd (från PÅ till AV eller från AV till PÅ) returnerar ALTER DATABASE inte kontrollen till anroparen förrän alla befintliga transaktioner i databasen har checkats in. Om databasen redan är i det tillstånd som anges i ALTER DATABASE-instruktionen returneras kontrollen till anroparen omedelbart. 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. Om ALTER DATABASE-instruktionen avbryts förblir databasen i det tillstånd den befann sig i när ALTER DATABASE startades. The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Om snapshot_isolation_state_desc = IN_TRANSITION_TO_ON pausar kommandot ALTER DATABASE ... ALLOW_SNAPSHOT_ISOLATION OFF sex sekunder och försöker utföra åtgärden igen.

Du kan inte ändra tillståndet för ALLOW_SNAPSHOT_ISOLATION om databasen är OFFLINE.

Om du anger ALLOW_SNAPSHOT_ISOLATION i en READ_ONLY databas behålls inställningen om databasen senare anges till READ_WRITE.

Du kan ändra inställningarna för ALLOW_SNAPSHOT_ISOLATION för databaserna master, model, msdboch tempdb. Inställningen behålls varje gång instansen av databasmotorn stoppas och startas om om du ändrar inställningen för tempdb. Om du ändrar inställningen för modelblir den inställningen standard för alla nya databaser som skapas, förutom för tempdb.

Alternativet är PÅ som standard för databaserna master och msdb.

The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | AV }

  • ON

    Aktiverar alternativet Read-Committed Ögonblicksbild på databasnivå. När den är aktiverad börjar DML-instruktioner generera radversioner även när ingen transaktion använder ögonblicksbildisolering. När det här alternativet har aktiverats använder transaktionerna som anger den incheckade isoleringsnivån radversioner i stället för låsning. Alla instruktioner ser en ögonblicksbild av data eftersom den finns i början av -instruktionen när en transaktion körs på READ COMMITTED-isoleringsnivån.

  • OFF

    Inaktiverar Read-Committed alternativet Ögonblicksbild på databasnivå. Transaktioner som anger READ COMMITTED-isoleringsnivån använder låsning.

Om du vill ange READ_COMMITTED_SNAPSHOT PÅ eller AV får det inte finnas några aktiva anslutningar till databasen förutom anslutningen som kör KOMMANDOT ALTER DATABASE. Databasen behöver dock inte vara i enanvändarläge. Du kan inte ändra tillståndet för det här alternativet när databasen är OFFLINE.

Om du anger READ_COMMITTED_SNAPSHOT i en READ_ONLY databas behålls inställningen när databasen senare anges till READ_WRITE.

READ_COMMITTED_SNAPSHOT kan inte aktiveras för master, tempdbeller msdb systemdatabaser. Om du ändrar inställningen för modelblir den inställningen standard för alla nya databaser som skapats, förutom för 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

När en tabell skapas med DURABILITY = SCHEMA_ONLYoch READ_COMMITTED_SNAPSHOT sedan ändras med hjälp av ALTER DATABASEgår data i tabellen förlorade.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | AV }

Applies to: SQL Server (Starting with SQL Server 2014 (12.x))

  • ON

    När transaktionsisoleringsnivån är inställd på en isoleringsnivå som är lägre än ÖGONBLICKSBILD körs alla tolkade Transact-SQL åtgärder på minnesoptimerade tabeller under ögonblicksbildisolering. Exempel på isoleringsnivåer som är lägre än ögonblicksbilder är READ COMMITTED eller READ UNCOMMITTED. Dessa åtgärder kör om transaktionsisoleringsnivån uttryckligen anges på sessionsnivå eller om standardvärdet används implicit.

  • OFF

    Höjer inte transaktionsisoleringsnivån för tolkade Transact-SQL åtgärder i minnesoptimerade tabeller.

Du kan inte ändra tillståndet för MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT om databasen är OFFLINE.

Standardalternativet är AV.

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

Styr ANSI-efterlevnadsalternativen på databasnivå.

ANSI_NULL_DEFAULT { ON | AV }

Avgör standardvärdet, NULL eller NOT NULL, för en kolumn eller CLR-användardefinierad typ som nullabiliteten inte uttryckligen definieras för i CREATE TABLE- eller ALTER TABLE-uttryck. Kolumner som definieras med begränsningar följer villkorsregler oavsett vilken inställning den här inställningen kan vara.

  • ON

    Standardvärdet för en odefinierad kolumn är NULL.

  • OFF

    Standardvärdet för en odefinierad kolumn är INTE NULL.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standardinställningen på databasnivå för ANSI_NULL_DEFAULT. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå ANSI_NULL_DEFAULT till PÅ för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av SQL Server. For more information, see SET ANSI_NULL_DFLT_ON.

För ANSI-kompatibilitet ändrar inställningen av databasalternativet ANSI_NULL_DEFAULT till PÅ databasens standardvärde till 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 { ON | AV }

  • ON

    Alla jämförelser med ett null-värde utvärderas till OKÄNT.

  • OFF

    Jämförelser av icke-Unicode-värden med ett nullvärde utvärderas till TRUE om båda värdena är NULL.

Important

I en framtida version av SQL Server kommer ANSI_NULLS alltid att vara PÅ och alla program som uttryckligen ställer in alternativet på AV genererar ett fel. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för ANSI_NULLS. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå ANSI_NULLS till PÅ för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av SQL Server. For more information, see SET ANSI_NULLS.

Important

ANGE ANSI_NULLS måste också anges till PÅ när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

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 { ON | AV }

  • ON

    Strängarna är vadderade till samma längd före konverteringen. 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. Värden är inte vadderade till kolumnens längd.

    När OFF har angetts påverkar den här inställningen endast definitionen av nya kolumner.

Important

I en framtida version av SQL Server kommer ANSI_PADDING alltid att vara PÅ och alla program som uttryckligen ställer in alternativet på AV skapar ett fel. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Vi rekommenderar att du alltid ställer in ANSI_PADDING på PÅ. ANSI_PADDING måste vara PÅ när du skapar eller manipulerar index för beräknade kolumner eller indexerade vyer.

char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Avslutande blanksteg och nollor trimmas när ANSI_PADDING är AV. char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standardinställningen på databasnivå för ANSI_PADDING. ODBC- och OLE DB-klienter utfärdar som standard en inställning för SET-instruktion på anslutningsnivå ANSI_PADDING till PÅ för sessionen. Klienterna kör -instruktionen när du ansluter till en instans av 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 { ON | AV }

  • ON

    Fel eller varningar utfärdas när villkor som divide-by-zero inträffar. Fel och varningar utfärdas också när null-värden visas i aggregerade funktioner.

  • OFF

    Inga varningar utlöses och nullvärden returneras när villkor som divide-by-zero inträffar.

Important

ANGE ANSI_WARNINGS måste anges till PÅ när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för ANSI_WARNINGS. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå ANSI_WARNINGS till PÅ för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av 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 | AV }

  • ON

    En fråga avslutas när ett spill eller divide-by-zero-fel inträffar under frågekörningen.

  • OFF

    Ett varningsmeddelande visas när ett av dessa fel inträffar. Frågan, batchen eller transaktionen fortsätter att bearbetas som om inget fel uppstod även om en varning visas.

Important

SET ARITHABORT måste anges till PÅ när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

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 }

Mer information finns i ALTER DATABASE-kompatibilitetsnivå.

CONCAT_NULL_YIELDS_NULL { ON | AV }

  • ON

    Resultatet av en sammanfogningsåtgärd är NULL när någon av operanderna är NULL. Om du till exempel sammanfogar teckensträngen "This is" (Detta är) returnerar NULL-värdet i stället för värdet "Detta är".

  • OFF

    Null-värdet behandlas som en tom teckensträng.

Important

CONCAT_NULL_YIELDS_NULL måste anges till PÅ när du skapar eller gör ändringar i index i beräknade kolumner eller indexerade vyer.

I kommande versioner av SQL Server kommer CONCAT_NULL_YIELDS_NULL alltid att vara PÅ, och alla program som uttryckligen ställer in alternativet på AV utlöser ett fel. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för CONCAT_NULL_YIELDS_NULL. Som standard utfärdar ODBC- och OLE DB-klienter en inställning för SET-instruktion på anslutningsnivå CONCAT_NULL_YIELDS_NULL till PÅ för sessionen när du ansluter till en instans av 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 { ON | AV }

  • ON

    Ett fel genereras när precisionsförlust inträffar i ett uttryck.

  • OFF

    Förlust av precision genererar inget felmeddelande, och resultatet avrundas till precisionen i kolumnen eller variabeln som lagrar resultatet.

    Important

    NUMERIC_ROUNDABORT måste anges till AV när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

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 { ON | AV }

  • ON

    Dubbla citattecken kan användas för att omsluta avgränsade identifierare.

    Alla strängar som avgränsas med dubbla citattecken tolkas som objektidentifierare. Citerade identifierare behöver inte följa Transact-SQL regler för identifierare. De kan vara nyckelord och kan innehålla tecken som inte tillåts i Transact-SQL identifierare. Om ett dubbelt citattecken (") är en del av identifieraren kan det representeras av två dubbla citattecken ("").

  • OFF

    Identifierare kan inte vara inom citattecken och måste följa alla Transact-SQL regler för identifierare. Literaler kan avgränsas med enkla eller dubbla citattecken.

SQL Server gör också att identifierare kan avgränsas med hakparenteser ([ och ]). Hakparenteserade identifierare kan alltid användas, oavsett vilken inställning QUOTED_IDENTIFIER är. For more information, see Database identifiers.

När en tabell skapas lagras alternativet QUOTED IDENTIFIER alltid som PÅ i tabellens metadata. Alternativet lagras även om alternativet är inställt på AV när tabellen skapas.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för QUOTED_IDENTIFIER. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå QUOTED_IDENTIFIER till PÅ som standard. Klienterna kör -instruktionen när du ansluter till en instans av 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 { ON | AV }

  • ON

    Rekursiv avfyrning av AFTER-utlösare tillåts.

  • 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 the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Note

Endast direkt rekursion förhindras när RECURSIVE_TRIGGERS är inställt på OFF. Om du vill inaktivera indirekt rekursion måste du också ange serveralternativet kapslade utlösare till 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))

Pausar databaser för säkerhetskopiering av ögonblicksbilder. Kan definiera en grupp med en eller flera databaser. Kan ange kopieringsläge.

SET SUSPEND_FOR_SNAPSHOT_BACKUP = { ON | OFF }

Pausar eller inaktiverar databaser. Default OFF.

LÄGE = COPY_ONLY

Optional. Använder COPY_ONLY läge.

< > target_recovery_time_option ::=

Applies to: SQL Server (Starting with SQL Server 2012 (11.x))

Anger frekvensen för indirekta kontrollpunkter per databas. Starting with SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates the database uses indirect checkpoints. För äldre versioner är standardvärdet 0, vilket anger att databasen använder automatiska kontrollpunkter, vars frekvens beror på inställningen för återställningsintervall för serverinstansen. Microsoft rekommenderar 1 minut för de flesta system.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

  • target_recovery_time

    Anger den maximala gränsen för hur länge den angivna databasen ska återställas i händelse av en krasch. 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 { ON | AV }

Applies to: SQL Server (Starting with SQL Server 2025 (17.x) Preview)

Enables optimized locking. Optimerad låsning är inställd på AV som standard.

Om du vill ange OPTIMIZED_LOCKING PÅ eller AV får det inte finnas några aktiva anslutningar till databasen förutom anslutningen som kör kommandot ALTER DATABASE. Databasen behöver dock inte vara i enanvändarläge. Du kan inte ändra tillståndet för det här alternativet om inte databasen är ONLINE.

MED <avslutning> ::=

Anger när ofullständiga transaktioner ska återställas när databasen övergår från ett tillstånd till ett annat. Om avslutningssatsen utelämnas väntar ALTER DATABASE-instruktionen på obestämd tid om det finns något lås på databasen. Endast en avslutningssats kan anges och den följer SET-satserna.

Note

Alla databasalternativ använder inte satsen WITH <avslutning>. For more information, see the table under Setting options of the "Remarks" section of this article.

  • ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE

    Anger om du vill återställa efter det angivna antalet sekunder eller omedelbart.

  • NO_WAIT

    Anger att begäran misslyckas om det begärda databastillståndet eller alternativändringen inte kan slutföras omedelbart. Att slutföra omedelbart innebär att inte vänta på att transaktioner ska checkas in eller återställas på egen hand.

Set options

To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

När du har angett ett databasalternativ börjar den nya inställningen gälla omedelbart.

Du kan ändra standardvärdena för något av databasalternativen för alla nyligen skapade databaser. Det gör du genom att ändra lämpligt databasalternativ i model-databasen.

Alla databasalternativ använder inte satsen WITH <avslutning> eller kan anges i kombination med andra alternativ. I följande tabell visas dessa alternativ och deras alternativ och avslutningsstatus.

Options category Kan anges med andra alternativ Kan använda satsen MED <avslutning>
<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

Plancachen för SQL Server-instansen rensas genom att något av följande alternativ anges:

OFFLINE

ONLINE

MODIFY_NAME

COLLATE

READ_ONLY

READ_WRITE

ÄNDRA STANDARD FÖR FILEGROUP

ÄNDRA FILEGROUP-READ_WRITE

ÄNDRA FILEGROUP-READ_ONLY

Plancachen rensas också i följande scenarier.

  • En databas har AUTO_CLOSE databasalternativet inställt på PÅ. När ingen användaranslutning refererar till eller använder databasen försöker bakgrundsaktiviteten stänga och stänga av databasen automatiskt.
  • Du kör flera frågor mot en databas som har standardalternativ. Sedan tas databasen bort.
  • En databasögonblicksbild för en källdatabas tas bort.
  • Du återskapar transaktionsloggen för en databas.
  • Du återställer en säkerhetskopia av databasen.
  • Du kopplar från en databas.

Om du rensar plancachen blir det en omkompilering av alla efterföljande körningsplaner och kan orsaka en plötslig, tillfällig minskning av frågeprestanda. För varje rensat cachelager i plancachen innehåller SQL Server-felloggen följande informationsmeddelande: 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. Det här meddelandet loggas var femte minut så länge cacheminnet rensas inom det tidsintervallet.

Examples

A. Ange alternativ för en databas

I följande exempel anges alternativ för återställningsmodell och verifiering av datasidor för AdventureWorks2022 exempeldatabas.

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

B. Ange databasen till READ_ONLY

För att ändra status för en databas eller filgrupp till READ_ONLY eller READ_WRITE krävs exklusiv åtkomst till databasen. I följande exempel anges databasen till SINGLE_USER läge för att få exklusiv åtkomst. I exemplet anges sedan tillståndet för den AdventureWorks2022 databasen till READ_ONLY och returnerar åtkomst till databasen till alla användare.

Note

I det här exemplet används avslutningsalternativet WITH ROLLBACK IMMEDIATE i den första ALTER DATABASE-instruktionen. Alla ofullständiga transaktioner återställs och alla andra anslutningar till AdventureWorks2022 databas kopplas omedelbart från.

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. Aktivera ögonblicksbildisolering på en databas

I följande exempel aktiveras alternativet för ramverk för ögonblicksbildisolering för AdventureWorks2022-databasen.

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

Resultatuppsättningen visar att ramverket för ögonblicksbildisolering är aktiverat.

name snapshot_isolation_state description
[database_name] 1 ON

D. Aktivera, ändra eller inaktivera ändringsspårning

I följande exempel aktiveras ändringsspårning för AdventureWorks2022-databasen och kvarhållningsperioden anges till 2 dagar.

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

I följande exempel visas hur du ändrar kvarhållningsperioden till 3 dagar.

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

I följande exempel visas hur du inaktiverar ändringsspårning för AdventureWorks2022-databasen.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

E. Aktivera Query Store

Applies to: SQL Server (Starting with SQL Server 2016 (13.x))

I följande exempel aktiveras Query Store och dess parametrar konfigureras.

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. Aktivera Query Store med väntestatistik

Applies to: SQL Server (Starting with SQL Server 2017 (14.x))

I följande exempel aktiveras Query Store och dess parametrar konfigureras.

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. Aktivera Query Store med anpassade alternativ för avbildningsprinciper

Applies to: SQL Server (Starting with SQL Server 2019 (15.x))

I följande exempel aktiveras Query Store och dess parametrar konfigureras.

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
      )
    );

* SQL-databas *  

 

SQL Database

Kompatibilitetsnivåer är SET alternativ men beskrivs i ALTER DATABASE-kompatibilitetsnivån.

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. Uppsättningsalternativ på sessionsnivå åsidosätter ALTER DATABASE SET värden. Databasalternativen som beskrivs i följande avsnitt är värden som kan anges för sessioner som inte uttryckligen anger andra angivna alternativvärden.

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

Namnet på databasen som ska ändras.

  • CURRENT

    CURRENT kör åtgärden i den aktuella databasen. CURRENT stöds inte för alla alternativ i alla kontexter. Om CURRENT misslyckas anger du databasnamnet.

< > auto_option ::=

Styr automatiska alternativ.

AUTO_CREATE_STATISTICS { ON | AV }

  • ON

    Query Optimizer skapar statistik för enskilda kolumner i frågepredikat, efter behov, för att förbättra frågeplaner och frågeprestanda. Den här statistiken med en kolumn skapas när Query Optimizer kompilerar frågor. Enkolumnsstatistiken skapas endast för kolumner som inte redan är den första kolumnen i ett befintligt statistikobjekt.

    Standardvärdet är PÅ. Vi rekommenderar att du använder standardinställningen för de flesta databaser.

  • OFF

    Frågeoptimeraren skapar inte statistik för enskilda kolumner i frågepredikat när den kompilerar frågor. Om du ställer in det här alternativet på AV kan det orsaka suboptimala frågeplaner och försämrad frågeprestanda.

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.

INCREMENTAL = ON | BORT

Ställ in AUTO_CREATE_STATISTICS på PÅ och ange INKREMENTELL till PÅ. Den här inställningen skapar automatiskt statistik som inkrementell när inkrementell statistik stöds. Standardvärdet är AV. For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | AV }

  • ON

    Databasfilerna är kandidater för regelbunden krympning. Om du inte har ett specifikt krav ska du inte ange alternativet AUTO_SHRINK databas till PÅ. Mer information finns i Krympa en databas.

Både datafilen och loggfilerna kan krympas automatiskt. AUTO_SHRINK minskar storleken på transaktionsloggen endast om du ställer in databasen på SIMPLE-återställningsmodell eller om du säkerhetskopierar loggen. När de är inställda på OFF krymps inte databasfilerna automatiskt under periodiska kontroller av outnyttjat utrymme.

Alternativet AUTO_SHRINK gör att filer krymps när mer än 25 procent av filen innehåller outnyttjat utrymme. Alternativet gör att filen krymper till en av två storlekar. Den krymper till den som är större:

  • Storleken där 25 procent av filen är outnyttjat utrymme
  • Storleken på filen när den skapades

Du kan inte krympa en skrivskyddad databas.

  • OFF

    Databasfilerna krymps inte automatiskt under periodiska kontroller av oanvänt utrymme.

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

Alternativet AUTO_SHRINK är inte tillgängligt i en innesluten databas.

AUTO_UPDATE_STATISTICS { ON | AV }

  • ON

    Anger att Query Optimizer uppdaterar statistik när de används av en fråga och när de kan vara inaktuella. Statistiken blir inaktuell efter att åtgärderna infoga, uppdatera, ta bort eller slå samman ändrar datadistributionen i tabellen eller den indexerade vyn. Frågeoptimeraren avgör när statistiken kan vara inaktuell genom att räkna antalet dataändringar sedan den senaste statistikuppdateringen och jämföra antalet ändringar med ett tröskelvärde. Tröskelvärdet baseras på antalet rader i tabellen eller den indexerade vyn.

    Frågeoptimeraren söker efter inaktuell statistik innan den kompilerar en fråga och kör en cachelagrad frågeplan. Query Optimizer använder kolumner, tabeller och indexerade vyer i frågepredikatet för att avgöra vilken statistik som kan vara inaktuell. Frågeoptimeraren avgör den här informationen innan den kompilerar en fråga. Innan du kör en cachelagrad frågeplan verifierar databasmotorn att frågeplanen refererar till up-to-date-statistik.

    Alternativet AUTO_UPDATE_STATISTICS gäller för statistik som skapats för index, enkla kolumner i frågepredikat och statistik som skapas med hjälp av instruktionen CREATE STATISTICS. Det här alternativet gäller även för filtrerad statistik.

    Standardvärdet är PÅ. Vi rekommenderar att du använder standardinställningen för de flesta databaser.

    Använd alternativet AUTO_UPDATE_STATISTICS_ASYNC för att ange om statistiken uppdateras synkront eller asynkront.

  • OFF

    Anger att Frågeoptimeraren inte uppdaterar statistik när de används av en fråga. Query Optimizer uppdaterar inte heller statistik när de kan vara inaktuella. Om du ställer in det här alternativet på AV kan det orsaka suboptimala frågeplaner och försämrad frågeprestanda.

    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 "Statistics options" section in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | AV }

  • ON

    Anger att statistikuppdateringar för alternativet AUTO_UPDATE_STATISTICS är asynkrona. Frågeoptimeraren väntar inte på att statistikuppdateringarna ska slutföras innan frågor kompileras.

    Att ställa in det här alternativet på PÅ har ingen effekt om inte AUTO_UPDATE_STATISTICS är inställt på PÅ.

    Som standard är alternativet AUTO_UPDATE_STATISTICS_ASYNC inställt på OFF och Query Optimizer uppdaterar statistik synkront.

  • OFF

    Anger att statistikuppdateringar för alternativet AUTO_UPDATE_STATISTICS är synkrona. Frågeoptimeraren väntar på att statistikuppdateringarna ska slutföras innan frågor kompileras.

    Att ställa in det här alternativet på AV har ingen effekt om inte AUTO_UPDATE_STATISTICS är inställt på PÅ.

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. Du kan visa alternativen för följande inställningar i Azure-portalen eller via T-SQL i vyn sys.database_automatic_tuning_options.

AUTOMATIC_TUNING = { AUTO | ÄRV | ANPASSAD }

  • AUTO

    Om du ställer in värdet Automatisk justering på AUTO tillämpas Standardvärden för Azure-konfiguration för Automatisk justering. I Azure-portalen visar detta alternativet "Ärv från: Azure-standardvärden".

  • INHERIT

    Med värdet ÄRV ärver standardkonfigurationen från den överordnade servern. I Azure-portalen visar detta alternativet "Ärver från: Server". Detta är särskilt användbart om du vill anpassa konfigurationen för automatisk justering på en överordnad server och ha alla databaser på den här servern ÄRV de här anpassade inställningarna. För att arvet ska fungera måste de tre enskilda justeringsalternativen FORCE_LAST_GOOD_PLAN, CREATE_INDEX och DROP_INDEX anges till STANDARD för databaser.

  • CUSTOM

    Med custom-värdet måste du anpassa var och en av de automatiska justeringsalternativen som är tillgängliga för databaser. I Azure-portalen visar detta alternativet "Ärva från: Ärva inte".

CREATE_INDEX = { STANDARD | PÅ | AV }

Enables or disables automatic index management CREATE_INDEX option of Automatic tuning. Du kan visa status för det här alternativet i Azure-portalen eller via T-SQL i vyn sys.database_automatic_tuning_options.

  • DEFAULT

    Ärver standardinställningar från servern. I det här fallet definieras alternativ för att aktivera eller inaktivera enskilda automatiska justeringsfunktioner på servernivå.

  • ON

    När det är aktiverat genereras saknade index automatiskt i en databas. När indexet har skapats verifieras arbetsbelastningens prestanda. När ett sådant skapat index inte längre ger fördelar för arbetsbelastningens prestanda återställs det automatiskt. Index som skapas automatiskt flaggas som ett systemgenererat index.

  • OFF

    Genererar inte automatiskt saknade index i databasen.

DROP_INDEX = { STANDARD | PÅ | AV }

Enables or disables automatic index management DROP_INDEX option of Automatic tuning. Du kan visa status för det här alternativet i Azure-portalen eller via T-SQL i vyn sys.database_automatic_tuning_options.

  • DEFAULT

    Ärver standardinställningar från servern. I det här fallet definieras alternativ för att aktivera eller inaktivera enskilda automatiska justeringsfunktioner på servernivå.

  • ON

    Släpper automatiskt duplicerade eller inte längre användbara index till prestandaarbetsbelastningen.

  • OFF

    Släpper inte automatiskt saknade index i databasen.

FORCE_LAST_GOOD_PLAN = { STANDARD | PÅ | AV }

Enables or disables automatic plan correction FORCE_LAST_GOOD_PLAN option of Automatic tuning. Du kan visa status för det här alternativet i Azure-portalen eller via T-SQL i vyn sys.database_automatic_tuning_options.

  • DEFAULT

    Ärver standardinställningar från servern. I det här fallet definieras alternativ för att aktivera eller inaktivera enskilda automatiska justeringsfunktioner på servernivå. Det här är standardvärdet. Standardvärdet för nya Azure SQL-servrar är PÅ, vilket innebär att nya databaser som standard ärver inställningen PÅ.

  • ON

    Databasmotorn tvingar automatiskt fram den senast kända bra planen för Transact-SQL frågor där en ny frågeplan orsakar prestandaregressioner. Databasmotorn övervakar kontinuerligt frågeprestanda för den Transact-SQL frågan med den framtvingade planen. Om det finns prestandavinster fortsätter databasmotorn att använda den senast kända bra planen. Om prestandavinster inte identifieras skapar databasmotorn en ny frågeplan. 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. Dessa rekommendationer tillämpas dock inte automatiskt. Användare kan övervaka aktiva rekommendationer och åtgärda identifierade problem genom att använda Transact-SQL skript som visas i vyn.

< > change_tracking_option ::=

Styr ändringsspårningsalternativ. Du kan aktivera ändringsspårning, ange alternativ, ändra alternativ och inaktivera ändringsspårning. For examples, see the Examples section later in this article.

  • ON

    Aktiverar ändringsspårning för databasen. När du aktiverar ändringsspårning kan du också ange alternativen AUTOMATISK RENSNING och ÄNDRINGSBEVARANDE.

    • AUTO_CLEANUP = { ON | AV }

      • ON

        Information om ändringsspårning tas bort automatiskt efter den angivna kvarhållningsperioden.

      • OFF

        Ändringsspårningsdata tas inte bort från databasen.

    • CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }

      Anger den minsta perioden för att behålla information om ändringsspårning i databasen. Data tas bara bort när värdet för AUTO_CLEANUP är PÅ.

      retention_period is an integer that specifies the numerical component of the retention period.

      The default retention period is 2 days. Den minsta kvarhållningsperioden är 1 minut. The default retention type is DAYS.

  • OFF

    Inaktiverar ändringsspårning för databasen. Inaktivera ändringsspårning för alla tabeller innan du inaktiverar ändringsspårning från databasen.

< > cursor_option ::=

Styr markörens alternativ.

CURSOR_CLOSE_ON_COMMIT { ON | AV }

  • ON

    Alla markörer som öppnas när du checkar in eller återställer en transaktion stängs.

  • OFF

    Markörer förblir öppna när en transaktion checkas in. om du återställer en transaktion stängs alla markörer förutom de markörer som definierats som INSENSITIVE eller STATIC.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för CURSOR_CLOSE_ON_COMMIT. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå CURSOR_CLOSE_ON_COMMIT till AV för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av 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. Markören frigörs implicit endast vid frånkoppling. For more information, see DECLARE CURSOR.

< > db_encryption_option ::=

Styr databaskrypteringstillståndet.

KRYPTERING { PÅ | AV }

Anger att databasen ska krypteras (PÅ) eller inte krypteras (OFF). Mer information om databaskryptering finns i Transparent datakryptering (TDE)och Transparent datakryptering för Azure SQL Database, Azure SQL Managed Instance och Azure Synapse Analytics.

När kryptering är aktiverat på databasnivå krypteras alla filgrupper. Alla nya filgrupper ärver den krypterade egenskapen. Om några filgrupper i databasen är inställda på SKRIVSKYDDad misslyckas databaskrypteringsåtgärden.

You can see the encryption state of the database by using the sys.dm_database_encryption_keys dynamic management view.

< > db_update_option ::=

Styr om uppdateringar tillåts i databasen.

  • READ_ONLY

    Användare kan läsa data från databasen men inte ändra dem.

    Note

    Uppdatera statistik innan du ställer in en databas på READ_ONLY för att förbättra frågeprestandan. Om ytterligare statistik behövs efter att en databas har angetts till READ_ONLY skapar databasmotorn statistik i tempdb. For more information about statistics for a read-only database, see Statistics.

  • READ_WRITE

    Databasen är tillgänglig för läs- och skrivåtgärder.

Om du vill ändra det här tillståndet måste du ha exklusiv åtkomst till databasen. Mer information finns i SINGLE_USER-satsen.

Note

I federerade Azure SQL Database-databaser är SET { READ_ONLY | READ_WRITE } inaktiverat.

< > db_user_access_option ::=

Styr användaråtkomsten till databasen.

  • RESTRICTED_USER

    Tillåter endast medlemmar i den db_owner fasta databasrollen och dbcreator och sysadmin fasta serverroller att ansluta till databasen, men begränsar inte deras antal. Alla anslutningar till databasen kopplas från inom den tidsram som anges av avslutningssatsen i ALTER DATABASE-instruktionen. När databasen har övergått till RESTRICTED_USER tillstånd nekas anslutningsförsök av okvalificerade användare. I Azure SQL Database ska köras inifrån användardatabasen. Från master-databasen kan du stöta på ett felmeddelande Msg 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

    Alla användare som har rätt behörighet att ansluta till databasen tillåts. You can determine this option's status by examining the user_access column in the sys.databases catalog view or the UserAccess property of the DATABASEPROPERTYEX function. I Azure SQL Database ska köras inifrån användardatabasen. Från master-databasen kan du stöta på ett felmeddelande Msg 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 ::=

Styr om transaktioner checkar in helt varaktiga eller fördröjda varaktiga.

  • DISABLED

    Alla transaktioner som följer SET DISABLED är helt hållbara. Eventuella hållbarhetsalternativ som anges i ett atomiskt block eller incheckningsinstruktivt uttryck ignoreras.

  • ALLOWED

    Alla transaktioner som följer SET ALLOWED är antingen helt hållbara eller fördröjda varaktiga, beroende på hållbarhetsalternativet som anges i atomblocket eller incheckningsinstrukeringen.

  • FORCED

    Alla transaktioner som följer SET FORCED är fördröjda varaktiga. Eventuella hållbarhetsalternativ som anges i ett atomiskt block eller incheckningsinstruktivt uttryck ignoreras.

< > PARAMETERIZATION_option ::=

Styr parameteriseringsalternativet.

PARAMETERIZATION { SIMPLE | FORCED }

  • SIMPLE

    Frågor parametriseras baserat på databasens standardbeteende.

  • FORCED

    SQL Server parameteriserar alla frågor i databasen.

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

  • PÅ | AV | RENSA [ ALLA ]

    Styr om Query Store är aktiverat i den här databasen och styr även borttagningen av innehållet i Query Store.

    • ON

      Aktiverar Query Store. PÅ är standardvärdet.

    • OFF

      Inaktiverar Query Store.

      Note

      Det går inte att inaktivera Query Store i en enskild Azure SQL Database-databas och elastisk pool. Om du kör ALTER DATABASE [database] SET QUERY_STORE = OFF returneras varningen 'QUERY_STORE=OFF' is not supported in this version of SQL Server..

    • CLEAR

      Ta bort innehållet i Query Store.

OPERATION_MODE

Beskriver åtgärdsläget för Query Store. Giltiga värden är READ_ONLY och READ_WRITE. I READ_WRITE läge samlar Query Store in och bevarar information om körningsstatistik för frågeplan och körning. I READ_ONLY läge kan information läsas från Query Store, men ny information läggs inte till. Om det maximala allokerade utrymmet i Query Store har förbrukats ändrar Query Store sitt åtgärdsläge till READ_ONLY.

CLEANUP_POLICY

Beskriver datakvarhållningsprincipen för Query Store. STALE_QUERY_THRESHOLD_DAYS avgör hur många dagar informationen för en fråga ska lagras i Frågearkivet. STALE_QUERY_THRESHOLD_DAYS is type bigint. Standardvärdet är 30. For SQL Database Basic edition, default is 7 days.

DATA_FLUSH_INTERVAL_SECONDS

Avgör hur ofta data som skrivs till Query Store sparas på disken. För att optimera prestanda skrivs data som samlas in av Query Store asynkront till disken. Frekvensen för den här asynkrona överföringen konfigureras med hjälp av argumentet DATA_FLUSH_INTERVAL_SECONDS. DATA_FLUSH_INTERVAL_SECONDS is type bigint. The default value is 900 (15 min).

MAX_STORAGE_SIZE_MB

Avgör vilket utrymme som allokeras till 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 gränsen tillämpas inte strikt. Lagringsstorleken kontrolleras endast när Query Store skriver data till disk. Det här intervallet anges av alternativet DATA_FLUSH_INTERVAL_SECONDS eller dialogrutan Management Studio Query Store dataspolningsintervall. Standardvärdet för intervallet är 900 sekunder (eller 15 minuter). Om Query Store har överskridit gränsen för MAX_STORAGE_SIZE_MB mellan kontroller av lagringsstorlek övergår den till skrivskyddat läge. Om SIZE_BASED_CLEANUP_MODE är aktiverat utlöses även rensningsmekanismen för att framtvinga gränsen för MAX_STORAGE_SIZE_MB. När tillräckligt med utrymme har rensats växlar Query Store-läget automatiskt tillbaka till läs-och skrivläge.

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. Från och med SQL Server 2019 (15.x) och i Azure SQL Database kan du ange QUERY_CAPTURE_MODE till ANPASSAD för ytterligare kontroll över frågeinsamlingsprincipen.

INTERVAL_LENGTH_MINUTES

Avgör tidsintervallet med vilket körningsstatistikdata aggregeras till Query Store. För att optimera för utrymmesanvändning aggregeras körningsstatistiken i statistikarkivet för körning över ett fast tidsfönster. Det här fasta tidsfönstret konfigureras med hjälp av argumentet INTERVAL_LENGTH_MINUTES. INTERVAL_LENGTH_MINUTES is type bigint. The default value is 60.

SIZE_BASED_CLEANUP_MODE = { AUTO | AV }

Styr om rensning aktiveras automatiskt när den totala mängden data närmar sig maximal storlek.

  • OFF

    Storleksbaserad rensning aktiveras inte automatiskt.

  • AUTO

    Size-based cleanup is automatically activated when size on disk reaches 90% of max_storage_size_mb. Storleksbaserad rensning tar bort de billigaste och äldsta frågorna först. It stops at approximately 80% of max_storage_size_mb. Det här är standardkonfigurationsvärdet.

SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODE { ALLA | AUTO | ANPASSAD | NONE }

Anger det aktuella aktiva frågeinsamlingsläget. Varje läge definierar specifika principer för frågeinsamling.

Note

Markörer, frågor i lagrade procedurer och inbyggda kompilerade frågor registreras alltid när frågeinsamlingsläget är inställt på ALLA, AUTO eller CUSTOM.

  • ALL

    Samlar in alla frågor.

  • AUTO

    Samla in relevanta frågor baserat på körningsantal och resursförbrukning. Det här är standardkonfigurationsvärdet för Azure SQL Database.

  • NONE

    Sluta samla in nya frågor. Query Store fortsätter att samla in kompilerings- och körningsstatistik för frågor som redan har samlats in. Använd den här konfigurationen med försiktighet eftersom du kanske inte kan samla in viktiga frågor.

  • CUSTOM

    Tillåter kontroll över alternativen för QUERY_CAPTURE_POLICY.

QUERY_CAPTURE_MODE is type nvarchar.

MAX_PLANS_PER_QUERY

Definierar det maximala antalet planer som underhålls för varje fråga. MAX_PLANS_PER_QUERY is type int. The default value is 200.

WAIT_STATS_CAPTURE_MODE { ON | AV }

Styr om väntestatistik hämtas per fråga.

  • ON

    Information om väntestatistik per fråga samlas in. Det här värdet är standardkonfigurationsvärdet.

  • OFF

    Information om väntestatistik per fråga samlas inte in.

< > query_capture_policy_option_list :: =

Styr alternativen för avbildningsprinciper för Query Store. Förutom STALE_CAPTURE_POLICY_THRESHOLD definierar dessa alternativ de OR-villkor som måste ske för att frågor ska samlas in i det definierade tröskelvärdet för inaktuell avbildningsprincip.

STALE_CAPTURE_POLICY_THRESHOLD = integer { DAYS | HOURS }

Definierar utvärderingsintervallperioden för att avgöra om en fråga ska samlas in. Standardvärdet är 1 dag och kan anges från 1 timme till sju dagar. number is type int.

EXECUTION_COUNT = integer

Definierar hur många gånger en fråga körs under utvärderingsperioden. Standardvärdet är 30, vilket innebär att för standardtröskelvärdet för inaktuell avbildningsprincip måste en fråga köras minst 30 gånger på en dag för att sparas i Query Store. EXECUTION_COUNT is type int.

TOTAL_COMPILE_CPU_TIME_MS = integer

Definierar den totala förflutna kompileringstiden för cpu som används av en fråga under utvärderingsperioden. Standardvärdet är 1 000, vilket innebär att för standardtröskelvärdet för inaktuell avbildningsprincip måste en fråga ha minst en sekund cpu-tid under frågekompilering på en dag för att sparas i Query Store. TOTAL_COMPILE_CPU_TIME_MS is type int.

TOTAL_EXECUTION_CPU_TIME_MS = integer

Definierar den totala förflutna körningens CPU-tid som används av en fråga under utvärderingsperioden. Standardvärdet är 100, vilket innebär att för standardtröskelvärdet för inaktuell avbildningsprincip måste en fråga ha totalt minst 100 ms cpu-tid under körningen på en dag för att sparas i Query Store. TOTAL_EXECUTION_CPU_TIME_MS is type int.

< > snapshot_option ::=

Avgör transaktionsisoleringsnivån.

ALLOW_SNAPSHOT_ISOLATION { ON | AV }

  • ON

    Aktiverar alternativet Ögonblicksbild på databasnivå. När den är aktiverad börjar DML-instruktioner generera radversioner även när ingen transaktion använder ögonblicksbildisolering. När det här alternativet har aktiverats kan transaktioner ange transaktionsisoleringsnivån SNAPSHOT. När en transaktion körs på ögonblicksbildisoleringsnivå ser alla instruktioner en ögonblicksbild av data eftersom den finns i början av transaktionen. Om en transaktion som körs på ögonblicksbildisoleringsnivå har åtkomst till data i flera databaser måste antingen ALLOW_SNAPSHOT_ISOLATION anges till PÅ i alla databaser, eller så måste varje instruktion i transaktionen använda låstips för alla referenser i en FROM-sats till en tabell i en databas där ALLOW_SNAPSHOT_ISOLATION är AV.

  • OFF

    Inaktiverar alternativet Ögonblicksbild på databasnivå. Transaktioner kan inte ange transaktionsisoleringsnivån ÖGONBLICKSBILD.

När du ställer in ALLOW_SNAPSHOT_ISOLATION till ett nytt tillstånd (från PÅ till AV eller från AV till PÅ) returnerar ALTER DATABASE inte kontrollen till anroparen förrän alla befintliga transaktioner i databasen har checkats in. Om databasen redan är i det tillstånd som anges i ALTER DATABASE-instruktionen returneras kontrollen till anroparen omedelbart. 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. Om ALTER DATABASE-instruktionen avbryts förblir databasen i det tillstånd den befann sig i när ALTER DATABASE startades. The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Om snapshot_isolation_state_desc = IN_TRANSITION_TO_ONpausar instruktionen ALTER DATABASE .... ALLOW_SNAPSHOT_ISOLATION OFF sex sekunder och försöker utföra åtgärden igen.

Du kan inte ändra tillståndet för ALLOW_SNAPSHOT_ISOLATION om databasen är OFFLINE.

Om du anger ALLOW_SNAPSHOT_ISOLATION i en READ_ONLY databas behålls inställningen om databasen senare anges till 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 { ON | AV }

  • ON

    Aktiverar alternativet Read-Committed Ögonblicksbild på databasnivå. När den är aktiverad börjar DML-instruktioner generera radversioner även när ingen transaktion använder ögonblicksbildisolering. När det här alternativet är aktiverat använder transaktionerna som anger READ COMMITTED-isoleringsnivån radversioner i stället för att låsa. Alla instruktioner ser en ögonblicksbild av data eftersom den finns i början av -instruktionen när en transaktion körs på READ COMMITTED-isoleringsnivån.

  • OFF

    Inaktiverar Read-Committed alternativet Ögonblicksbild på databasnivå. Transaktioner som anger READ COMMITTED-isoleringsnivån använder låsning.

Om du vill ange READ_COMMITTED_SNAPSHOT PÅ eller AV får det inte finnas några aktiva anslutningar till databasen förutom anslutningen som kör KOMMANDOT ALTER DATABASE. Databasen behöver dock inte vara i enanvändarläge. Du kan inte ändra tillståndet för det här alternativet när databasen är OFFLINE.

Om du anger READ_COMMITTED_SNAPSHOT i en READ_ONLY databas behålls inställningen när databasen senare anges till READ_WRITE.

READ_COMMITTED_SNAPSHOT kan inte aktiveras för master, tempdbeller msdb systemdatabaser. Om du ändrar inställningen för modelblir den inställningen standard för alla nya databaser som skapats, förutom för 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

I Azure SQL Database måste kommandot ALTER DATABASE för att ange READ_COMMITTED_SNAPSHOT PÅ eller AV för en databas köras i master-databasen.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | AV }

  • ON

    När transaktionsisoleringsnivån är inställd på en isoleringsnivå som är lägre än ÖGONBLICKSBILD körs alla tolkade Transact-SQL åtgärder på minnesoptimerade tabeller under ögonblicksbildisolering. Exempel på isoleringsnivåer som är lägre än ögonblicksbilder är READ COMMITTED eller READ UNCOMMITTED. Dessa åtgärder kör om transaktionsisoleringsnivån uttryckligen anges på sessionsnivå eller om standardvärdet används implicit.

  • OFF

    Höjer inte transaktionsisoleringsnivån för tolkade Transact-SQL åtgärder i minnesoptimerade tabeller.

Du kan inte ändra tillståndet för MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT om databasen är OFFLINE.

Standardvärdet är AV.

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

Styr ANSI-efterlevnadsalternativen på databasnivå.

ANSI_NULL_DEFAULT { ON | AV }

Avgör standardvärdet, NULL eller NOT NULL, för en kolumn eller CLR-användardefinierad typ som nullabiliteten inte uttryckligen definieras för i CREATE TABLE- eller ALTER TABLE-uttryck. Kolumner som definieras med begränsningar följer villkorsregler oavsett vilken inställning den här inställningen kan vara.

  • ON

    Standardvärdet är NULL.

  • OFF

    Standardvärdet är INTE NULL.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standardinställningen på databasnivå för ANSI_NULL_DEFAULT. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå ANSI_NULL_DEFAULT till PÅ för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av SQL Server. For more information, see SET ANSI_NULL_DFLT_ON.

För ANSI-kompatibilitet ändrar inställningen av databasalternativet ANSI_NULL_DEFAULT till PÅ databasens standardvärde till 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 { ON | AV }

  • ON

    Alla jämförelser med ett null-värde utvärderas till OKÄNT.

  • OFF

    Jämförelser av icke-Unicode-värden med ett nullvärde utvärderas till TRUE om båda värdena är NULL.

Important

I en framtida version av SQL Server kommer ANSI_NULLS alltid att vara PÅ och alla program som uttryckligen ställer in alternativet på AV genererar ett fel. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för ANSI_NULLS. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå ANSI_NULLS till PÅ för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av SQL Server. For more information, see SET ANSI_NULLS.

Note

ANGE ANSI_NULLS måste också anges till PÅ när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

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 { ON | AV }

  • ON

    Strängarna är vadderade till samma längd före konverteringen. 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. Värden är inte vadderade till kolumnens längd.

    När OFF har angetts påverkar den här inställningen endast definitionen av nya kolumner.

Important

I en framtida version av SQL Server kommer ANSI_PADDING alltid att vara PÅ och alla program som uttryckligen ställer in alternativet på AV skapar ett fel. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Vi rekommenderar att du alltid ställer in ANSI_PADDING på PÅ. ANSI_PADDING måste vara PÅ när du skapar eller manipulerar index för beräknade kolumner eller indexerade vyer.

char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Avslutande blanksteg och nollor trimmas när ANSI_PADDING är AV. char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standardinställningen på databasnivå för ANSI_PADDING. ODBC- och OLE DB-klienter utfärdar som standard en inställning för SET-instruktion på anslutningsnivå ANSI_PADDING till PÅ för sessionen. Klienterna kör -instruktionen när du ansluter till en instans av 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 { ON | AV }

  • ON

    Fel eller varningar utfärdas när villkor som divide-by-zero inträffar. Fel och varningar utfärdas också när null-värden visas i aggregerade funktioner.

  • OFF

    Inga varningar utlöses och nullvärden returneras när villkor som divide-by-zero inträffar.

Note

ANGE ANSI_WARNINGS måste anges till PÅ när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för ANSI_WARNINGS. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå ANSI_WARNINGS till PÅ för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av 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 | AV }

  • ON

    En fråga avslutas när ett spill eller divide-by-zero-fel inträffar under frågekörningen.

  • OFF

    Ett varningsmeddelande visas när ett av dessa fel inträffar. Frågan, batchen eller transaktionen fortsätter att bearbetas som om inget fel uppstod även om en varning visas.

Note

SET ARITHABORT måste anges till PÅ när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

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 }

Mer information finns i ALTER DATABASE-kompatibilitetsnivå.

CONCAT_NULL_YIELDS_NULL { ON | AV }

  • ON

    Resultatet av en sammanfogningsåtgärd är NULL när någon av operanderna är NULL. Om du till exempel sammanfogar teckensträngen "This is" (Detta är) och NULL returneras värdet NULL i stället för värdet "This is".

  • OFF

    Null-värdet behandlas som en tom teckensträng.

Note

CONCAT_NULL_YIELDS_NULL måste anges till PÅ när du skapar eller gör ändringar i index i beräknade kolumner eller indexerade vyer.

I en framtida version av SQL Server kommer CONCAT_NULL_YIELDS_NULL alltid att vara PÅ och alla program som uttryckligen ställer in alternativet på AV genererar ett fel. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för CONCAT_NULL_YIELDS_NULL. Som standard utfärdar ODBC- och OLE DB-klienter en inställning för SET-instruktion på anslutningsnivå CONCAT_NULL_YIELDS_NULL till PÅ för sessionen när du ansluter till en instans av 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 { ON | AV }

  • ON

    Ett fel genereras när precisionsförlust inträffar i ett uttryck.

  • OFF

    Förlust av precision genererar inget felmeddelande, och resultatet avrundas till precisionen i kolumnen eller variabeln som lagrar resultatet.

Important

NUMERIC_ROUNDABORT måste anges till AV när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

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 { ON | AV }

  • ON

    Dubbla citattecken kan användas för att omsluta avgränsade identifierare.

    Alla strängar som avgränsas med dubbla citattecken tolkas som objektidentifierare. Citerade identifierare behöver inte följa Transact-SQL regler för identifierare. De kan vara nyckelord och kan innehålla tecken som inte tillåts i Transact-SQL identifierare. Om ett dubbelt citattecken (") är en del av identifieraren kan det representeras av två dubbla citattecken ("").

  • OFF

    Identifierare kan inte vara inom citattecken och måste följa alla Transact-SQL regler för identifierare. Literaler kan avgränsas med enkla eller dubbla citattecken.

SQL Server gör också att identifierare kan avgränsas med hakparenteser ([ och ]). Hakparenteserade identifierare kan alltid användas, oavsett vilken inställning QUOTED_IDENTIFIER är. For more information, see Database identifiers.

När en tabell skapas lagras alternativet QUOTED IDENTIFIER alltid som PÅ i tabellens metadata. Alternativet lagras även om alternativet är inställt på AV när tabellen skapas.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för QUOTED_IDENTIFIER. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå QUOTED_IDENTIFIER till PÅ som standard. Klienterna kör -instruktionen när du ansluter till en instans av 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 { ON | AV }

  • ON

    Rekursiv avfyrning av AFTER-utlösare tillåts.

  • 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 the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Note

Endast direkt rekursion förhindras när RECURSIVE_TRIGGERS är inställt på OFF. Om du vill inaktivera indirekt rekursion måste du också ange serveralternativet kapslade utlösare till 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 ::=

Anger frekvensen för indirekta kontrollpunkter per databas. Starting with SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates the database uses indirect checkpoints. För äldre versioner är standardvärdet 0, vilket anger att databasen använder automatiska kontrollpunkter, vars frekvens beror på inställningen för återställningsintervall för serverinstansen. Microsoft rekommenderar 1 minut för de flesta system.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

  • target_recovery_time

    Anger den maximala gränsen för hur länge den angivna databasen ska återställas i händelse av en krasch. 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.

MED <avslutning> ::=

Anger när ofullständiga transaktioner ska återställas när databasen övergår från ett tillstånd till ett annat. Om avslutningssatsen utelämnas väntar ALTER DATABASE-instruktionen på obestämd tid om det finns något lås på databasen. Endast en avslutningssats kan anges och den följer SET-satserna.

Note

Alla databasalternativ använder inte satsen WITH <avslutning>. For more information, see the table under Setting options of the "Remarks" section of this article.

  • ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE

    Anger om du vill återställa efter det angivna antalet sekunder eller omedelbart.

  • NO_WAIT

    Anger att begäran misslyckas om det begärda databastillståndet eller alternativändringen inte kan slutföras omedelbart. Att slutföra omedelbart innebär att inte vänta på att transaktioner ska checkas in eller återställas på egen hand.

< > temporal_history_retention ::=

Set options

To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

När du har angett ett databasalternativ börjar den nya inställningen gälla omedelbart.

Du kan ändra standardvärdena för något av databasalternativen för alla nyligen skapade databaser. Det gör du genom att ändra lämpligt databasalternativ i model-databasen.

Alla databasalternativ använder inte satsen WITH <avslutning> eller kan anges i kombination med andra alternativ. I följande tabell visas dessa alternativ och deras alternativ och avslutningsstatus.

Options category Kan anges med andra alternativ Kan använda satsen MED <avslutning>
<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. Ange databasen till READ_ONLY

Att ändra tillståndet för en databas eller filgrupp till READ_ONLY eller READ_WRITE kräver exklusiv åtkomst till databasen och kan ta några sekunder att slutföra. I följande exempel anges databasen till RESTRICTED_USER läge för att begränsa åtkomsten. I exemplet anges sedan tillståndet för den AdventureWorks2022 databasen till READ_ONLY och returnerar åtkomst till databasen till alla användare.

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

Så här ställer du in databasen i läs- och skrivläge igen:

--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. Aktivera ögonblicksbildisolering på en databas

I följande exempel aktiveras alternativet för ramverk för ögonblicksbildisolering för AdventureWorks2022-databasen.

--Connect to [database_name]
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO

Kontrollera tillståndet för snapshot_isolation_framework i databasen.

--Connect to [database_name]
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'database_name';
GO

Resultatuppsättningen visar att ramverket för ögonblicksbildisolering är aktiverat.

name snapshot_isolation_state description
[database_name] 1 ON

C. Aktivera, ändra eller inaktivera ändringsspårning

I följande exempel aktiveras ändringsspårning för AdventureWorks2022-databasen och kvarhållningsperioden anges till 2 dagar.

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

I följande exempel visas hur du ändrar kvarhållningsperioden till 3 dagar.

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

I följande exempel visas hur du inaktiverar ändringsspårning för AdventureWorks2022-databasen.

--Connect to [database_name]
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

D. Aktivera Query Store

Följande exempel aktiverar Query Store och konfigurerar Query Store-parametrar.

--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. Aktivera Query Store med väntestatistik

I följande exempel aktiveras Query Store och dess parametrar konfigureras.

--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. Aktivera Query Store med anpassade alternativ för avbildningsprinciper

I följande exempel aktiveras Query Store och dess parametrar konfigureras.

--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
      )
    );

* SQL Managed Instance *  

 

Hanterad instans i Azure SQL

Kompatibilitetsnivåer är SET alternativ men beskrivs i ALTER DATABASE-kompatibilitetsnivån.

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. Uppsättningsalternativ på sessionsnivå åsidosätter ALTER DATABASE SET värden. Databasalternativen som beskrivs i följande avsnitt är värden som kan anges för sessioner som inte uttryckligen anger andra angivna alternativvärden.

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

Namnet på databasen som ska ändras.

CURRENT

CURRENT kör åtgärden i den aktuella databasen. CURRENT stöds inte för alla alternativ i alla kontexter. Om CURRENT misslyckas anger du databasnamnet.

< > auto_option ::=

Styr automatiska alternativ.

AUTO_CREATE_STATISTICS { ON | AV }

  • ON

    Query Optimizer skapar statistik för enskilda kolumner i frågepredikat, efter behov, för att förbättra frågeplaner och frågeprestanda. Den här statistiken med en kolumn skapas när Query Optimizer kompilerar frågor. Enkolumnsstatistiken skapas endast för kolumner som inte redan är den första kolumnen i ett befintligt statistikobjekt.

    Standardvärdet är PÅ. Vi rekommenderar att du använder standardinställningen för de flesta databaser.

  • OFF

    Frågeoptimeraren skapar inte statistik för enskilda kolumner i frågepredikat när den kompilerar frågor. Om du ställer in det här alternativet på AV kan det orsaka suboptimala frågeplaner och försämrad frågeprestanda.

    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.

INCREMENTAL = ON | BORT

Ställ in AUTO_CREATE_STATISTICS på PÅ och ange INKREMENTELL till PÅ. Den här inställningen skapar automatiskt statistik som inkrementell när inkrementell statistik stöds. Standardvärdet är AV. For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | AV }

  • ON

    Databasfilerna är kandidater för regelbunden krympning. Om du inte har ett specifikt krav ska du inte ange alternativet AUTO_SHRINK databas till PÅ. Mer information finns i Krympa en databas.

    Både datafilen och loggfilerna kan krympas automatiskt. AUTO_SHRINK minskar storleken på transaktionsloggen endast om du ställer in databasen på SIMPLE-återställningsmodell eller om du säkerhetskopierar loggen. När de är inställda på OFF krymps inte databasfilerna automatiskt under periodiska kontroller av outnyttjat utrymme.

    Alternativet AUTO_SHRINK gör att filer krymps när mer än 25 procent av filen innehåller outnyttjat utrymme. Alternativet gör att filen krymper till en av två storlekar. Den krymper till den som är större:

    • Storleken där 25 procent av filen är outnyttjat utrymme
    • Storleken på filen när den skapades

    Du kan inte krympa en skrivskyddad databas.

  • OFF

    Databasfilerna krymps inte automatiskt under periodiska kontroller av oanvänt utrymme.

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

Alternativet AUTO_SHRINK är inte tillgängligt i en innesluten databas.

AUTO_UPDATE_STATISTICS { ON | AV }

  • ON

    Anger att Query Optimizer uppdaterar statistik när de används av en fråga och när de kan vara inaktuella. Statistiken blir inaktuell efter att åtgärderna infoga, uppdatera, ta bort eller slå samman ändrar datadistributionen i tabellen eller den indexerade vyn. Frågeoptimeraren avgör när statistiken kan vara inaktuell genom att räkna antalet dataändringar sedan den senaste statistikuppdateringen och jämföra antalet ändringar med ett tröskelvärde. Tröskelvärdet baseras på antalet rader i tabellen eller den indexerade vyn.

    Frågeoptimeraren söker efter inaktuell statistik innan den kompilerar en fråga och kör en cachelagrad frågeplan. Query Optimizer använder kolumner, tabeller och indexerade vyer i frågepredikatet för att avgöra vilken statistik som kan vara inaktuell. Frågeoptimeraren avgör den här informationen innan den kompilerar en fråga. Innan du kör en cachelagrad frågeplan verifierar databasmotorn att frågeplanen refererar till up-to-date-statistik.

    Alternativet AUTO_UPDATE_STATISTICS gäller för statistik som skapats för index, enkla kolumner i frågepredikat och statistik som skapas med hjälp av instruktionen CREATE STATISTICS. Det här alternativet gäller även för filtrerad statistik.

    Standardvärdet är PÅ. Vi rekommenderar att du använder standardinställningen för de flesta databaser.

    Använd alternativet AUTO_UPDATE_STATISTICS_ASYNC för att ange om statistiken uppdateras synkront eller asynkront.

  • OFF

    Anger att Frågeoptimeraren inte uppdaterar statistik när de används av en fråga. Query Optimizer uppdaterar inte heller statistik när de kan vara inaktuella. Om du ställer in det här alternativet på AV kan det orsaka suboptimala frågeplaner och försämrad frågeprestanda.

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 { ON | AV }

  • ON

    Anger att statistikuppdateringar för alternativet AUTO_UPDATE_STATISTICS är asynkrona. Frågeoptimeraren väntar inte på att statistikuppdateringarna ska slutföras innan frågor kompileras.

    Att ställa in det här alternativet på PÅ har ingen effekt om inte AUTO_UPDATE_STATISTICS är inställt på PÅ.

    Som standard är alternativet AUTO_UPDATE_STATISTICS_ASYNC inställt på OFF och Query Optimizer uppdaterar statistik synkront.

  • OFF

    Anger att statistikuppdateringar för alternativet AUTO_UPDATE_STATISTICS är synkrona. Frågeoptimeraren väntar på att statistikuppdateringarna ska slutföras innan frågor kompileras.

    Att ställa in det här alternativet på AV har ingen effekt om inte AUTO_UPDATE_STATISTICS är inställt på PÅ.

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 = { STANDARD | PÅ | AV }

Enables or disables FORCE_LAST_GOOD_PLANAutomatic tuning option.

  • DEFAULT

    Standardvärdet för Azure SQL Managed Instance är PÅ.

  • ON

    Databasmotorn tvingar automatiskt fram den senast kända bra planen för Transact-SQL frågor där en ny frågeplan orsakar prestandaregressioner. Databasmotorn övervakar kontinuerligt frågeprestanda för den Transact-SQL frågan med den framtvingade planen. Om det finns prestandavinster fortsätter databasmotorn att använda den senast kända bra planen. Om prestandavinster inte identifieras skapar databasmotorn en ny frågeplan. The statement fails if the Query Store isn't enabled, or isn't in Read-Write mode. Det här är standardvärdet.

  • OFF

    The Database Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Dessa rekommendationer tillämpas dock inte automatiskt. Användare kan övervaka aktiva rekommendationer och åtgärda identifierade problem genom att använda Transact-SQL skript som visas i vyn.

< > change_tracking_option ::=

Styr ändringsspårningsalternativ. Du kan aktivera ändringsspårning, ange alternativ, ändra alternativ och inaktivera ändringsspårning. For examples, see the Examples section later in this article.

  • ON

    Aktiverar ändringsspårning för databasen. När du aktiverar ändringsspårning kan du också ange alternativen AUTOMATISK RENSNING och ÄNDRINGSBEVARANDE.

AUTO_CLEANUP = { ON | AV }

  • ON

    Information om ändringsspårning tas bort automatiskt efter den angivna kvarhållningsperioden.

  • OFF

    Ändringsspårningsdata tas inte bort från databasen.

CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }

Anger den minsta perioden för att behålla information om ändringsspårning i databasen. Data tas bara bort när värdet för AUTO_CLEANUP är PÅ.

retention_period is an integer that specifies the numerical component of the retention period.

The default retention period is 2 days. Den minsta kvarhållningsperioden är 1 minut. The default retention type is DAYS.

  • OFF

    Inaktiverar ändringsspårning för databasen. Inaktivera ändringsspårning för alla tabeller innan du inaktiverar ändringsspårning från databasen.

< > cursor_option ::=

Styr markörens alternativ.

CURSOR_CLOSE_ON_COMMIT { ON | AV }

  • ON

    Alla markörer som öppnas när du checkar in eller återställer en transaktion stängs.

  • OFF

    Markörer förblir öppna när en transaktion checkas in. om du återställer en transaktion stängs alla markörer förutom de som definierats som INSENSITIVE eller STATIC.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för CURSOR_CLOSE_ON_COMMIT. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå CURSOR_CLOSE_ON_COMMIT till AV för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av 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. Markören frigörs implicit endast vid frånkoppling. For more information, see DECLARE CURSOR.

< > db_encryption_option ::=

Styr databaskrypteringstillståndet.

KRYPTERING { PÅ | AV }

Anger att databasen ska krypteras (PÅ) eller inte krypteras (OFF). Mer information om databaskryptering finns i Transparent datakryptering (TDE)och Transparent datakryptering för Azure SQL Database, Azure SQL Managed Instance och Azure Synapse Analytics.

När kryptering är aktiverat på databasnivå krypteras alla filgrupper. Alla nya filgrupper ärver den krypterade egenskapen. Om några filgrupper i databasen är inställda på SKRIVSKYDDad misslyckas databaskrypteringsåtgärden.

You can see the encryption state of the database by using the sys.dm_database_encryption_keys dynamic management view.

< > delayed_durability_option ::=

Styr om transaktioner checkar in helt varaktiga eller fördröjda varaktiga.

  • DISABLED

    Alla transaktioner som följer SET DISABLED är helt hållbara. Eventuella hållbarhetsalternativ som anges i ett atomiskt block eller incheckningsinstruktivt uttryck ignoreras.

  • ALLOWED

    Alla transaktioner som följer SET ALLOWED är antingen helt hållbara eller fördröjda varaktiga, beroende på hållbarhetsalternativet som anges i atomblocket eller incheckningsinstrukeringen.

  • FORCED

    Alla transaktioner som följer SET FORCED är fördröjda varaktiga. Eventuella hållbarhetsalternativ som anges i ett atomiskt block eller incheckningsinstruktivt uttryck ignoreras.

< > PARAMETERIZATION_option ::=

Styr parameteriseringsalternativet.

PARAMETERIZATION { SIMPLE | FORCED }

  • SIMPLE

    Frågor parametriseras baserat på databasens standardbeteende.

  • FORCED

SQL Server parameteriserar alla frågor i databasen.

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

  • PÅ | AV | RENSA [ ALLA ]

    Styr om Query Store är aktiverat i den här databasen och styr även borttagningen av innehållet i Query Store.

    • ON

      Aktiverar Query Store.

    • OFF

      Inaktiverar Query Store. Det här är standardvärdet.

    • CLEAR

      Ta bort innehållet i Query Store.

OPERATION_MODE

Beskriver åtgärdsläget för Query Store. Giltiga värden är READ_ONLY och READ_WRITE. I READ_WRITE läge samlar Query Store in och bevarar information om körningsstatistik för frågeplan och körning. I READ_ONLY läge kan information läsas från Query Store, men ny information läggs inte till. Om det maximala allokerade utrymmet i Query Store har förbrukats ändrar Query Store sitt åtgärdsläge till READ_ONLY.

CLEANUP_POLICY

Beskriver datakvarhållningsprincipen för Query Store. STALE_QUERY_THRESHOLD_DAYS avgör hur många dagar informationen för en fråga ska lagras i Frågearkivet. STALE_QUERY_THRESHOLD_DAYS is type bigint. Standardvärdet är 30. For SQL Database Basic edition, default is 7 days.

DATA_FLUSH_INTERVAL_SECONDS

Avgör hur ofta data som skrivs till Query Store sparas på disken. För att optimera prestanda skrivs data som samlas in av Query Store asynkront till disken. Frekvensen för den här asynkrona överföringen konfigureras med hjälp av argumentet DATA_FLUSH_INTERVAL_SECONDS. DATA_FLUSH_INTERVAL_SECONDS is type bigint. The default value is 900 (15 min).

MAX_STORAGE_SIZE_MB

Avgör vilket utrymme som allokeras till Query Store. MAX_STORAGE_SIZE_MB is type bigint. The default value is 100 MB.

MAX_STORAGE_SIZE_MB gränsen tillämpas inte strikt. Lagringsstorleken kontrolleras endast när Query Store skriver data till disk. Det här intervallet anges av alternativet DATA_FLUSH_INTERVAL_SECONDS eller dialogrutan Management Studio Query Store dataspolningsintervall. Standardvärdet för intervallet är 900 sekunder (eller 15 minuter).

Om Query Store har överskridit gränsen för MAX_STORAGE_SIZE_MB mellan kontroller av lagringsstorlek övergår den till skrivskyddat läge. Om SIZE_BASED_CLEANUP_MODE är aktiverat utlöses även rensningsmekanismen för att framtvinga gränsen för MAX_STORAGE_SIZE_MB.

När tillräckligt med utrymme har rensats växlar Query Store-läget automatiskt tillbaka till läs-och skrivläge.

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.
  • Från och med SQL Server 2019 (15.x) och i Azure SQL Database kan du ange QUERY_CAPTURE_MODE till ANPASSAD för ytterligare kontroll över frågeinsamlingsprincipen.
  • MAX_STORAGE_SIZE_MB inställningsgränsen är 10 240 MB för Azure SQL Managed Instance.

INTERVAL_LENGTH_MINUTES

Avgör tidsintervallet med vilket körningsstatistikdata aggregeras till Query Store. För att optimera för utrymmesanvändning aggregeras körningsstatistiken i statistikarkivet för körning över ett fast tidsfönster. Det här fasta tidsfönstret konfigureras med hjälp av argumentet INTERVAL_LENGTH_MINUTES. INTERVAL_LENGTH_MINUTES is type bigint. The default value is 60.

SIZE_BASED_CLEANUP_MODE = { AUTO | AV }

Styr om rensning aktiveras automatiskt när den totala mängden data närmar sig maximal storlek.

  • OFF

    Storleksbaserad rensning aktiveras inte automatiskt.

  • AUTO

    Size-based cleanup is automatically activated when size on disk reaches 90% of max_storage_size_mb. Storleksbaserad rensning tar bort de billigaste och äldsta frågorna först. It stops at approximately 80% of max_storage_size_mb. Det här är standardkonfigurationsvärdet.

SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODE { ALLA | AUTO | ANPASSAD | NONE }

Anger det aktuella aktiva frågeinsamlingsläget.

  • ALL

    Alla frågor samlas in.

  • AUTO

    Samla in relevanta frågor baserat på körningsantal och resursförbrukning. Det här är standardkonfigurationsvärdet för Azure SQL Database.

  • NONE

    Sluta samla in nya frågor. Query Store fortsätter att samla in kompilerings- och körningsstatistik för frågor som redan har samlats in. Använd den här konfigurationen med försiktighet eftersom du kanske inte kan samla in viktiga frågor.

QUERY_CAPTURE_MODE is type nvarchar.

MAX_PLANS_PER_QUERY

Ett heltal som representerar det maximala antalet planer som underhålls för varje fråga. MAX_PLANS_PER_QUERY is type int. The default value is 200.

WAIT_STATS_CAPTURE_MODE { ON | AV }

Styr om väntestatistik hämtas per fråga.

  • ON

    Information om väntestatistik per fråga samlas in. Det här värdet är standardkonfigurationsvärdet.

  • OFF

    Information om väntestatistik per fråga samlas inte in.

< > query_capture_policy_option_list :: =

Styr alternativen för avbildningsprinciper för Query Store. Förutom STALE_CAPTURE_POLICY_THRESHOLD definierar dessa alternativ de OR-villkor som måste ske för att frågor ska samlas in i det definierade tröskelvärdet för inaktuell avbildningsprincip.

STALE_CAPTURE_POLICY_THRESHOLD = integer { DAYS | HOURS }

Definierar utvärderingsintervallperioden för att avgöra om en fråga ska samlas in. Standardvärdet är 1 dag och kan anges från 1 timme till sju dagar.

EXECUTION_COUNT = integer

Definierar hur många gånger en fråga körs under utvärderingsperioden. Standardvärdet är 30, vilket innebär att för standardtröskelvärdet för inaktuell avbildningsprincip måste en fråga köras minst 30 gånger på en dag för att sparas i Query Store. EXECUTION_COUNT is type int.

TOTAL_COMPILE_CPU_TIME_MS = integer

Definierar den totala förflutna kompileringstiden för cpu som används av en fråga under utvärderingsperioden. Standardvärdet är 1 000, vilket innebär att för standardtröskelvärdet för inaktuell avbildningsprincip måste en fråga ha minst en sekund cpu-tid under frågekompilering på en dag för att sparas i Query Store. TOTAL_COMPILE_CPU_TIME_MS is type int.

TOTAL_EXECUTION_CPU_TIME_MS = integer

Definierar den totala förflutna körningens CPU-tid som används av en fråga under utvärderingsperioden. Standardvärdet är 100, vilket innebär att för standardtröskelvärdet för inaktuell avbildningsprincip måste en fråga ha totalt minst 100 ms cpu-tid under körningen på en dag för att sparas i Query Store. TOTAL_EXECUTION_CPU_TIME_MS is type int.

< > snapshot_option ::=

Avgör transaktionsisoleringsnivån.

ALLOW_SNAPSHOT_ISOLATION { ON | AV }

  • ON

    Aktiverar alternativet Ögonblicksbild på databasnivå. När den är aktiverad börjar DML-instruktioner generera radversioner även när ingen transaktion använder ögonblicksbildisolering. När det här alternativet har aktiverats kan transaktioner ange transaktionsisoleringsnivån ÖGONBLICKSBILD. När en transaktion körs på ögonblicksbildisoleringsnivå ser alla instruktioner en ögonblicksbild av data eftersom den finns i början av transaktionen. Om en transaktion som körs på ögonblicksbildisoleringsnivå har åtkomst till data i flera databaser måste antingen ALLOW_SNAPSHOT_ISOLATION anges till PÅ i alla databaser, eller så måste varje instruktion i transaktionen använda låstips för alla referenser i en FROM-sats till en tabell i en databas där ALLOW_SNAPSHOT_ISOLATION är AV.

  • OFF

    Inaktiverar alternativet Ögonblicksbild på databasnivå. Transaktioner kan inte ange transaktionsisoleringsnivån ÖGONBLICKSBILD.

När du ställer in ALLOW_SNAPSHOT_ISOLATION till ett nytt tillstånd (från PÅ till AV eller från AV till PÅ) returnerar ALTER DATABASE inte kontrollen till anroparen förrän alla befintliga transaktioner i databasen har checkats in. Om databasen redan är i det tillstånd som anges i ALTER DATABASE-instruktionen returneras kontrollen till anroparen omedelbart. 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. Om ALTER DATABASE-instruktionen avbryts förblir databasen i det tillstånd den befann sig i när ALTER DATABASE startades. The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Om snapshot_isolation_state_desc = IN_TRANSITION_TO_ONpausar instruktionen ALTER DATABASE ... ALLOW_SNAPSHOT_ISOLATION OFF sex sekunder och försöker utföra åtgärden igen.

Du kan inte ändra tillståndet för ALLOW_SNAPSHOT_ISOLATION om databasen är OFFLINE.

Du kan ändra inställningarna för ALLOW_SNAPSHOT_ISOLATION för databaserna master, model, msdboch tempdb. Inställningen behålls varje gång instansen av databasmotorn stoppas och startas om om du ändrar inställningen för tempdb. Om du ändrar inställningen för model-systemdatabasen blir den inställningen standard för alla nya databaser som skapas, förutom tempdb.

Alternativet är SOM standard PÅ för master- och msdb-databaserna.

The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | AV }

  • ON

    Aktiverar alternativet Read-Committed Ögonblicksbild på databasnivå. När den är aktiverad börjar DML-instruktioner generera radversioner även när ingen transaktion använder ögonblicksbildisolering. När det här alternativet har aktiverats använder transaktionerna som anger READ COMMITTED-isoleringsnivån radversionering i stället för låsning. Alla instruktioner ser en ögonblicksbild av data eftersom den finns i början av -instruktionen när en transaktion körs på READ COMMITTED-isoleringsnivån.

  • OFF

    Inaktiverar alternativet Read-Committed Ögonblicksbild på databasnivå. Transaktioner som anger READ COMMITTED-isoleringsnivån använder låsning.

Om du vill ange READ_COMMITTED_SNAPSHOT till PÅ eller AV får det inte finnas några aktiva anslutningar till databasen förutom anslutningen som kör kommandot ALTER DATABASE. Databasen behöver dock inte vara i enanvändarläge. Du kan inte ändra tillståndet för det här alternativet när databasen är OFFLINE.

READ_COMMITTED_SNAPSHOT kan inte aktiveras för master, tempdbeller msdb systemdatabaser. Om du ändrar inställningen för model-systemdatabasen blir den inställningen standard för alla nya databaser som skapats, med undantag för 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

När en tabell skapas med DURABILITY = SCHEMA_ONLYoch READ_COMMITTED_SNAPSHOT sedan ändras med hjälp av ALTER DATABASEgår data i tabellen förlorade.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | AV }

  • ON

    När transaktionsisoleringsnivån är inställd på en isoleringsnivå som är lägre än ÖGONBLICKSBILD körs alla tolkade Transact-SQL åtgärder på minnesoptimerade tabeller under ögonblicksbildisolering. Exempel på isoleringsnivåer som är lägre än ögonblicksbilder är READ COMMITTED eller READ UNCOMMITTED. Dessa åtgärder kör om transaktionsisoleringsnivån uttryckligen anges på sessionsnivå eller om standardvärdet används implicit.

  • OFF

    Höjer inte transaktionsisoleringsnivån för tolkade Transact-SQL åtgärder i minnesoptimerade tabeller.

Du kan inte ändra tillståndet för MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT om databasen är OFFLINE.

Standardvärdet är AV.

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

Styr ANSI-efterlevnadsalternativen på databasnivå.

ANSI_NULL_DEFAULT { ON | AV }

Avgör standardvärdet, NULL eller NOT NULL, för en kolumn eller CLR-användardefinierad typ som nullabiliteten inte uttryckligen definieras för i CREATE TABLE- eller ALTER TABLE-uttryck. Kolumner som definieras med begränsningar följer villkorsregler oavsett vilken inställning den här inställningen kan vara.

  • ON

    Standardvärdet är NULL.

  • OFF

    Standardvärdet är INTE NULL.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standardinställningen på databasnivå för ANSI_NULL_DEFAULT. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå ANSI_NULL_DEFAULT till PÅ för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av SQL Server. For more information, see SET ANSI_NULL_DFLT_ON.

För ANSI-kompatibilitet ändrar inställningen av databasalternativet ANSI_NULL_DEFAULT till PÅ databasens standardvärde till 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 { ON | AV }

  • ON

    Alla jämförelser med ett null-värde utvärderas till OKÄNT.

  • OFF

    Jämförelser av icke-Unicode-värden med ett nullvärde utvärderas till TRUE om båda värdena är NULL.

Important

I en framtida version av SQL Server kommer ANSI_NULLS alltid att vara PÅ och alla program som uttryckligen ställer in alternativet på AV genererar ett fel. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för ANSI_NULLS. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå ANSI_NULLS till PÅ för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av SQL Server. For more information, see SET ANSI_NULLS.

Important

ANGE ANSI_NULLS måste också anges till PÅ när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

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 { ON | AV }

  • ON

    Strängarna är vadderade till samma längd före konverteringen. 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. Värden är inte vadderade till kolumnens längd.

    När OFF har angetts påverkar den här inställningen endast definitionen av nya kolumner.

Important

I en framtida version av SQL Server kommer ANSI_PADDING alltid att vara PÅ och alla program som uttryckligen ställer in alternativet på AV skapar ett fel. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Vi rekommenderar att du alltid ställer in ANSI_PADDING på PÅ. ANSI_PADDING måste vara PÅ när du skapar eller manipulerar index för beräknade kolumner eller indexerade vyer.

char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Avslutande blanksteg och nollor trimmas när ANSI_PADDING är AV. char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standardinställningen på databasnivå för ANSI_PADDING. ODBC- och OLE DB-klienter utfärdar som standard en inställning för SET-instruktion på anslutningsnivå ANSI_PADDING till PÅ för sessionen. Klienterna kör -instruktionen när du ansluter till en instans av 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 { ON | AV }

  • ON

    Fel eller varningar utfärdas när villkor som divide-by-zero inträffar. Fel och varningar utfärdas också när null-värden visas i aggregerade funktioner.

  • OFF

    Inga varningar utlöses och nullvärden returneras när villkor som divide-by-zero inträffar.

Important

ANGE ANSI_WARNINGS måste anges till PÅ när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för ANSI_WARNINGS. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå ANSI_WARNINGS till PÅ för sessionen som standard. Klienterna kör -instruktionen när du ansluter till en instans av 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 | AV }

  • ON

    En fråga avslutas när ett spill eller divide-by-zero-fel inträffar under frågekörningen.

  • OFF

    Ett varningsmeddelande visas när ett av dessa fel inträffar. Frågan, batchen eller transaktionen fortsätter att bearbetas som om inget fel uppstod även om en varning visas.

Important

SET ARITHABORT måste aktiveras (ON) när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

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 }

Mer information finns i ALTER DATABASE-kompatibilitetsnivå.

CONCAT_NULL_YIELDS_NULL { ON | AV }

  • ON

    Resultatet av en sammanfogningsåtgärd är NULL när någon av operanderna är NULL. Om du till exempel sammanfogar teckensträngen "This is" (Detta är) och NULL returneras värdet NULL i stället för värdet "This is".

  • OFF

    Null-värdet behandlas som en tom teckensträng.

Important

CONCAT_NULL_YIELDS_NULL måste anges till PÅ när du skapar eller gör ändringar i index i beräknade kolumner eller indexerade vyer.

I en framtida version av SQL Server kommer CONCAT_NULL_YIELDS_NULL alltid att vara PÅ och alla program som uttryckligen ställer in alternativet på AV genererar ett fel. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för CONCAT_NULL_YIELDS_NULL. Som standard utfärdar ODBC- och OLE DB-klienter en inställning för SET-instruktion på anslutningsnivå CONCAT_NULL_YIELDS_NULL till PÅ för sessionen när du ansluter till en instans av 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 { ON | AV }

  • ON

    Ett fel genereras när precisionsförlust inträffar i ett uttryck.

  • OFF

    Förlust av precision genererar inget felmeddelande, och resultatet avrundas till precisionen i kolumnen eller variabeln som lagrar resultatet.

Important

NUMERIC_ROUNDABORT måste anges till AV när du skapar eller gör ändringar i index för beräknade kolumner eller indexerade vyer.

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 { ON | AV }

  • ON

    Dubbla citattecken kan användas för att omsluta avgränsade identifierare.

    Alla strängar som avgränsas med dubbla citattecken tolkas som objektidentifierare. Citerade identifierare behöver inte följa Transact-SQL regler för identifierare. De kan vara nyckelord och kan innehålla tecken som inte tillåts i Transact-SQL identifierare. Om ett dubbelt citattecken (") är en del av identifieraren kan det representeras av två dubbla citattecken ("").

  • OFF

    Identifierare kan inte vara inom citattecken och måste följa alla Transact-SQL regler för identifierare. Literaler kan avgränsas med enkla eller dubbla citattecken.

SQL Server gör också att identifierare kan avgränsas med hakparenteser ([ och ]). Hakparenteserade identifierare kan alltid användas, oavsett vilken inställning QUOTED_IDENTIFIER är. For more information, see Database identifiers.

När en tabell skapas lagras alternativet QUOTED IDENTIFIER alltid som PÅ i tabellens metadata. Alternativet lagras även om alternativet är inställt på AV när tabellen skapas.

Inställningar på anslutningsnivå som anges med set-instruktionen åsidosätter standarddatabasinställningen för QUOTED_IDENTIFIER. ODBC- och OLE DB-klienter utfärdar en set-instruktionsinställning på anslutningsnivå QUOTED_IDENTIFIER till PÅ som standard. Klienterna kör -instruktionen när du ansluter till en instans av 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 { ON | AV }

  • ON

    Rekursiv avfyrning av AFTER-utlösare tillåts.

  • 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 the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

    Note

    Endast direkt rekursion förhindras när RECURSIVE_TRIGGERS är inställt på OFF. Om du vill inaktivera indirekt rekursion måste du också ange serveralternativet kapslade utlösare till 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.

Anger frekvensen för indirekta kontrollpunkter per databas. Starting with SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database uses indirect checkpoints. För äldre versioner är standardvärdet 0, vilket anger att databasen använder automatiska kontrollpunkter, vars frekvens beror på inställningen för återställningsintervall för serverinstansen. Microsoft rekommenderar 1 minut för de flesta system.

MED <avslutning> ::=

Anger när ofullständiga transaktioner ska återställas när databasen övergår från ett tillstånd till ett annat. Om avslutningssatsen utelämnas väntar ALTER DATABASE-instruktionen på obestämd tid om det finns något lås på databasen. Endast en avslutningssats kan anges och den följer SET-satserna.

Note

Alla databasalternativ använder inte satsen WITH <avslutning>. For more information, see the table under Setting options of the "Remarks" section of this article.

  • ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE

    Anger om du vill återställa efter det angivna antalet sekunder eller omedelbart.

  • NO_WAIT

    Anger att begäran misslyckas om det begärda databastillståndet eller alternativändringen inte kan slutföras omedelbart. Att slutföra omedelbart innebär att inte vänta på att transaktioner ska checkas in eller återställas på egen hand.

< > temporal_history_retention ::=

Set options

To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

När du har angett ett databasalternativ börjar den nya inställningen gälla omedelbart.

Du kan ändra standardvärdena för något av databasalternativen för alla nyligen skapade databaser. Det gör du genom att ändra lämpligt databasalternativ i model-systemdatabasen.

Examples

A. Aktivera ögonblicksbildisolering på en databas

I följande exempel aktiveras alternativet för ramverk för ögonblicksbildisolering för AdventureWorks2022-databasen.

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

Resultatuppsättningen visar att ramverket för ögonblicksbildisolering är aktiverat.

name snapshot_isolation_state description
[database_name] 1 ON

B. Aktivera, ändra eller inaktivera ändringsspårning

I följande exempel aktiveras ändringsspårning för AdventureWorks2022-databasen och kvarhållningsperioden anges till 2 dagar.

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

I följande exempel visas hur du ändrar kvarhållningsperioden till 3 dagar.

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

I följande exempel visas hur du inaktiverar ändringsspårning för AdventureWorks2022-databasen.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

C. Aktivera Query Store

Följande exempel aktiverar Query Store och konfigurerar Query Store-parametrar.

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. Aktivera Query Store med väntestatistik

I följande exempel aktiveras Query Store och dess parametrar konfigureras.

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. Aktivera Query Store med anpassade alternativ för avbildningsprinciper

I följande exempel aktiveras Query Store och dess parametrar konfigureras.

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
      )
    );

* Azure Synapse
Analys *
 

 

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

Namnet på databasen som ska ändras.

< > auto_option ::=

Styr automatiska alternativ.

AUTO_CREATE_STATISTICS { ON | AV }

  • ON

    Query Optimizer skapar statistik för enskilda kolumner i frågepredikat, efter behov, för att förbättra frågeplaner och frågeprestanda. Den här statistiken med en kolumn skapas när Query Optimizer kompilerar frågor. Enkolumnsstatistiken skapas endast för kolumner som inte redan är den första kolumnen i ett befintligt statistikobjekt.

    Standardvärdet är PÅ. Vi rekommenderar att du använder standardinställningen för de flesta databaser.

  • OFF

    Frågeoptimeraren skapar inte statistik för enskilda kolumner i frågepredikat när den kompilerar frågor. Om du ställer in det här alternativet på AV kan det orsaka suboptimala frågeplaner och försämrad frågeprestanda.

Det här kommandot måste köras när du är ansluten till användardatabasen.

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

Styr databaskrypteringstillståndet.

KRYPTERING { PÅ | AV }

  • ON

    Anger att databasen ska krypteras.

  • OFF

    Anger att databasen inte ska krypteras.

Mer information om databaskryptering finns i Transparent datakryptering (TDE)och Transparent datakryptering för Azure SQL Database, Azure SQL Managed Instance och Azure Synapse Analytics.

När kryptering är aktiverat på databasnivå krypteras alla filgrupper. Alla nya filgrupper ärver den krypterade egenskapen. Om några filgrupper i databasen är inställda på SKRIVSKYDDad misslyckas databaskrypteringsåtgärden.

Du kan se krypteringstillståndet för databasen och krypteringsgenomsökningens tillstånd med hjälp av sys.dm_database_encryption_keys dynamisk hanteringsvy.

< > query_store_option ::=

Styr om Query Store är aktiverat i det här informationslagret.

QUERY_STORE { ON | AV }

  • ON

    Aktiverar Query Store.

  • OFF

    Inaktiverar Query Store. OFF är standardvärdet.

Note

För Azure Synapse Analytics måste du köra ALTER DATABASE SET QUERY_STORE från användardatabasen. Det går inte att köra -instruktionen från en annan instans av informationslagret.

Note

För Azure Synapse Analytics kan Query Store aktiveras som på andra plattformar, men ytterligare konfigurationsalternativ stöds inte.

< > result_set_caching_option ::=

Applies to: Azure Synapse Analytics

Styr om frågeresultatet cachelagras i databasen.

RESULT_SET_CACHING { ON | AV }

  • ON

    Anger att frågeresultatuppsättningar som returneras från den här databasen cachelagras i databasen.

  • OFF

    Anger att frågeresultatuppsättningar som returneras från den här databasen inte cachelagras i databasen.

Det här kommandot måste köras när det är anslutet till master-databasen. Ändringen av den här databasinställningen börjar gälla omedelbart. Lagringskostnader uppstår vid cachelagring av frågeresultatuppsättningar. När du har inaktiverat cachelagring av resultat för en databas tas den tidigare bevarade resultatcachen omedelbart bort från Azure Synapse-lagringen.

Kör det här kommandot för att kontrollera cachelagringskonfigurationen för en databas. Om cachelagring av resultatuppsättningar är aktiverat returnerar is_result_set_caching_on 1.

SELECT name, is_result_set_caching_on FROM sys.databases
WHERE name = <'Your_Database_Name'>

Kör det här kommandot för att kontrollera om en fråga kördes med cachelagrat resultat. Kolumnen result_cache_hit returnerar 1 för cacheträff, 0 för cachemiss och negativa värden av orsaker till varför cachelagring av resultatuppsättningar inte användes. 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

Åtgärder för att skapa resultatuppsättningscache och hämta data från cachen sker på kontrollnoden för en datalagerinstans. När cachelagring av resultatuppsättningar är aktiverat kan körning av frågor som returnerar stora resultatuppsättningar (till exempel >1 miljon rader) orsaka hög CPU-användning på kontrollnoden och sakta ned det övergripande frågesvaret på instansen. Dessa frågor används ofta vid datautforskning eller ETL-åtgärder. För att undvika att betona kontrollnoden och orsaka prestandaproblem bör användarna inaktivera cachelagring av resultatuppsättningar i databasen innan de kör dessa typer av frågor.

Mer information om prestandajustering med cachelagring av resultatuppsättningar finns i Vägledning för prestandajustering.

Permissions

Om du vill ange alternativet RESULT_SET_CACHING behöver en användare inloggning på servernivå (den som skapades av etableringsprocessen) eller vara medlem i dbmanager databasrollen.

< > snapshot_option ::=

Applies to: Azure Synapse Analytics

Styr transaktionsisoleringsnivån för en databas.

READ_COMMITTED_SNAPSHOT { ON | AV }

  • ON

    Aktiverar alternativet READ_COMMITTED_SNAPSHOT på databasnivå.

  • OFF

    Inaktivera alternativet READ_COMMITTED_SNAPSHOT på databasnivå.

Det här kommandot måste köras när det är anslutet till master-databasen. Om du aktiverar READ_COMMITTED_SNAPSHOT på eller av för en användardatabas avbryts alla öppna anslutningar till den här databasen. Du bör göra den här ändringen under en databasunderhållsperiod eller vänta tills det inte finns någon aktiv anslutning till databasen förutom anslutningen som kör KOMMANDOT ALTER DATABASE. Databasen behöver inte vara i enanvändarläge. Det går inte att ändra READ_COMMITTED_SNAPSHOT inställning på sessionsnivå. Kontrollera den här inställningen för en databas genom att kontrollera kolumnen is_read_committed_snapshot_on i sys.databases.

I en databas med READ_COMMITTED_SNAPSHOT aktiverad kan frågor få långsammare prestanda på grund av genomsökningen av versioner om flera dataversioner finns. Långöppna transaktioner kan också orsaka en ökning av databasens storlek. Det här problemet uppstår om det finns dataändringar av dessa transaktioner som blockerar versionsrensning.

Permissions

Om du vill ange alternativet READ_COMMITTED_SNAPSHOT behöver en användare ALTER-behörighet för databasen.

Examples

Kontrollera statistikinställningen för en databas

SELECT name, is_auto_create_stats_on FROM sys.databases

Aktivera Query Store för en databas

ALTER DATABASE [database_name]
SET QUERY_STORE = ON;

Aktivera cachelagring av resultatuppsättningar för en databas

-- Run this command when connecting to the MASTER database

ALTER DATABASE [database_name]
SET RESULT_SET_CACHING ON;

Kontrollera cachelagringsinställningen för resultatuppsättningen för en databas

SELECT name, is_result_set_caching_on
FROM sys.databases;

Aktivera alternativet Read_Committed_Snapshot för en databas

Kör det här kommandot när du ansluter till master-databasen.

ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON;

Microsoft Fabric

 

Microsoft Fabric

Använd ALTER DATABASE ... SET för att hantera ett Microsoft Fabric Warehouse.

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

Pausar eller återupptar Delta Lake-loggpublicering. Mer information finns i Delta Lake-loggpublicering.

VORDER

Kan inaktivera V-Order-beteende. Mer information finns i Inaktivera V-Order-beteende i ett lager.

TIMESTAMP

Uppdaterar tidsstämpeln för en befintlig lagerögonblicksbild i Fabric Data Warehouse. Tidsstämpeln måste anges i UTC-tidszonen. For more information, see Warehouse snapshots.

RESULT_SET_CACHING

Aktiverar eller inaktiverar cachelagring av resultatuppsättningar (förhandsversion) för det aktuella objektet. Mer information finns i Cachelagring av resultatuppsättningar.

Permissions

Användaren måste vara medlem i administratörs-, medlems- eller deltagarrollerna på arbetsytan Infrastruktur.

Examples

A. Pausa publiceringen av Delta Lake-loggar

Följande T-SQL-kommando pausar Delta Lake Log-publiceringen i den aktuella lagerkontexten.

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. Ange och kontrollera cachelagring av resultatuppsättningar (förhandsversion)

Med följande T-SQL-kommando kan objektet MyDataWarehouse börja skapa och tillämpa resultatuppsättningscache (förhandsversion) på tillämpliga SELECT frågor. Mer information finns i Cachelagring av resultatuppsättningar.

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;