Megosztás a következőn keresztül:


ALTER DATABASE SET options (Transact-SQL)

Beállítja a Microsoft SQL Server, az Azure SQL Database és az Azure Synapse Analytics adatbázis-beállításait. További ALTER DATABASE-beállítások: ALTER DATABASE.

Jegyzet

Az ALTER DATABASE bizonyos beállításainak megadása kizárólagos adatbázis-hozzáférést igényelhet. Ha az ALTER DATABASE utasítás nem fejeződik be időben, ellenőrizze, hogy az adatbázis többi munkamenete blokkolja-e az ALTER DATABASE-munkamenetet.

A szintaxisi konvenciókról további információt Transact-SQL szintaxiskonvenciákat.

Termék kiválasztása

A következő sorban válassza ki a kívánt terméknevet. Ezzel különböző tartalmakat jelenít meg ezen a weblapon, amely a kiválasztott terméknek felel meg.

* SQL Server *  

felügyelt SQL-példány

 

SQL Server

Az adatbázis-tükrözés, az Always On rendelkezésre állási csoportok és a kompatibilitási szintek SET lehetőségek, de a hosszuk miatt külön cikkekben szerepelnek. További információ: ALTER DATABASE Database Mirroring, ALTER DATABASE SET HADRés ALTER DATABASE kompatibilitási szintje.

Az adatbázis-hatókörű konfigurációk több adatbázis-konfiguráció beállítására szolgálnak az egyes adatbázisok szintjén. További információ: ALTER DATABASE SCOPED CONFIGURATION.

Jegyzet

Számos adatbáziskészlet-beállítás konfigurálható az aktuális munkamenethez SET utasítások használatával, és az alkalmazások gyakran konfigurálják őket csatlakozáskor. A munkamenetszintű beállítási beállítások felülbírálják a ALTER DATABASE SET értékeket. A következő szakaszokban ismertetett adatbázis-beállítások olyan értékek, amelyeket olyan munkamenetekhez állíthat be, amelyek nem adnak meg explicit módon más beállítási értékeket.

Szintaxis

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

Érvek

database_name

A módosítani kívánt adatbázis neve.

AKTUÁLIS

A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))

Futtatja a műveletet az aktuális adatbázisban. CURRENT nem támogatott minden beállítás minden környezetben. Ha CURRENT sikertelen, adja meg az adatbázis nevét.

< > accelerated_database_recovery ::=

A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))

Lehetővé teszi gyorsított adatbázis-helyreállítást (ADR). Az ADR alapértelmezés szerint KI értékre van állítva az SQL Server 2019 -ben (15.x) és újabb verzióiban. Ezzel a szintaxissal kijelölhet egy adott fájlcsoportot az állandó verziótár (PVS) adataihoz. Ha nincs megadva fájlcsoport, a PVS a PRIMARY fájlcsoportot használja. További információ: Gyorsított adatbázis-helyreállítás kezelése.

A ACCELERATED_DATABASE_RECOVERY be- vagy kikapcsolásához nem lehet aktív kapcsolat az adatbázishoz, kivéve az ALTER DATABASE parancsot futtató kapcsolatot. Az adatbázisnak azonban nem kell egyfelhasználós módban lennie. A beállítás állapotát csak akkor módosíthatja, ha az adatbázis ONLINE állapotú.

< > auto_option ::=

Automatikus beállításokat vezérel.

AUTO_CLOSE { ON | KI }

  • RA

    Az adatbázis teljesen le van állítva, és erőforrásai az utolsó felhasználó kilépése után felszabadulnak.

    Az adatbázis automatikusan újra megnyílik, amikor egy felhasználó újra megpróbálja használni az adatbázist. Ez a viselkedés például akkor fordul elő, ha egy felhasználó USE database_name utasítást ad ki. Előfordulhat, hogy az adatbázis teljesen leáll, AUTO_CLOSE BE értékre van állítva. Ha igen, az adatbázis csak akkor nyitja meg újra az adatbázist, ha egy felhasználó a következő újraindításkor megpróbálja használni az adatbázist.

    Az adatbázis leállítása után, amikor egy alkalmazás legközelebb megkísérli használni az adatbázist, először meg kell nyitni az adatbázist, majd az állapot online állapotúra változik. Ez eltarthat egy ideig, és az alkalmazás időtúllépését eredményezheti.

  • KI

    Az adatbázis az utolsó felhasználó kilépése után is nyitva marad.

    A AUTO_CLOSE beállítás asztali adatbázisok esetében hasznos, mert lehetővé teszi az adatbázisfájlok normál fájlokként való kezelését. Áthelyezhetők, másolhatók biztonsági másolatok készítéséhez, vagy akár e-mailben is elküldhetők más felhasználóknak. A AUTO_CLOSE folyamat aszinkron; Az adatbázis ismételt megnyitása és bezárása nem csökkenti a teljesítményt.

Jegyzet

A AUTO_CLOSE beállítás nem érhető el a tárolt adatbázisokban vagy az SQL Database-ben. A beállítás állapotát a is_auto_close_on katalógusnézet oszlopának vagy a IsAutoClose függvény tulajdonságának vizsgálatával határozhatja meg.

Ha AUTO_CLOSE be van állítva, a sys.databases katalógusnézetének egyes oszlopai és a DATABASEPROPERTYEX függvény null értéket ad vissza, mert az adatbázis nem tudja lekérni az adatokat. A probléma megoldásához futtasson egy USE utasítást az adatbázis megnyitásához.

Az adatbázis-tükrözéshez AUTO_CLOSE KI értékre kell állítani.

Ha az adatbázis AUTOCLOSE = ONértékre van állítva, az automatikus adatbázis-leállítást kezdeményező művelet törli az SQL Server-példány csomaggyorsítótárát. A tervgyorsítótár törlése az összes későbbi végrehajtási terv újrafordítását okozza, és a lekérdezési teljesítmény hirtelen, átmeneti csökkenését okozhatja. Az SQL Server 2005 (9.x) Service Pack 2 csomagtól kezdve a csomaggyorsítótár minden törölt gyorsítótár-tárolója esetében az SQL Server hibanaplója a következő tájékoztató üzenetet tartalmazza: 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. Ezt az üzenetet öt percenként naplózza a rendszer, amíg a gyorsítótárat az adott időintervallumon belül kiüríti a rendszer.

A AUTO_CLOSE beállítás hasznos funkció lehet bizonyos ritka helyzetekben, például olyan SQL Server-példányokban, amelyek nem rendelkeznek elegendő memóriával a nagy számú adatbázissal való stabil működéshez, vagy egy örökölt 32 bites SQL Server-példányhoz, amely nagy számú adatbázissal rendelkezik. Ilyen esetekben hasznos lehet engedélyezni AUTO_CLOSE és megőrizni az adatbázis megnyitásához szükséges memóriaerőforrásokat, ha nincs alkalmazás az adatbázis használatával. Az adatbázis megnyitásakor szükség van néhány alapértelmezett memóriafoglalásra (például belső struktúrákra, amelyek különböző adatbázis-metaadat-objektumokat és tranzakciónapló-puffereket jelölnek).

AUTO_CREATE_STATISTICS { ON | KI }

  • RA

    A Lekérdezésoptimalizáló szükség szerint statisztikai adatokat hoz létre a lekérdezési predikátumokban lévő egyetlen oszlopokról a lekérdezéstervek és a lekérdezési teljesítmény javítása érdekében. Ezek az egyoszlopos statisztikák akkor jönnek létre, amikor a Lekérdezésoptimalizáló lekérdezéseket fordít le. Az egyoszlopos statisztikák csak olyan oszlopokon jönnek létre, amelyek még nem egy meglévő statisztikai objektum első oszlopa.

    Az alapértelmezett beállítás be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.

  • KI

    A Lekérdezésoptimalizáló nem hoz létre statisztikát a lekérdezési predikátumok egyetlen oszlopáról, amikor lekérdezéseket állít össze. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.

A beállítás állapotát a is_auto_create_stats_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoCreateStatistics függvény tulajdonságának vizsgálatával is meghatározhatja.

További információ: "Az adatbázis-szintű statisztikák beállításainak használata" című szakasz Statisztika.

NÖVEKMÉNYES = BE | KI

A következővonatkozik: SQL Server (SQL Server 2014 (12.x)) és Azure SQL Database

Állítsa a AUTO_CREATE_STATISTICS BE értékre, és állítsa a Növekményes értéket BE értékre. Ez a készlet automatikusan növekményes statisztikát hozott létre, amikor a növekményes statisztikák támogatottak. Az alapértelmezett érték ki van kapcsolva. További információ: CREATE STATISTICS.

AUTO_SHRINK { ON | KI }

  • RA

    Az adatbázisfájlok rendszeres zsugorodásra alkalmasak. Ha nincs konkrét követelménye, ne állítsa be a AUTO_SHRINK adatbázis beállítását ON értékre. További információ: Adatbázis zsugorítása.

    Az adatfájlok és a naplófájlok is automatikusan lebomlhatnak. AUTO_SHRINK csak akkor csökkenti a tranzakciónapló méretét, ha egyszerű helyreállítási modellre állítja be az adatbázist, vagy ha biztonsági másolatot készít a naplóról. Ha ki AUTO_SHRINK állítani, az adatbázisfájlok nem zsugorodnak automatikusan a nem használt terület rendszeres ellenőrzése során.

    A AUTO_SHRINK beállítás csökkenti a fájlméretet, ha a fájl több mint 25 százaléka nem használt területet tartalmaz. Két méretre zsugorítja a fájlt (amelyik nagyobb):

    • Az a méret, amelyen a fájl 25 százaléka nem használt terület
    • A fájl mérete a létrehozáskor

    Írásvédett adatbázisok nem zsugorodhatnak.

  • KI

    Az adatbázisfájlok nem zsugorulnak automatikusan a nem használt terület rendszeres ellenőrzése során.

A beállítás állapotát a is_auto_shrink_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoShrink függvény tulajdonságának vizsgálatával is meghatározhatja.

Jegyzet

A AUTO_SHRINK beállítás nem érhető el a tartalmazott adatbázisokban.

AUTO_UPDATE_STATISTICS { ON | KI }

  • RA

    Megadja, hogy a Lekérdezésoptimalizáló frissíti a statisztikákat, amikor egy lekérdezés használja őket, és hogy mikor lehetnek elavultak. A statisztikák elavulttá válnak, miután a beszúrási, frissítési, törlési vagy egyesítési műveletek megváltoztatták az adateloszlást a táblázatban vagy indexelt nézetben. A Lekérdezésoptimalizáló úgy határozza meg, hogy a statisztikák mikor lehetnek elavultak, ha megszámolja az adatmódosítások számát az utolsó statisztikai frissítés óta, és összehasonlítja a módosítások számát egy küszöbértékhez. A küszöbérték a tábla vagy indexelt nézetben lévő sorok számán alapul.

    A Lekérdezésoptimalizáló a lekérdezés fordítása előtt ellenőrzi a elavult statisztikákat, és gyorsítótárazott lekérdezési tervet futtat. A Lekérdezésoptimalizáló a lekérdezési predikátum oszlopait, tábláit és indexelt nézeteit használja annak meghatározására, hogy mely statisztikák lehetnek elavultak. A Lekérdezésoptimalizáló ezt az információt a lekérdezés fordítása előtt határozza meg. A gyorsítótárazott lekérdezési terv futtatása előtt az adatbázismotor ellenőrzi, hogy a lekérdezésterv hivatkozik-e up-todátumstatisztikákra.

    A AUTO_UPDATE_STATISTICS beállítás az indexekhez, egyoszlopos lekérdezési predikátumokhoz és a CREATE STATISTICS utasítással létrehozott statisztikákhoz készült statisztikákra vonatkozik. Ez a beállítás a szűrt statisztikákra is vonatkozik.

    Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.

    A AUTO_UPDATE_STATISTICS_ASYNC beállítással megadhatja, hogy a statisztikák szinkronban vagy aszinkron módon frissülnek-e.

  • KI

    Azt adja meg, hogy a Lekérdezésoptimalizáló nem frissíti a statisztikákat, amikor egy lekérdezés használja őket. A Lekérdezésoptimalizáló nem frissíti a statisztikákat, ha esetleg elavultak. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.

A beállítás állapotát a is_auto_update_stats_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoUpdateStatistics függvény tulajdonságának vizsgálatával is meghatározhatja.

További információ: "Az adatbázis-szintű statisztikák beállításainak használata" című szakasz Statisztika.

AUTO_UPDATE_STATISTICS_ASYNC { ON | KI }

  • RA

    Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései aszinkronok- e. A Lekérdezésoptimalizáló nem várja meg, hogy a statisztikai frissítések befejeződjenek a lekérdezések fordítása előtt.

    Ha ezt a beállítást ON értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.

    Alapértelmezés szerint a AUTO_UPDATE_STATISTICS_ASYNC beállítás ki van kapcsolva, és a Lekérdezésoptimalizáló szinkronizálva frissíti a statisztikákat.

  • KI

    Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései szinkronban legyenek. A lekérdezésoptimalizáló megvárja, amíg a statisztikai frissítések befejeződnek a lekérdezések fordítása előtt.

    Jegyzet

    Ha ezt a beállítást KI értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.

A beállítás állapotát a is_auto_update_stats_async_on katalógusnézet oszlopának vizsgálatával határozhatja meg.

A szinkron vagy aszinkron statisztikai frissítések használatának időpontjáról további információt az Statistics"Statisztika beállításai" című szakaszában talál.

< > automatic_tuning_option ::=

A következővonatkozik: SQL Server (SQL Server 2017-től kezdve (14.x))

Engedélyezi vagy letiltja FORCE_LAST_GOOD_PLANautomatikus finomhangolási beállítást. Ennek a beállításnak az állapotát sys.database_automatic_tuning_optionsnézetben tekintheti meg.

FORCE_LAST_GOOD_PLAN = { DEFAULT | BE | KI }

  • ALAPÉRTELMEZETT

    Az SQL Server alapértelmezett értéke ki van kapcsolva.

  • RA

    Az adatbázismotor automatikusan kényszeríti az utolsó ismert jó tervet az Transact-SQL lekérdezésekre, ahol az új lekérdezési terv teljesítményregressziót okoz. Az adatbázismotor folyamatosan figyeli a Transact-SQL lekérdezés lekérdezési teljesítményét a kényszerített tervvel.

    Ha teljesítménynövekedés tapasztalható, az adatbázismotor a legutóbbi ismert jó tervet használja. Ha a rendszer nem észlel teljesítménynövekedést, az adatbázismotor létrehoz egy új lekérdezési tervet. Az utasítás meghiúsul, ha a Lekérdezéstár nincs engedélyezve, vagy ha a lekérdezéstár nincs írásvédett módban.

  • KI

    Az adatbázismotor sys.dm_db_tuning_recommendations nézetben a lekérdezésterv változásai által okozott lehetséges lekérdezési teljesítményregressziókat jelenti. Ezek a javaslatok azonban nem lesznek automatikusan alkalmazva. A felhasználók figyelhetik az aktív javaslatokat, és megoldhatják az azonosított problémákat a nézetben megjelenő Transact-SQL szkriptek alkalmazásával. Az alapértelmezett érték ki van kapcsolva.

< > change_tracking_option ::=

A következővonatkozik: SQL Server és Azure SQL Database

A vezérlők módosítják a követési beállításokat. Engedélyezheti a változáskövetést, beállíthatja a beállításokat, módosíthatja a beállításokat, és letilthatja a változáskövetést. Példákért lásd a cikk későbbi, Példák szakaszát.

  • RA

    Engedélyezi az adatbázis változáskövetését. Ha engedélyezi a változáskövetést, beállíthatja az AUTOMATIKUS TÖRLÉS és A MÓDOSÍTÁS MEGŐRZÉSE beállítást is.

  • AUTO_CLEANUP = { ON | KI }

    • RA

      A változáskövetési adatok a megadott megőrzési időszak után automatikusan törlődnek.

    • KI

      A változáskövetési adatok nem törlődnek automatikusan az adatbázisból.

  • CHANGE_RETENTION = retention_period { DAYS | ÓRA | PERC }

    Meghatározza a változáskövetési adatok adatbázisban való megőrzésének minimális időtartamát. Az adatok csak akkor lesznek eltávolítva, ha a AUTO_CLEANUP érték be van kapcsolva.

    retention_period egy egész szám, amely a megőrzési időszak numerikus összetevőjét adja meg.

    Az alapértelmezett megőrzési időszak 2 nap. A minimális megőrzési idő 1 perc. Az alapértelmezett adatmegőrzési típus DAYS.

  • OFF letiltja az adatbázis változáskövetését. Tiltsa le a változáskövetést az összes táblán, mielőtt letiltja a változáskövetést az adatbázisból.

< > containment_option ::=

A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))

Az adatbázis-elszigetelési beállításokat szabályozza.

CONTAINMENT = { NONE | RÉSZLEGES}

  • Egyik sem

    Az adatbázis nem tartalmazott adatbázist.

  • RÉSZLEGES

    Az adatbázis tartalmazott adatbázis. Az adatbázis-elszigetelés részlegesre állítása meghiúsul, ha az adatbázis rendelkezik replikációval, adatrögzítéssel vagy változáskövetéssel. A hibaellenőrzés egy hiba után leáll. A tartalmazott adatbázisokról további információt a Tartalmazott adatbázisokcímű témakörben talál.

< > cursor_option ::=

A kurzor beállításait szabályozza.

CURSOR_CLOSE_ON_COMMIT { ON | KI }

  • RA

    A tranzakciók véglegesítésekor vagy visszagörgetésekor megnyíló kurzorok bezáródnak.

  • KI

    A kurzorok nyitva maradnak a tranzakció véglegesítésekor; A tranzakciók visszagördítése bezárja a kurzorokat, kivéve az INSENSITIVE vagy STATIC néven definiált kurzorokat.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CURSOR_CLOSE_ON_COMMIT alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint ki CURSOR_CLOSE_ON_COMMIT állítani a kapcsolatszintű SET utasítást a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET CURSOR_CLOSE_ON_COMMIT.

A beállítás állapotát a is_cursor_close_on_commit_on katalógusnézet oszlopának vagy a IsCloseCursorsOnCommitEnabled függvény tulajdonságának vizsgálatával határozhatja meg.

CURSOR_DEFAULT { LOCAL | GLOBAL }

A következővonatkozik: SQL Server

Azt szabályozza, hogy a kurzor hatóköre a LOCAL vagy a GLOBAL függvényt használja-e.

  • HELYI

    Ha a HELYI értéket adja meg, és a kurzor létrehozásakor nem globálisként definiálja a kurzort, a kurzor hatóköre helyi. A hatókör pontosabban annak a kötegnek, tárolt eljárásnak vagy eseményindítónak a helyi része, amelyben a kurzort létrehozta. A kurzornév csak ezen a hatókörön belül érvényes.

    A kurzorra a köteg helyi kurzorváltozói, a tárolt eljárás vagy az eseményindító, illetve a tárolt eljárás OUTPUT paramétere hivatkozhat. A kurzor implicit módon lesz felszabadítva, amikor a köteg, a tárolt eljárás vagy az eseményindító véget ér. A kurzor csak akkor lesz felszabadítva, ha a kurzort vissza nem adták egy OUTPUT paraméterben. Előfordulhat, hogy a kurzor visszakerül egy OUTPUT paraméterbe. Ha a kurzor így halad vissza, a kurzor felszabadítva lesz, amikor a kurzorra hivatkozó utolsó változó felszabadítva van, vagy kimegy a hatókörből.

  • GLOBÁLIS

    Ha a GLOBAL paraméter meg van adva, és a kurzor létrehozásakor a kurzor nem HELYI értékként van definiálva, a kurzor hatóköre globális a kapcsolathoz. A kurzor nevére bármely tárolt eljárásban vagy kötegben hivatkozhat, amelyet a kapcsolat hajt végre.

    A kurzor implicit módon csak leválasztáskor van felszabadítva. További információ: KURZOR DEKLARÁLÁSA.

A beállítás állapotát a is_local_cursor_default katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsLocalCursorsDefault függvény tulajdonságának vizsgálatával is meghatározhatja.

< > temporal_history_retention ::=

TEMPORAL_HISTORY_RETENTION { ON | KI }

Alapértelmezés szerint be van kapcsolva, de automatikusan kikapcsolja az időkorlát utáni visszaállítási műveletet. A beállítás engedélyezéséről további információt Adatmegőrzési szabályzatcímű témakörben talál.

< > data_retention_policy ::=

Csak az Azure SQL Edgevonatkozik.

DATA_RETENTION { ON | KI }

  • RA

    Engedélyezi az adatmegőrzési szabályzaton alapuló törlést egy adatbázisban.

  • KI

    Letiltja az adatmegőrzési szabályzaton alapuló törlést egy adatbázisban.

<database_mirroring>

A következővonatkozik: SQL Server

Az argumentum leírásáért lásd ALTER DATABASE Adatbázis-tükrözési.

< > date_correlation_optimization_option ::=

A következővonatkozik: SQL Server

A date_correlation_optimization beállítást vezérli.

DATE_CORRELATION_OPTIMIZATION { ON | KI }

  • RA

    Az SQL Server olyan korrelációs statisztikákat tart fenn, amelyekben egy IDEGEN KULCS kényszer az adatbázis két táblájának összekapcsolása, a táblák pedig datetime oszlopokkal rendelkeznek.

  • KI

    A korrelációs statisztikák nem maradnak fenn.

Az DATE_CORRELATION_OPTIMIZATION ON értékre állításához az ALTER DATABASE utasítást végrehajtó kapcsolaton kívül nem lehet aktív kapcsolat az adatbázishoz. Ezt követően több kapcsolat is támogatott.

Ennek a beállításnak az aktuális beállítása a is_date_correlation_on katalógusnézet oszlopának vizsgálatával határozható meg.

< > db_encryption_option ::=

Az adatbázis titkosítási állapotát szabályozza.

TITKOSÍTÁS { BE | KI | FELFÜGGESZTÉS | ÖNÉLETRAJZ }

  • RA

    Beállítja az adatbázis titkosítását.

  • KI

    Beállítja, hogy az adatbázis ne legyen titkosítva.

  • FELFÜGGESZT

    A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))

    A titkosítási vizsgálat szüneteltetésére használható a transzparens adattitkosítás engedélyezése vagy letiltása, illetve a titkosítási kulcs módosítása után.

  • ÚJRAKEZD

    A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))

    A korábban szüneteltetett titkosítási vizsgálat folytatásához használható.

További információ az adatbázis-titkosításról: Transzparens adattitkosítás (TDE), és Transzparens adattitkosítás az Azure SQL Database, az Azure SQL Managed Instance és az Azure Synapse Analytics.

Ha az adatbázis szintjén engedélyezve van a titkosítás, az összes fájlcsoport titkosítva lesz. Minden új fájlcsoport örökli a titkosított tulajdonságot. Ha az adatbázis bármely fájlcsoportja ÍRÁSVÉDETT értékre van állítva, az adatbázis titkosítási művelete meghiúsul.

Az adatbázis titkosítási állapotát és a titkosítási vizsgálat állapotát a sys.dm_database_encryption_keys dinamikus felügyeleti nézet használatával tekintheti meg.

< > db_state_option ::=

A következővonatkozik: SQL Server

Az adatbázis állapotát szabályozza.

  • Offline

    Az adatbázis le van zárva, le van állítva, és offline állapotban van megjelölve. Az adatbázis offline állapotban nem módosítható.

  • ONLINE

    Az adatbázis meg van nyitva és használható.

  • SÜRGŐSSÉGI

    Az adatbázis READ_ONLY van megjelölve, a naplózás le van tiltva, és a hozzáférés a sysadmin rögzített kiszolgálói szerepkör tagjaira korlátozódik. A VÉSZHELYZET elsősorban hibaelhárítási célokra használatos. Egy sérült naplófájl miatt gyanúsként megjelölt adatbázis például a VÉSZHELYZET állapotra állítható be. Ezzel a beállítással a rendszergazda írásvédett hozzáférést adhat az adatbázishoz. Az adatbázist csak a sysadmin rögzített kiszolgálói szerepkör tagjai állíthatják be vészhelyzeti állapotra.

A tulajdonos adatbázisának ALTER DATABASE engedélyére van szüksége, hogy az adatbázist offline vagy vészhelyzeti állapotra módosítsa, a kiszolgálószint pedig ALTER ANY DATABASE engedélyt az adatbázis offline állapotból online állapotba helyezéséhez.

A beállítás állapotát a state katalógusnézet state_desc és oszlopainak vizsgálatával határozhatja meg. Az állapotot az Status függvény tulajdonságának vizsgálatával is meghatározhatja. További információ: Adatbázisállapotok.

A VISSZAÁLLÍTÁSként megjelölt adatbázisok nem állíthatók BE OFFLINE, ONLINE vagy VÉSZHELYZET értékre. Egy adatbázis lehet VISSZAÁLLÍTÁS állapotban egy aktív visszaállítási művelet során, vagy ha egy adatbázis vagy naplófájl visszaállítási művelete meghiúsul egy sérült biztonsági mentési fájl miatt.

< > db_update_option ::=

Azt szabályozza, hogy a frissítések engedélyezve legyenek-e az adatbázisban.

  • READ_ONLY

    A felhasználók adatokat olvashatnak az adatbázisból, de nem módosíthatják őket.

    Jegyzet

    A lekérdezési teljesítmény javítása érdekében frissítse a statisztikákat, mielőtt egy adatbázist READ_ONLY állít be. Ha az adatbázis READ_ONLY beállítása után további statisztikákra van szükség, az adatbázismotor statisztikákat hoz létre a tempdb rendszeradatbázisban. További információ a csak olvasható adatbázisok statisztikáiról: Statistics.

  • OLVASÁS_ÍRÁS

    Az adatbázis olvasási és írási műveletekhez érhető el.

Az állapot módosításához kizárólagos hozzáféréssel kell rendelkeznie az adatbázishoz. További információ: SINGLE_USER záradék.

Jegyzet

Az Összevont Azure SQL Database-adatbázisokon a SET { READ_ONLY | READ_WRITE } le van tiltva.

< > db_user_access_option ::=

Szabályozza a felhasználók hozzáférését az adatbázishoz.

SINGLE_USER

A következővonatkozik: SQL Server

Megadja, hogy egyszerre csak egy felhasználó férhessen hozzá az adatbázishoz. Ha SINGLE_USER ad meg, és egy másik felhasználó csatlakozik az adatbázishoz, az ALTER DATABASE utasítás le lesz tiltva, amíg az összes felhasználó nem csatlakozik a megadott adatbázishoz. A viselkedés felülbírálásához tekintse meg a WITH <végződési> záradékot.

Az adatbázis akkor is SINGLE_USER módban marad, ha a beállítást beállítva felhasználó kijelentkezik. Ekkor egy másik felhasználó, de csak egy csatlakozhat az adatbázishoz.

Mielőtt az adatbázist SINGLE_USER értékre állítja, ellenőrizze, hogy a AUTO_UPDATE_STATISTICS_ASYNC beállítás ki van-e kapcsolva. Ha be van kapcsolva, a statisztikák frissítéséhez használt háttérszál kapcsolatot létesít az adatbázissal, és nem fér hozzá az adatbázishoz egyfelhasználós módban. A beállítás állapotának megtekintéséhez kérdezze le a is_auto_update_stats_async_on oszlopot a sys.databases katalógusnézetében. Ha a beállítás be van kapcsolva, hajtsa végre a következő feladatokat:

  1. Állítsa AUTO_UPDATE_STATISTICS_ASYNC KI értékre.

  2. Ellenőrizze az aktív aszinkron statisztikai feladatokat a sys.dm_exec_background_job_queue dinamikus felügyeleti nézet lekérdezésével.

Ha vannak aktív feladatok, engedélyezze a feladatok befejezését vagy manuális leállítását KILL STATS JOBhasználatával.

KORLÁTOZOTT_FELHASZNÁLÓ

Csak a db_owner rögzített adatbázis-szerepkör, valamint dbcreator és sysadmin rögzített kiszolgálói szerepkörök tagjai csatlakozhatnak az adatbázishoz. RESTRICTED_USER nem korlátozza a számukat. Az ALTER DATABASE utasítás záró záradékában megadott időkeret használatával bontsa le az adatbázishoz való összes kapcsolatot. Miután az adatbázis a RESTRICTED_USER állapotra váltott, a rendszer elutasítja a nem minősített felhasználók csatlakozási kísérleteit.

többfelhasználós

Minden olyan felhasználó, aki rendelkezik a megfelelő engedélyekkel az adatbázishoz való csatlakozáshoz. A beállítás állapotát a user_access katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az UserAccess függvény tulajdonságának vizsgálatával is meghatározhatja.

< > delayed_durability_option ::=

A következővonatkozik: SQL Server (SQL Server 2014-től kezdve (12.x))

Azt szabályozza, hogy a tranzakciók teljesen tartósak vagy késleltetettek-e.

  • FOGYATÉKOS

    Az SET DISABLED utáni tranzakciók teljes mértékben tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.

  • MEGENGEDETT

    Az SET ALLOWED utáni összes tranzakció teljesen tartós vagy késleltetett, az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítástól függően.

  • ERŐLTETETT

    A SET FORCED követő tranzakciók tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.

< > external_access_option ::=

A következővonatkozik: SQL Server

Azt szabályozza, hogy az adatbázis külső erőforrások, például egy másik adatbázis objektumai által elérhető-e.

DB_CHAINING { ON | KI }

  • RA

    Az adatbázis lehet egy adatbázisközi tulajdonosi lánc forrása vagy célja.

  • KI

    Az adatbázis nem vehet részt az adatbázis-tulajdonjogok közötti láncolásban.

Fontos

Az SQL Server példánya akkor ismeri fel ezt a beállítást, ha a tulajdonosközi láncoló kiszolgáló beállítás értéke 0 (KI). Ha a több adatbázis tulajdonjogának láncolása 1 (ON), minden felhasználói adatbázis részt vehet adatbázisközi tulajdonjogi láncokban, függetlenül a lehetőség értékétől. Ez a beállítás a sp_configurehasználatával van beállítva.

A beállítás beállításához CONTROL SERVER engedély szükséges az adatbázishoz.

A DB_CHAINING beállítás nem állítható be a master, modelés tempdb rendszeradatbázisokon.

A beállítás állapotát a is_db_chaining_on katalógusnézet oszlopának vizsgálatával határozhatja meg.

TRUSTWORTHY { ON | KI }

  • RA

    A megszemélyesítési környezetet használó adatbázismodulok (például felhasználó által definiált függvények vagy tárolt eljárások) hozzáférhetnek az adatbázison kívüli erőforrásokhoz.

  • KI

    A megszemélyesítési környezet adatbázismoduljai nem férnek hozzá az adatbázison kívüli erőforrásokhoz.

    A TRUSTWORTHY ki van kapcsolva az adatbázis csatolásakor.

Alapértelmezés szerint az msdb adatbázis kivételével az összes rendszeradatbázisNÁL KI van kapcsolva a TRUSTWORTHY beállítás. Az érték nem módosítható a model és tempdb adatbázisok esetében. Azt javasoljuk, hogy soha ne állítsa be a TRUSTWORTHY beállítást a master adatbázishoz.

A beállítás beállításához CONTROL SERVER engedély szükséges az adatbázishoz.

A beállítás állapotát a is_trustworthy_on katalógusnézet oszlopának vizsgálatával határozhatja meg.

DEFAULT_FULLTEXT_LANGUAGE

A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))

A teljes szövegű indexelt oszlopok alapértelmezett nyelvi értékét adja meg.

Fontos

Ez a beállítás csak akkor engedélyezett, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.

DEFAULT_LANGUAGE

A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))

Az újonnan létrehozott bejelentkezések alapértelmezett nyelvét adja meg. A nyelv a helyi azonosító (lcid), a nyelvnév vagy a nyelvi alias megadásával adható meg. Az elfogadható nyelvnevek és aliasok listáját a sys.syslanguagescímű témakörben találja. Ez a beállítás csak akkor engedélyezett, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.

NESTED_TRIGGERS

A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))

Megadja, hogy egy AFTER-eseményindító kaszkádolt-e; vagyis egy másik eseményindítót kezdeményező műveletet hajt végre, amely egy másik eseményindítót indít el stb. Ez a beállítás csak akkor engedélyezett, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.

TRANSFORM_NOISE_WORDS

A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))

A hibaüzenetek letiltására szolgál, ha a zajszavak vagy stopszavak logikai műveletet okoznak egy teljes szöveges lekérdezésen. Ez a beállítás csak akkor engedélyezett, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.

TWO_DIGIT_YEAR_CUTOFF

A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))

Az 1753 és 9999 közötti egész számot adja meg, amely a kétjegyű évek négyjegyű évként való értelmezésének kivágási évét jelöli. Ez a beállítás csak akkor engedélyezett, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.

< > FILESTREAM_option ::=

A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))

Szabályozza a FileTables beállításait.

NON_TRANSACTED_ACCESS = { KI | READ_ONLY | FULL }

  • KI

    A FileTable-adatokhoz való nem tranzakciós hozzáférés le van tiltva.

  • READ_ONLY

    Az adatbázisban található FileTables FILESTREAM-adatai nem tranzakciós folyamatok által olvashatók.

  • TELE

    Engedélyezi a FILESTREAM-adatok teljes, nem tranzakciós elérését a FileTablesban.

DIRECTORY_NAME = <directory_name>

Windows-kompatibilis címtárnév. Ennek a névnek egyedinek kell lennie az SQL Server-példány összes adatbázisszintű címtárneve között. Az egyediség-összehasonlítás a rendezési beállításoktól függetlenül érzéketlen a kis- és nagybetűk között. Ezt a beállítást be kell állítani, mielőtt létrehoz egy Fájltáblát ebben az adatbázisban.

< > HADR_options ::=

A következővonatkozik: SQL Server

Lásd ALTER DATABASE SET HADR.

< > mixed_page_allocation_option ::=

A következővonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))

Azt szabályozza, hogy az adatbázis létrehozhat-e kezdeti oldalakat vegyes mértékben egy tábla vagy index első nyolc oldalához.

MIXED_PAGE_ALLOCATION { KI | ON }

  • KI

    Az adatbázis mindig egységes terjedelmével hozza létre a kezdeti oldalakat. A KI az alapértelmezett érték.

  • RA

    Az adatbázis vegyes mértékben hozhat létre kezdeti oldalakat.

Ez a beállítás mindig be van kapcsolva az összes rendszeradatbázishoz, kivéve tempdb, ahol mindig ki van kapcsolva. A beállítás a rendszeradatbázisok esetében nem módosítható.

< > PARAMETERIZATION_option ::=

A paraméterezési beállítást szabályozza. A paraméterezésről további információt a lekérdezésfeldolgozási architektúra útmutatójábantalál.

PARAMÉTEREZÉS { SIMPLE | KÉNYSZERÍTETT }

  • EGYSZERŰ

    A lekérdezések az adatbázis alapértelmezett viselkedése alapján vannak paraméterezve.

  • ERŐLTETETT

    Az SQL Server paraméterezi az adatbázis összes lekérdezését.

Ennek a beállításnak az aktuális beállítása a is_parameterization_forced katalógusnézet oszlopának vizsgálatával határozható meg.

< > query_store_options ::=

A következővonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))

BE | KI [ ( KÉNYSZERÍTETT ) ] | CLEAR [ ALL ]

Azt szabályozza, hogy a lekérdezéstár engedélyezve van-e az adatbázisban, és a lekérdezéstár tartalmának eltávolítását is szabályozza. További információ: Lekérdezéstár használati forgatókönyvei.

  • RA

    Engedélyezi a lekérdezéstárat.

    Az SQL Server 2022 (16.x) számos új teljesítményfunkciója, például a lekérdezéstár-tippek, a CE-visszajelzések, a párhuzamosság foka (DOP) és a memóriahasználati visszajelzések (MGF) megőrzéséhez engedélyezni kellett a Lekérdezéstárat. A más SQL Server-példányokból visszaállított adatbázisok és az SQL Server 2022-re (16.x) frissített adatbázisok esetében ezek az adatbázisok megőrzik a lekérdezéstár korábbi beállításait. Ha aggodalomra ad okot a terheléses lekérdezéstár bevezetése, a rendszergazdák egyéni rögzítési szabályzatokat használhatnakQUERY_CAPTURE_MODE = CUSTOM. A lekérdezéstár egyéni rögzítési házirend-beállításokkal való engedélyezésére vonatkozó példákért tekintse meg a cikk későbbi, Példák szakaszát.

  • KI [ ( KÉNYSZERÍTETT ) ]

    Letiltja a lekérdezéstárat. A KÉNYSZERÍTETT nem kötelező. A KÉNYSZERÍTETT megszakítja az összes futó Lekérdezéstár háttérfeladatot, és kihagyja a szinkron kiürítést, amikor a Lekérdezéstár ki van kapcsolva. A lekérdezéstár a lehető leggyorsabban leáll. A FORCED az SQL Server 2016 (13.x) SP2 CU14, az SQL Server 2017 (14.x) CU21, az SQL Server 2019 (15.x) CU6 és újabb buildekre vonatkozik.

    Jegyzet

    A Lekérdezéstár nem tiltható le az Azure SQL Database-ben. A ALTER DATABASE [database] SET QUERY_STORE = OFF végrehajtása a figyelmeztetési 'QUERY_STORE=OFF' is not supported in this version of SQL Server..

  • CLEAR [ ALL ]

    Eltávolítja a lekérdezéssel kapcsolatos adatokat a Lekérdezéstárból. Az ALL nem kötelező. Az ALL eltávolítja a lekérdezéssel kapcsolatos adatokat és metaadatokat a Lekérdezéstárból.

OPERATION_MODE { READ_ONLY | READ_WRITE }

A lekérdezéstár működési módját ismerteti.

OLVASÁS_ÍRÁS

A Lekérdezéstár összegyűjti és megőrzi a lekérdezésterv és a futtatókörnyezet végrehajtási statisztikáinak adatait.

READ_ONLY

Az információk olvashatók a lekérdezéstárból, de nem adnak hozzá új információkat. Ha a lekérdezéstár maximális kiadott területe kimerült, a lekérdezéstár a működési módját READ_ONLY értékre módosítja.

CLEANUP_POLICY

A lekérdezéstár adatmegőrzési szabályzatát ismerteti. STALE_QUERY_THRESHOLD_DAYS határozza meg, hogy hány napig őrizhetők meg a lekérdezés adatai a Lekérdezéstárban. STALE_QUERY_THRESHOLD_DAYS biginttípus. Az alapértelmezett érték 30.

ADAT_FLUSH_INTERVALLUM_MÁSODPERCBEN

Meghatározza a lekérdezéstárba írt adatok lemezen való megőrzésének gyakoriságát. A teljesítmény optimalizálása érdekében a lekérdezéstár által gyűjtött adatok aszinkron módon lesznek megírva a lemezre. Az aszinkron átvitel gyakorisága a DATA_FLUSH_INTERVAL_SECONDS argumentum használatával van konfigurálva. DATA_FLUSH_INTERVAL_SECONDS biginttípus. Az alapértelmezett érték 900 (15 perc).

MAX_STORAGE_SIZE_MB

Meghatározza a lekérdezéstárnak kibocsátott területet. MAX_STORAGE_SIZE_MB biginttípus. Az alapértelmezett érték az SQL Server (SQL Server 2016 (13.x) és az SQL Server 2017 (14.x) 100 MB-os. Az SQL Server 2019 -től kezdve (15.x) az alapértelmezett érték 1000 MB.

MAX_STORAGE_SIZE_MB korlát nem szigorúan érvényes. A tárterület méretét csak akkor ellenőrzi a rendszer, ha a Lekérdezéstár adatokat ír lemezre. Ezt az időközt a DATA_FLUSH_INTERVAL_SECONDS beállítás vagy a Management Studio Lekérdezéstár párbeszédpanel adatöblítési időközállítja be. Az intervallum alapértelmezett értéke 900 másodperc (vagy 15 perc).

Ha a lekérdezéstár túllépte a tárméret-ellenőrzések közötti MAX_STORAGE_SIZE_MB korlátot, akkor írásvédett üzemmódra vált. Ha SIZE_BASED_CLEANUP_MODE engedélyezve van, a MAX_STORAGE_SIZE_MB korlátot kényszerítő törlési mechanizmus is aktiválódik.

Ha már nincs elég szabad terület, a Lekérdezéstár mód automatikusan visszavált olvasási-írási módra.

Fontos

Ha úgy gondolja, hogy a számítási feladatok rögzítéséhez több mint 10 GB lemezterületre van szükség, érdemes újragondolnia és optimalizálnia a számítási feladatot a lekérdezési tervek újrafelhasználására (például kényszerített paraméterezési, vagy módosítania kell a lekérdezéstár konfigurációit. Az SQL Server 2019 -től (15.x) és az Azure SQL Database-ben QUERY_CAPTURE_MODE EGYÉNI értékre állíthatja a lekérdezésrögzítési szabályzat további szabályozásához.

INTERVALLUM_HOSSZA_PERCEKBEN

Azt az időintervallumot határozza meg, amikor a futtatókörnyezet végrehajtási statisztikáinak adatai összesítve lesznek a lekérdezéstárban. A helyhasználat optimalizálása érdekében a futtatókörnyezeti stats store futtatókörnyezeti végrehajtási statisztikái rögzített időkeretben vannak összesítve. Ez a rögzített időkeret a INTERVAL_LENGTH_MINUTES argumentum használatával van konfigurálva. INTERVAL_LENGTH_MINUTES biginttípus. Az alapértelmezett érték 60.

SIZE_BASED_CLEANUP_MODE { AUTO | KI }

Azt szabályozza, hogy a törlés automatikusan aktiválódik-e, ha az adatok teljes mennyisége megközelíti a maximális méretet.

  • KOCSI

    A méretalapú törlés automatikusan aktiválódik, ha a lemez mérete eléri a MAX_STORAGE_SIZE_MB90%. A méretalapú törlés először a legkevésbé költséges és legrégebbi lekérdezéseket távolítja el. Körülbelül 80% MAX_STORAGE_SIZE_MBáll meg. Ez az alapértelmezett konfigurációs érték.

  • KI

    A méretalapú törlés nem aktiválódik automatikusan.

SIZE_BASED_CLEANUP_MODE nvarchartípus.

QUERY_CAPTURE_MODE { ALL | AUTO | EGYÉNI | NONE }

A jelenleg aktív lekérdezésrögzítési módot jelöli ki. Minden mód meghatározott lekérdezésrögzítési szabályzatokat határoz meg. QUERY_CAPTURE_MODE nvarchartípus.

Jegyzet

A kurzorok, a tárolt eljárásokon belüli lekérdezések és a natívan lefordított lekérdezések mindig rögzítve lesznek, ha a lekérdezésrögzítési mód ALL, AUTO vagy CUSTOM értékre van állítva.

  • ÖSSZES

    Az összes lekérdezést rögzíti. AZ ÖSSZES az SQL Server (SQL Server 2016 (13.x) és az SQL Server 2017 (14.x) alapértelmezett konfigurációs értéke.

  • KOCSI

    Rögzítse a releváns lekérdezéseket a végrehajtások száma és az erőforrás-felhasználás alapján. Ez az SQL Server (AZ SQL Server 2019 (15.x)) és az Azure SQL Database alapértelmezett konfigurációs értéke.

  • Egyik sem

    Új lekérdezések rögzítésének leállítása. A Lekérdezéstár továbbra is gyűjti a már rögzített lekérdezések fordítási és futásidejű statisztikáit. Körültekintően használja ezt a konfigurációt, mivel előfordulhat, hogy nem rögzíti a fontos lekérdezéseket.

  • SZOKÁS

    A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))

    Lehetővé teszi a QUERY_CAPTURE_POLICY beállításokvezérlését. Az egyéni rögzítési szabályzatok segítségével a Lekérdezéstár rögzítheti a számítási feladat legfontosabb lekérdezéseit. A testre szabható lehetőségekért tekintse meg a <query_capture_policy_option_list>.

MAX_PLANS_PER_QUERY

Meghatározza az egyes lekérdezésekhez fenntartott tervek maximális számát. MAX_PLANS_PER_QUERY inttípus. Az alapértelmezett érték 200.

WAIT_STATS_CAPTURE_MODE { ON | KI }

A következővonatkozik: SQL Server (SQL Server 2017-től kezdve (14.x))

Azt határozza meg, hogy a rendszer lekérdezésenként rögzíti-e a várakozási statisztikákat.

  • RA

    A lekérdezésenkénti várakozási statisztikák adatai rögzítve lesznek. Ez az alapértelmezett konfigurációs érték.

  • KI

    A lekérdezésenkénti várakozási statisztikai adatok nincsenek rögzítve.

< > query_capture_policy_option_list :: =

A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))

A Lekérdezéstár rögzítési házirend beállításait szabályozza. A STALE_CAPTURE_POLICY_THRESHOLD kivételével ezek a beállítások határozzák meg azokat az OR feltételeket, amelyek szükségesek ahhoz, hogy a lekérdezések rögzítve legyenek a meghatározott elavult rögzítési szabályzat küszöbértékében.

Az SQL Server 2019 -től (15.x) kezdődően a QUERY_CAPTURE_MODE = AUTO beállítás rögzíti a Lekérdezéstár adatait, ha a következő küszöbértékek bármelyikét eléri:

  • EXECUTION_COUNT = 30 végrehajtás = végrehajtások száma
  • TOTAL_COMPILE_CPU_TIME_MS = 1 másodperc = fordítási idő ezredmásodpercben
  • TOTAL_EXECUTION_CPU_TIME_MS = 100 ms = végrehajtási processzoridő ezredmásodpercben

Például:

EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100

Ezeket a beállításokat a következő QUERY_CAPTURE_MODE = CUSTOMszabhatja testre:

  • STALE_CAPTURE_POLICY_THRESHOLD = egész szám { DAYS | ÓRA }

    Meghatározza a kiértékelési időközt annak megállapításához, hogy egy lekérdezést rögzíteni kell-e. Az alapértelmezett érték 1 nap, és 1 órától hét napig állítható be.

  • EXECUTION_COUNT = egész szám

    Azt határozza meg, hogy a lekérdezések hányszor lesznek végrehajtva a kiértékelési időszakban. Az alapértelmezett érték 30, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén egy lekérdezésnek legalább 30 alkalommal kell végrehajtania egy nap alatt, hogy a lekérdezéstárban megmaradjon. EXECUTION_COUNT inttípus.

  • TOTAL_COMPILE_CPU_TIME_MS = egész szám

    Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes fordítási CPU-időt. Az alapértelmezett érték 1000, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén a lekérdezésnek egy nap alatt a lekérdezés-fordítás során eltöltött processzoridőnek legalább egy másodpercével kell rendelkeznie ahhoz, hogy a lekérdezéstárban megmaradjon. TOTAL_COMPILE_CPU_TIME_MS inttípus.

  • TOTAL_EXECUTION_CPU_TIME_MS = egész szám

    Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes végrehajtási CPU-időt. Az alapértelmezett érték 100, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén a lekérdezésnek legalább 100 ms processzoridővel kell rendelkeznie, amelyet egy nap alatt a lekérdezéstárban kell tárolnia. TOTAL_EXECUTION_CPU_TIME_MS inttípus.

< > recovery_option ::=

A következővonatkozik: SQL Server

Szabályozza az adatbázis-helyreállítási beállításokat és a lemez I/O-hibaellenőrzését.

  • TELE

    Teljes helyreállítást biztosít a médiahiba után a tranzakciónapló biztonsági másolatainak használatával. Ha egy adatfájl sérült, a média helyreállítása visszaállíthatja az összes véglegesített tranzakciót. További információ: Recovery-modellek.

  • BULK_LOGGED

    Médiahiba utáni helyreállítást biztosít. Kombinálja a legjobb teljesítményt és a minimális mennyiségű naplóterületet bizonyos nagy léptékű vagy tömeges műveletekhez. A minimálisan naplózható műveletekről a A tranzakciónaplócímű témakörben talál további információt. A BULK_LOGGED helyreállítási modellben ezeknek a műveleteknek a naplózása minimális. További információ: Recovery-modellek.

  • EGYSZERŰ

    A rendszer egy egyszerű biztonsági mentési stratégiát biztosít, amely minimális naplóterületet használ. A naplóterület automatikusan újra felhasználható, ha már nincs rá szükség a kiszolgálóhibák helyreállításához. További információ: Recovery-modellek.

    Fontos

    Az egyszerű helyreállítási modell könnyebben kezelhető, mint a másik két modell, de az adatfájlok sérülése esetén nagyobb adatveszteség-kockázat rovására. A legutóbbi adatbázis- vagy különbözeti adatbázis biztonsági mentése óta bekövetkezett összes módosítás elveszik, és manuálisan újra kell újra beírni.

Az alapértelmezett helyreállítási modellt a model rendszeradatbázis helyreállítási modellje határozza meg. A megfelelő helyreállítási modell kiválasztásáról további információt Helyreállítási modellekcímű témakörben talál.

A beállítás állapotát a recovery_model katalógusnézet recovery_model_desc és oszlopainak vizsgálatával határozhatja meg. Az állapotot az Recovery függvény tulajdonságának vizsgálatával is meghatározhatja.

TORN_PAGE_DETECTION { ON | KI }

  • RA

    A hiányos oldalakat az adatbázismotor észlelheti.

  • KI

    Az adatbázismotor nem képes hiányos lapokat észlelni.

Fontos

A szintaxis struktúrája TORN_PAGE_DETECTION ON | A kikapcsolva az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a szintaxisstruktúrát az új fejlesztési munkában, és tervezze meg a szintaxisstruktúrát jelenleg használó alkalmazások módosítását. Használja inkább a PAGE_VERIFY lehetőséget.

PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }

Felderíti a lemez I/O elérési útjának hibái által okozott sérült adatbázislapokat. A lemez I/O elérési útjának hibái okozhatják az adatbázis sérülését. Ezeket a hibákat leggyakrabban az áramkimaradások vagy a lemez hardverhibái okozzák, amelyek a lap lemezre írásakor fordulnak elő.

  • ELLENŐRZŐÖSSZEG

    Kiszámítja az ellenőrzőösszeget a teljes oldal tartalmának felett, és az értéket az oldalfejlécben tárolja, amikor egy lap lemezre van írva. Amikor a lap lemezről olvasható, az ellenőrzőösszeg újrafordításra kerül, és összehasonlítja az oldalfejlécben tárolt ellenőrzőösszeg-értékkel. Ha az értékek nem egyeznek, a rendszer a 824-et (ellenőrzőösszeg-hibát jelző) hibaüzenetet jelenti mind az SQL Server hibanaplójában, mind a Windows eseménynaplójában. Az ellenőrzőösszeg hibája az I/O elérési út problémáját jelzi. A kiváltó ok meghatározásához meg kell vizsgálni a hardvert, a belső vezérlőprogram-illesztőprogramokat, a BIOS-t, a szűrőillesztőket (például a vírusszoftvereket) és más I/O-elérési utak összetevőit.

  • TORN_PAGE_DETECTION

    A 8 kilobájtos (KB) adatbázislap minden egyes 512 bájtos szektorához egy adott 2 bites mintát ment, és az adatbázis oldalfejlécében tárolja, amikor a lap lemezre van írva. Amikor a lap lemezről olvasható, az oldalfejlécben tárolt szakadt biteket a rendszer összehasonlítja a lap tényleges szektoradataival.

    A nem egyező értékek azt jelzik, hogy a lapnak csak egy része lett lemezre írva. Ebben az esetben a rendszer a 824-ben megjelenő hibaüzenetet (amely egy laptöréses hibát jelez) az SQL Server hibanaplójában és a Windows eseménynaplójában is megjelenik. A szakadt oldalakat általában az adatbázis-helyreállítás észleli, ha az valóban hiányosan ír egy lapot. Az I/O elérési útjának egyéb hibái azonban bármikor megszakíthatják a lapokat.

  • Egyik sem

    Az adatbázisoldal-írások nem hoznak létre ELLENŐRZŐÖSSZEGet vagy TORN_PAGE_DETECTION értéket. Az SQL Server nem ellenőrzi az ellenőrzőösszeget vagy a szétszakadt oldalt az olvasás során, még akkor sem, ha egy ELLENŐRZŐÖSSZEG vagy TORN_PAGE_DETECTION érték szerepel az oldal fejlécében.

A PAGE_VERIFY beállítás használatakor vegye figyelembe a következő fontos szempontokat:

  • Az alapértelmezett érték CHECKSUM.

  • Ha egy felhasználó vagy rendszeradatbázis SQL Server 2005 (9.x) vagy újabb verzióra frissül, a PAGE_VERIFY érték (NONE vagy TORN_PAGE_DETECTION) nem módosul. Javasoljuk, hogy váltson a CHECKSUM-ra.

    Jegyzet

    Az SQL Server korábbi verzióiban a PAGE_VERIFY adatbázis beállítása NONE értékre van állítva a tempdb adatbázishoz, és nem módosítható. Az SQL Server 2008 -tól kezdve (10.0.x) a tempdb adatbázis alapértelmezett értéke az SQL Server új telepítéseihez tartozó CHECKSUM. A telepítési SQL Server frissítésekor az alapértelmezett érték nem változik. A beállítás módosítható. Javasoljuk, hogy használja a CHECKSUM függvényt a tempdb adatbázishoz.

  • TORN_PAGE_DETECTION kevesebb erőforrást használhat, de a CHECKSUM-védelem minimális részhalmazát biztosítja.

  • PAGE_VERIFY az adatbázis offline állapotba helyezése, az adatbázis zárolása vagy más módon az adatbázis egyidejűségének akadályozása nélkül állítható be.

  • A CHECKSUM kölcsönösen kizárja TORN_PAGE_DETECTION. Mindkét beállítás egyszerre nem engedélyezhető.

Szakadt oldal vagy ellenőrzőösszeg észlelésekor helyreállíthatja az adatokat, vagy újraépítheti az indexet, ha a hiba csak az indexoldalakra korlátozódik. Ha ellenőrzőösszeg-hibát tapasztal, az érintett adatbázislap vagy lapok típusának meghatározásához futtassa a DBCC CHECKDB parancsot. A visszaállítási beállításokról további információt VISSZAÁLLÍTÁS argumentumokcímű témakörben talál. Bár az adatok visszaállítása megoldja az adatsérülési problémát, a folyamatos hibák elkerülése érdekében a kiváltó okot (például a lemez hardverhibáját) a lehető leghamarabb diagnosztizálni és kijavítani kell.

Az SQL Server négy alkalommal újrapróbálkozza az ellenőrzőösszeggel, az oldaltöréssel vagy más I/O-hibával meghiúsuló olvasásokat. Ha az újrapróbálkozási kísérletek bármelyikében sikeres az olvasás, a rendszer egy üzenetet ír a hibanaplóba. Az olvasást aktiváló parancs folytatódik. Ha az újrapróbálkozási kísérletek sikertelenek, a parancs a 824-s hibaüzenettel hiúsul meg.

A 823-ról, a 824-ről és a 825-ről a következő témakörben talál további információt:

Ennek a beállításnak az aktuális beállítását a page_verify_option katalógusnézet oszlopának vagy a IsTornPageDetectionEnabled függvény tulajdonságának vizsgálatával lehet meghatározni.

< > remote_data_archive_option ::=

A következővonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))

Engedélyezi vagy letiltja a Stretch Database használatát az adatbázishoz. További információ: Stretch Database.

Fontos

A Stretch Database elavult az SQL Server 2022 -ben (16.x) és az Azure SQL Database-ben. Ez a funkció az adatbázismotor egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.

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

  • RA

    Engedélyezi a Stretch Database-t az adatbázishoz. További információkért, beleértve a további előfeltételeket is, olvassa el Stretch Database engedélyezése adatbázis-.

    A Stretch Database táblához való engedélyezéséhez db_owner engedély szükséges. A Stretch Database adatbázishoz való engedélyezéséhez db_owner és CONTROL DATABASE engedélyek szükségesek.

    • KISZOLGÁLÓ = <server_name>

      Az Azure-kiszolgáló címét adja meg. Adja meg a név .database.windows.net részét. Például MyStretchDatabaseServer.database.windows.net.

    • HITELESÍTŐ ADATOK = <db_scoped_credential_name>

      Megadja azt az adatbázis-hatókörű hitelesítő adatot, amelyet az SQL Server példánya az Azure-kiszolgálóhoz való csatlakozáshoz használ. A parancs futtatása előtt győződjön meg arról, hogy a hitelesítő adatok léteznek. További információ: CREATE DATABASE SCOPED CREDENTIAL.

    • FEDERATED_SERVICE_ACCOUNT = { ON | KI }

      A helyszíni SQL Server összevont szolgáltatásfiókjával kommunikálhat a távoli Azure-kiszolgálóval, ha az alábbi feltételek teljesülnek.

      • Az a szolgáltatásfiók, amelyen az SQL Server-példány fut, tartományi fiók.
      • A tartományfiók egy olyan tartományhoz tartozik, amelynek Active Directoryja a Microsoft Entra-azonosítóval van összevonva.
      • A távoli Azure-kiszolgáló úgy van konfigurálva, hogy támogassa a Microsoft Entra-hitelesítést.
      • A szolgáltatásfiókot, amelyen az SQL Server-példány fut, dbmanager vagy sysadmin fiókként kell konfigurálni a távoli Azure-kiszolgálón.

      Ha azt adja meg, hogy az összevont szolgáltatásfiók be van kapcsolva, akkor a HITELESÍTŐ ADATOK argumentumot sem adhatja meg. Adja meg a HITELESÍTŐ ADATOK argumentumot, ha KI értéket ad meg.

  • KI

    Letiltja az adatbázis Stretch Database szolgáltatását. További információ: Stretch Database letiltása és távoli adatok visszahozása.

    A Stretch Database csak akkor tiltható le egy adatbázis esetében, ha az adatbázis már nem tartalmaz olyan táblákat, amelyek engedélyezve vannak a Stretch Database-hez. A Stretch Database letiltása után az adatmigrálás leáll. Emellett a lekérdezési eredmények már nem tartalmazzák a távoli táblák eredményeit.

    A Stretch Database letiltása nem távolítja el a távoli adatbázist. A távoli adatbázis törléséhez használja az Azure Portalt.

PERSISTENT_LOG_BUFFER

A következővonatkozik: SQL Server 2017 (14.x) és újabb.

Ha ez a beállítás meg van adva, a tranzakciónapló-puffer egy olyan köteten jön létre, amely a Storage Class Memory (NVDIMM-N nemvolatile storage) által támogatott lemezeszközön található, más néven állandó naplópufferen. További információ: Tranzakció véglegesítés késésének gyorsítása a Tárosztály memória és Állandó naplópuffer hozzáadása adatbázishoz.

< > service_broker_option ::=

A következővonatkozik: SQL Server

A következő Service Broker-beállításokat szabályozza: engedélyezi vagy letiltja az üzenetek kézbesítését, beállít egy új Service Broker-azonosítót, vagy beállítja a beszélgetési prioritásokat BE vagy KI értékre.

ENABLE_BROKER

Megadja, hogy a Szolgáltatásközvetítő engedélyezve van-e a megadott adatbázishoz. Az üzenetkézbesítés elindult, és a is_broker_enabled jelző igaz értékre van állítva a sys.databases katalógusnézetben. Az adatbázis megőrzi a meglévő Service Broker-azonosítót. A szolgáltatásközvetítő nem engedélyezhető, amíg az adatbázis az adatbázis tükrözési konfigurációjának főkiszolgálója.

Jegyzet

ENABLE_BROKER kizárólagos adatbázis-zárolást igényel. Ha más munkamenetek zárolt erőforrásokat tárolnak az adatbázisban, ENABLE_BROKER megvárja, amíg a többi munkamenet feloldja a zárolásokat. A Service Broker felhasználói adatbázisban való engedélyezéséhez győződjön meg arról, hogy a ALTER DATABASE SET ENABLE_BROKER utasítás futtatása előtt más munkamenetek nem használják az adatbázist, például úgy, hogy az adatbázist egyfelhasználós módban helyezi el. A Service Broker msdb-adatbázisban való engedélyezéséhez először állítsa le az SQL Server Agentet, hogy a Service Broker beszerezhesse a szükséges zárolást.

DISABLE_BROKER

Megadja, hogy a Szolgáltatásközvetítő le van tiltva a megadott adatbázishoz. Az üzenetkézbesítés leáll, és a is_broker_enabled jelző hamis értékre van állítva a sys.databases katalógusnézetben. Az adatbázis megőrzi a meglévő Service Broker-azonosítót.

NEW_BROKER

Megadja, hogy az adatbázisnak új közvetítőazonosítót kell kapnia. Az adatbázis új szolgáltatásközvetítőként működik. Így az adatbázis összes meglévő beszélgetése azonnal el lesz távolítva anélkül, hogy befejező párbeszédpanel-üzeneteket hoz létre. A régi Service Broker-azonosítóra hivatkozó útvonalakat újra létre kell hozni az új azonosítóval.

ERROR_BROKER_CONVERSATIONS

Megadja, hogy a Service Broker üzenetkézbesítés engedélyezve van-e. Ez a beállítás megőrzi az adatbázis meglévő Service Broker-azonosítóit. A Service Broker egy hibával zárja le az adatbázis összes beszélgetését. Ez a beállítás lehetővé teszi az alkalmazások számára a meglévő beszélgetések rendszeres törlését.

HONOR_BROKER_PRIORITY { ON | KI }

  • RA

    A küldési műveletek figyelembe veszik a beszélgetésekhez rendelt prioritási szinteket. A magas prioritású beszélgetésekből érkező üzeneteket a rendszer az alacsony prioritású szintekhez rendelt beszélgetések üzenetei előtt küldi el.

  • KI

    A küldési műveletek úgy futnak, mintha minden beszélgetés rendelkezik az alapértelmezett prioritási szinttel.

A HONOR_BROKER_PRIORITY beállítás módosításai azonnal érvénybe lépnek az olyan új párbeszédpaneleken vagy párbeszédpaneleken, amelyeken nem várnak üzenetek az elküldésre. Az ALTER DATABASE futtatásakor küldendő üzeneteket tartalmazó párbeszédpanelek nem fogják felvenni az új beállítást, amíg el nem küldik a párbeszédpanel egyes üzeneteit. Az az idő, amíg az összes párbeszédpanel elkezdi használni az új beállítást, jelentősen eltérhet.

Ennek a tulajdonságnak az aktuális beállítását a rendszer a is_broker_priority_honored katalógusnézet oszlopában jelenti.

< > snapshot_option ::=

Kiszámítja a tranzakcióelkülönítési szintet.

ALLOW_SNAPSHOT_ISOLATION { ON | KI }

  • RA

    Engedélyezi a Pillanatkép beállítást az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. Ha ez a beállítás engedélyezve van, a tranzakciók meg tudják adni a SNAPSHOT tranzakció elkülönítési szintjét. Amikor egy tranzakció a SNAPSHOT elkülönítési szinten fut, az összes utasítás pillanatképet lát az adatokról a tranzakció elején. Ha a SNAPSHOT elkülönítési szinten futó tranzakciók több adatbázisban férnek hozzá az adatokhoz, akkor vagy ALLOW_SNAPSHOT_ISOLATION be kell állítani az összes adatbázisban, vagy a tranzakció minden utasítása használjon zárolási tippeket egy FROM záradékban található hivatkozáshoz egy olyan adatbázis táblájára, ahol a ALLOW_SNAPSHOT_ISOLATION ki van kapcsolva.

  • KI

    Kikapcsolja a Pillanatkép beállítást az adatbázis szintjén. A tranzakciók nem adhatja meg a SNAPSHOT tranzakció elkülönítési szintjét.

Ha új állapotra állítja be a ALLOW_SNAPSHOT_ISOLATION (be- és kikapcsolt állapotba, illetve KI és BE) az ALTER DATABASE mindaddig nem adja vissza az irányítást a hívónak, amíg az adatbázis összes meglévő tranzakciója le nem véglegesül. Ha az adatbázis már az ALTER DATABASE utasításban megadott állapotban van, a rendszer azonnal visszaadja a vezérlőt a hívónak. Ha az ALTER DATABASE utasítás nem ad vissza gyorsan, a sys.dm_tran_active_snapshot_database_transactions segítségével állapítsa meg, hogy vannak-e hosszú ideig futó tranzakciók. Ha az ALTER DATABASE utasítás megszakad, az adatbázis abban az állapotban marad, amelyben az ALTER DATABASE indításakor volt. A sys.databases katalógusnézet a pillanatkép-elkülönítési tranzakciók állapotát jelzi az adatbázisban. Ha snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, a parancs ALTER DATABASE ... ALLOW_SNAPSHOT_ISOLATION OFF hat másodpercet szünetel, és újrapróbálkozza a műveletet.

Ha az adatbázis OFFLINE állapotú, nem módosíthatja a ALLOW_SNAPSHOT_ISOLATION állapotát.

Ha ALLOW_SNAPSHOT_ISOLATION állít be egy READ_ONLY-adatbázisban, a beállítás megmarad, ha az adatbázis később READ_WRITE lesz.

Módosíthatja a master, model, msdbés tempdb adatbázisok ALLOW_SNAPSHOT_ISOLATION beállításait. A beállítás minden alkalommal megmarad, amikor az adatbázismotor példánya le van állítva, és újraindul, ha módosítja a tempdbbeállításait. Ha módosítja a modelbeállítását, akkor ez a beállítás lesz az alapértelmezett a létrehozott új adatbázisok esetében, kivéve a tempdb.

A beállítás alapértelmezés szerint be van kapcsolva a master és msdb adatbázisok esetében.

Ennek a beállításnak az aktuális beállítása a snapshot_isolation_state katalógusnézet oszlopának vizsgálatával határozható meg.

READ_COMMITTED_SNAPSHOT { ON | KI }

  • RA

    Engedélyezi Read-Committed pillanatkép beállítását az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. Ha ez a beállítás engedélyezve van, az olvasási lekötött elkülönítési szintet meghatározó tranzakciók zárolás helyett sorverziót használnak. Minden utasítás lát egy pillanatképet az adatokról az utasítás elején, amikor egy tranzakció a READ COMMITTED elkülönítési szinten fut.

  • KI

    Az adatbázis szintjén kikapcsolja Read-Committed Pillanatkép lehetőséget. A READ COMMITTED elkülönítési szintet meghatározó tranzakciók zárolást használnak.

A READ_COMMITTED_SNAPSHOT be- vagy kikapcsolásához nem lehet aktív kapcsolat az adatbázishoz, kivéve az ALTER DATABASE parancsot futtató kapcsolatot. Az adatbázisnak azonban nem kell egyfelhasználós módban lennie. Ha az adatbázis OFFLINE állapotú, nem módosíthatja ennek a beállításnak az állapotát.

Ha READ_COMMITTED_SNAPSHOT állít be egy READ_ONLY-adatbázisban, a beállítás megmarad, amikor az adatbázis később READ_WRITE lesz.

READ_COMMITTED_SNAPSHOT nem kapcsolható be a master, tempdbvagy msdb rendszeradatbázisokhoz. Ha módosítja a modelbeállítását, akkor ez a beállítás lesz az alapértelmezett a létrehozott új adatbázisok esetében, kivéve a tempdb.

Ennek a beállításnak az aktuális beállítása a is_read_committed_snapshot_on katalógusnézet oszlopának vizsgálatával határozható meg.

Figyelmeztetés

Ha TARTÓSSÁG = SCHEMA_ONLY, majd READ_COMMITTED_SNAPSHOTALTER DATABASEhasználatával hoz létre egy táblát, a tábla adatai elvesznek.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | KI }

A következővonatkozik: SQL Server (SQL Server 2014-től kezdve (12.x))

  • RA

    Ha a tranzakcióelkülönítési szint bármely, a SNAPSHOT-nál alacsonyabb elkülönítési szintre van beállítva, a rendszer a memóriaoptimalizált táblák összes értelmezett Transact-SQL műveletét PILLANATKÉP-elkülönítés alatt futtatja. A pillanatképnél alacsonyabb elkülönítési szintek például a READ COMMITTED vagy a READ UNCOMMITTED. Ezek a műveletek azt futtatják, hogy a tranzakcióelkülönítési szint explicit módon van-e beállítva a munkamenet szintjén, vagy az alapértelmezettet implicit módon használja a rendszer.

  • KI

    Nem emeli fel a tranzakcióelkülönítési szintet a memóriaoptimalizált táblákon Transact-SQL műveletek értelmezéséhez.

Ha az adatbázis OFFLINE állapotú, nem módosíthatja a MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT állapotát.

Az alapértelmezett beállítás ki van kapcsolva.

Ennek a beállításnak az aktuális beállítása a is_memory_optimized_elevate_to_snapshot_on katalógusnézet oszlopának vizsgálatával határozható meg.

< > sql_option ::=

Az ANSI-megfelelőségi beállításokat az adatbázis szintjén szabályozza.

ANSI_NULL_DEFAULT { ON | KI }

Meghatározza egy olyan oszlop vagy felhasználó által definiált CLR-típusú alapértelmezett értékét, amelynek nullképessége nincs explicit módon definiálva a CREATE TABLE vagy AZ ALTER TABLE utasításban. A korlátozásokkal definiált oszlopok a beállítástól függetlenül a kényszerszabályokat követik.

  • RA

    A nem definiált oszlopok alapértelmezett értéke NULL.

  • KI

    A nem definiált oszlopok alapértelmezett értéke NEM NULL.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULL_DEFAULT alapértelmezett adatbázisszintű beállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_NULL_DEFAULT on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULL_DFLT_ON.

Az ANSI-kompatibilitás érdekében az adatbázis beállításának ANSI_NULL_DEFAULT on értékre állításával az adatbázis alapértelmezett értéke NULL.

A beállítás állapotát a is_ansi_null_default_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullDefault függvény tulajdonságának vizsgálatával is meghatározhatja.

ANSI_NULLS { ON | KI }

  • RA

    A null értékekkel való összes összehasonlítás ISMERETLEN értékre van kiértékelve.

  • KI

    A nem Unicode-értékek és a null értékek összehasonlítása IGAZ értékre van kiértékelve, ha mindkét érték NULL.

Fontos

Az SQL Server egy későbbi verziójában a ANSI_NULLS mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULLS alapértelmezett adatbázisbeállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_NULLS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULLS.

Fontos

A SET ANSI_NULLS akkor is BE értékre kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

A beállítás állapotát a is_ansi_nulls_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullsEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

ANSI_PADDING { ON | KI }

  • RA

    A sztringek az átalakítás előtt azonos hosszúságúra vannak kipárnázva. A varchar vagy nvarchar adattípusba való beszúrás előtt is azonos hosszúságúra van beszúrva.

  • KI

    A karakterértékek záró üres értékeit szúrja be varchar vagy nvarchar oszlopokba. A bináris értékek záró nulláit is hagyja, amelyek varbináris oszlopokba vannak beszúrva. Az értékek nem az oszlop hosszára lesznek kipárnázva.

    Ha ki van kapcsolva, ez a beállítás csak az új oszlopok definícióját érinti.

Fontos

Az SQL Server egy későbbi verziójában a ANSI_PADDING mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Javasoljuk, hogy mindig állítsa be a ANSI_PADDING ON értékre. ANSI_PADDING be kell kapcsolnia, ha számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

karakter (n) és bináris (n) oszlop, amely lehetővé teszi a null értékeket, akkor a ANSI_PADDING be van kapcsolva. Ha ANSI_PADDING ki van kapcsolva, a rendszer levágja a záró üreseket és nullákat. karakter (n) és bináris (n) oszlopokat, amelyek nem teszik lehetővé a null értékeket, mindig az oszlop hosszára vannak kipárnázva.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_PADDING alapértelmezett adatbázisszintű beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_PADDING on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_PADDING.

A beállítás állapotát a is_ansi_padding_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiPaddingEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

ANSI_WARNINGS { ON | KI }

  • RA

    Hibák vagy figyelmeztetések jelennek meg, ha olyan feltételek lépnek fel, mint az osztás nullával. Hibák és figyelmeztetések is megjelennek, ha null értékek jelennek meg az összesítő függvényekben.

  • KI

    A rendszer nem ad vissza figyelmeztetést, és null értékeket ad vissza, ha olyan feltételek lépnek fel, mint az osztás nullával.

Fontos

A SET ANSI_WARNINGS be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_WARNINGS alapértelmezett adatbázisbeállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_WARNINGS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_WARNINGS.

A beállítás állapotát a is_ansi_warnings_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiWarningsEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

ARITHABORT { ON | KI }

  • RA

    A lekérdezés akkor fejeződik be, ha a lekérdezés végrehajtása során túlcsordulás vagy osztási zéró hiba lép fel.

  • KI

    Figyelmeztető üzenet jelenik meg az ilyen hibák egyike esetén. A lekérdezés, köteg vagy tranzakció továbbra is úgy működik, mintha nem történt volna hiba, még akkor sem, ha figyelmeztetés jelenik meg.

Fontos

A SET ARITHABORT értéknek BE értékre kell állítania, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

A beállítás állapotát a is_arithabort_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsArithmeticAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

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

További információ: ALTER DATABASE kompatibilitási szintje.

CONCAT_NULL_YIELDS_NULL { ON | KI }

  • RA

    Az összefűzési művelet eredménye NULL, ha bármelyik operandus NULL. Például az "Ez" karaktersztring összefűzésével a NULL értéket adja vissza a "This is" érték helyett.

  • KI

    A null érték üres karaktersorozatként lesz kezelve.

Fontos

CONCAT_NULL_YIELDS_NULL be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

Az SQL Server közelgő verzióiban a CONCAT_NULL_YIELDS_NULL mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog kiváltani. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CONCAT_NULL_YIELDS_NULL alapértelmezett adatbázis-beállítását. Alapértelmezés szerint az ODBC és az OLE DB-ügyfelek egy kapcsolatszintű SET utasításbeállítást adnak ki, CONCAT_NULL_YIELDS_NULL on értékre az SQL Server egy példányához való csatlakozáskor. További információ: SET CONCAT_NULL_YIELDS_NULL.

A beállítás állapotát a is_concat_null_yields_null_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsNullConcat függvény tulajdonságának vizsgálatával is meghatározhatja.

NUMERIC_ROUNDABORT { ON | KI }

  • RA

    Hiba akkor jön létre, ha egy kifejezés pontosságvesztése következik be.

  • KI

    A pontosságvesztés nem hoz létre hibaüzenetet, és az eredmény az eredményt tároló oszlop vagy változó pontosságára kerekítve lesz.

    Fontos

    NUMERIC_ROUNDABORT kikapcsolva kell lennie, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

Ennek a beállításnak az állapotát a is_numeric_roundabort_on katalógusnézet oszlopában határozhatja meg. Az állapotot az IsNumericRoundAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

QUOTED_IDENTIFIER { ON | KI }

  • RA

    A kettős idézőjelek elválasztott azonosítók beágyazására használhatók.

    A kettős idézőjelekkel tagolt összes sztring objektumazonosítóként lesz értelmezve. Az idézett azonosítóknak nem kell követniük az azonosítók Transact-SQL szabályait. Lehetnek kulcsszavak, és tartalmazhatnak olyan karaktereket, amelyek nem engedélyezettek Transact-SQL azonosítókban. Ha a kettős idézőjel (") az azonosító része, akkor két idézőjel ("") is jelölhető.

  • KI

    Az azonosítók nem lehetnek idézőjelekben, és az azonosítókra vonatkozó összes Transact-SQL szabályt be kell tartaniuk. A literálok egy vagy két idézőjellel elválaszthatók.

Az SQL Server lehetővé teszi az azonosítók szögletes zárójelek ([ és ]) szerinti tagolását is. A szögletes azonosítók mindig használhatók, függetlenül a QUOTED_IDENTIFIER beállítástól. További információ: Adatbázis-azonosítók.

Amikor létrehoz egy táblát, az IDÉZŐJELES AZONOSÍTÓ beállítás mindig ON formátumban lesz tárolva a tábla metaadataiban. A beállítás akkor is tárolódik, ha a beállítás ki van kapcsolva a tábla létrehozásakor.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a QUOTED_IDENTIFIER alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, QUOTED_IDENTIFIER on értékre. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET QUOTED_IDENTIFIER.

A beállítás állapotát a is_quoted_identifier_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsQuotedIdentifiersEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

RECURSIVE_TRIGGERS { ON | KI }

  • RA

    A AFTER-triggerek rekurzív tüzelése engedélyezett.

  • KI

    A beállítás állapotát a is_recursive_triggers_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsRecursiveTriggersEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

Jegyzet

Csak a közvetlen rekurziót akadályozza meg, ha RECURSIVE_TRIGGERS KI értékre van állítva. A közvetett rekurzió letiltásához a beágyazott eseményindítók kiszolgálójának beállítását is 0 értékre kell állítania.

A beállítás állapotát a is_recursive_triggers_on katalógusnézet oszlopának vagy a IsRecursiveTriggersEnabled függvény tulajdonságának vizsgálatával határozhatja meg.

< > suspend_for_snapshot_backup ::=

A következővonatkozik: SQL Server (SQL Server 2022-től kezdve (16.x))

Felfüggeszti az adatbázisokat pillanatképek biztonsági mentéséhez. Definiálhat egy vagy több adatbáziscsoportot. Csak másolási módot jelölhet ki.

SET SUSPEND_FOR_SNAPSHOT_BACKUP = { ON | KI }

Felfüggeszti vagy megszünteti az adatbázisok felfüggesztését. Alapértelmezett kikapcsolva.

MODE = COPY_ONLY

Szabadon választható. COPY_ONLY módot használ.

< > target_recovery_time_option ::=

A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))

A közvetett ellenőrzőpontok gyakoriságát határozza meg adatbázisonként. Az SQL Server 2016 -tól (13.x) kezdődően az új adatbázisok alapértelmezett értéke 1 perc, ami azt jelzi, hogy az adatbázis közvetett ellenőrzőpontokat használ. A régebbi verziók esetében az alapértelmezett érték 0, ami azt jelzi, hogy az adatbázis automatikus ellenőrzőpontokat használ, amelyek gyakorisága a kiszolgálópéldány helyreállítási időközének beállításától függ. A Microsoft a legtöbb rendszer esetében 1 percet javasol.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | PERC }

  • target_recovery_time

    Megadja a megadott adatbázis összeomlás esetén történő helyreállításának időpontjára vonatkozó maximális korlátot. target_recovery_timeinttípus.

  • REPETA

    Azt jelzi, hogy a target_recovery_time másodpercek számaként van kifejezve.

  • JEGYZŐKÖNYV

    Azt jelzi, hogy a target_recovery_time a percek számaként van kifejezve.

További információ a közvetett ellenőrzőpontokról: Adatbázis-ellenőrzőpontok.

OPTIMIZED_LOCKING { ON | KI }

A következőre vonatkozik: SQL Server (az SQL Server 2025 (17.x) előzetes verziójától kezdve)

Lehetővé teszi az optimalizált zárolást. Az optimalizált zárolás alapértelmezés szerint KI értékre van állítva.

A OPTIMIZED_LOCKING be- vagy kikapcsolásához nem lehet aktív kapcsolat az adatbázishoz, kivéve az ALTER DATABASE parancsot futtató kapcsolatot. Az adatbázisnak azonban nem kell egyfelhasználós módban lennie. A beállítás állapotát csak akkor módosíthatja, ha az adatbázis ONLINE állapotú.

WITH <termination> ::=

Megadja, hogy mikor kell visszagörgetni a hiányos tranzakciókat, amikor az adatbázis egyik állapotból a másikba kerül. Ha a megszüntetési záradék nincs megadva, az ALTER DATABASE utasítás határozatlan ideig várakozik, ha az adatbázis zárolva van. Csak egy megszüntetési záradék adható meg, és a SET záradékokat követi.

Jegyzet

Nem minden adatbázis-beállítás használja a WITH <megszüntetési> záradékot. További információt a cikk "Megjegyzések" szakaszának Beállítások című szakaszában talál.

  • VISSZAÁLLÍTÁS egész szám [MÁSODPERC] | AZONNALI VISSZAÁLLÍTÁS

    Megadja, hogy a megadott számú másodperc után vagy azonnal vissza kell-e állítani.

  • NO_WAIT

    Azt adja meg, hogy a kérés meghiúsul, ha a kért adatbázis állapota vagy beállításának módosítása nem fejezhető be azonnal. Az azonnali végrehajtás azt jelenti, hogy nem kell megvárni a tranzakciók véglegesítését vagy önálló visszaállítását.

Beállítások megadása

Az adatbázis-beállítások aktuális beállításainak lekéréséhez használja a sys.databases katalógusnézetet vagy DATABASEPROPERTYEX

Az adatbázis-beállítás beállítása után az új beállítás azonnal érvénybe lép.

Az összes újonnan létrehozott adatbázis adatbázis-beállításainak bármelyikéhez módosíthatja az alapértelmezett értékeket. Ehhez módosítsa a megfelelő adatbázis-beállítást a model adatbázisban.

Nem minden adatbázis-beállítás használja a WITH <végződési> záradékot, vagy más beállításokkal együtt adható meg. Az alábbi táblázat felsorolja ezeket a beállításokat, valamint azok beállítási és felmondási állapotát.

Beállítások kategória Más beállításokkal is megadható Használhatja a WITH <megszüntetési> záradékot
<db_state_option> Igen Igen
<db_user_access_option> Igen Igen
<db_update_option> Igen Igen
<delayed_durability_option> Igen Igen
<external_access_option> Igen Nem
<cursor_option> Igen Nem
<auto_option> Igen Nem
<sql_option> Igen Nem
<recovery_option> Igen Nem
<target_recovery_time_option> Nem Igen
<database_mirroring_option> Nem Nem
ALLOW_SNAPSHOT_ISOLATION Nem Nem
READ_COMMITTED_SNAPSHOT Nem Igen
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Igen Igen
<service_broker_option> Igen Nem
DATE_CORRELATION_OPTIMIZATION Igen Igen
<parameterization_option> Igen Igen
<change_tracking_option> Igen Igen
<db_encryption_option> Igen Nem
<accelerated_database_recovery> Nem Igen
<optimized_locking> Nem Igen

Az SQL Server-példány csomaggyorsítótára az alábbi lehetőségek egyikének beállításával törlődik:

Offline

ONLINE

MODIFY_NAME

EGYEZTET

READ_ONLY

OLVASÁS_ÍRÁS

A FILEGROUP ALAPÉRTELMEZETT MÓDOSÍTÁSA

A FILEGROUP READ_WRITE MÓDOSÍTÁSA

A FILEGROUP READ_ONLY MÓDOSÍTÁSA

A tervgyorsítótár a következő forgatókönyvekben is ki van ürítve.

  • Az adatbázisokban a AUTO_CLOSE adatbázis beállítása BE értékre van állítva. Ha nincs felhasználói kapcsolat hivatkozása, vagy nem használja az adatbázist, a háttérfeladat automatikusan megpróbálja bezárni és leállítani az adatbázist.
  • Egy alapértelmezett beállítással rendelkező adatbázison több lekérdezést is futtathat. Ezután az adatbázis el lesz dobva.
  • A rendszer elveti a forrásadatbázis adatbázis-pillanatképét.
  • Sikeresen újraépíti a tranzakciónaplót egy adatbázishoz.
  • Visszaállítja az adatbázis biztonsági mentését.
  • Leválaszthat egy adatbázist.

A tervgyorsítótár törlése az összes későbbi végrehajtási terv újrafordítását okozza, és a lekérdezési teljesítmény hirtelen, átmeneti csökkenését okozhatja. A csomaggyorsítótárban lévő összes törölt gyorsítótár esetében az SQL Server hibanaplója a következő tájékoztató üzenetet tartalmazza: 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. Ezt az üzenetet öt percenként naplózza a rendszer, amíg a gyorsítótárat az adott időintervallumon belül kiüríti a rendszer.

Példák

Egy. Beállítások megadása adatbázison

Az alábbi példa a AdventureWorks2022 mintaadatbázis helyreállítási modelljét és adatlap-ellenőrzési beállításait állítja be.

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

B. Az adatbázis beállítása READ_ONLY

Az adatbázis vagy fájlcsoport állapotának READ_ONLY vagy READ_WRITE történő módosítása kizárólagos hozzáférést igényel az adatbázishoz. Az alábbi példa az adatbázist SINGLE_USER módra állítja, hogy kizárólagos hozzáférést kapjon. A példa ezután beállítja a AdventureWorks2022 adatbázis állapotát READ_ONLY, és az adatbázishoz való hozzáférést minden felhasználónak visszaadja.

Jegyzet

Ez a példa az első WITH ROLLBACK IMMEDIATE utasításban ALTER DATABASE megszüntetési lehetőséget használja. Az összes hiányos tranzakció vissza lesz állítva, és a AdventureWorks2022 adatbázishoz való bármely más kapcsolat azonnal megszakad.

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. Pillanatkép-elkülönítés engedélyezése adatbázison

Az alábbi példa lehetővé teszi a pillanatkép-elkülönítési keretrendszer beállítását a AdventureWorks2022-adatbázishoz.

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

Az eredményhalmaz azt mutatja, hogy a pillanatkép-elkülönítési keretrendszer engedélyezve van.

név snapshot_isolation_state leírás
[database_name] 1 RA

D. Változáskövetés engedélyezése, módosítása vagy letiltása

Az alábbi példa lehetővé teszi az AdventureWorks2022 adatbázis változáskövetését, és a megőrzési időtartamot 2 napra állítja.

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

Az alábbi példa bemutatja, hogyan módosíthatja a megőrzési időtartamot 3 napra.

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

Az alábbi példa bemutatja, hogyan tilthatja le a változáskövetést a AdventureWorks2022 adatbázishoz.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

E. A lekérdezéstár engedélyezése

A következővonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))

Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.

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. A lekérdezéstár engedélyezése várakozási statisztikákkal

A következővonatkozik: SQL Server (SQL Server 2017-től kezdve (14.x))

Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.

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. A Lekérdezéstár engedélyezése egyéni rögzítési házirend-beállításokkal

A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))

Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.

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

felügyelt SQL-példány

 

SQL-adatbázis

A kompatibilitási szintek SET lehetőségek, de ALTER DATABASE kompatibilitási szintje.

Jegyzet

Számos adatbáziskészlet-beállítás konfigurálható az aktuális munkamenethez SET Utasítások használatával, és az alkalmazások gyakran konfigurálják őket csatlakozáskor. A munkamenetszintű beállítási beállítások felülbírálják a ALTER DATABASE SET értékeket. Az alábbi szakaszokban ismertetett adatbázis-beállítások olyan értékek, amelyek olyan munkamenetekhez állíthatók be, amelyek nem adnak meg explicit módon más beállítási értékeket.

Szintaxis

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 }

Érvek

database_name

A módosítani kívánt adatbázis neve.

  • AKTUÁLIS

    CURRENT futtatja a műveletet az aktuális adatbázisban. CURRENT nem támogatott minden beállítás minden környezetben. Ha CURRENT sikertelen, adja meg az adatbázis nevét.

< > auto_option ::=

Automatikus beállításokat vezérel.

AUTO_CREATE_STATISTICS { ON | KI }

  • RA

    A Lekérdezésoptimalizáló szükség szerint statisztikai adatokat hoz létre a lekérdezési predikátumokban lévő egyes oszlopokról a lekérdezéstervek és a lekérdezési teljesítmény javítása érdekében. Ezek az egyoszlopos statisztikák akkor jönnek létre, amikor a Lekérdezésoptimalizáló lekérdezéseket fordít le. Az egyoszlopos statisztikák csak olyan oszlopokon jönnek létre, amelyek még nem egy meglévő statisztikai objektum első oszlopa.

    Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.

  • KI

    A Lekérdezésoptimalizáló nem hoz létre statisztikákat a lekérdezési predikátumokban lévő egyetlen oszlopokra, amikor lekérdezéseket állít össze. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.

A beállítás állapotát a is_auto_create_stats_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoCreateStatistics függvény tulajdonságának vizsgálatával is meghatározhatja.

További információ: "Statisztika beállításai" szakasz Statisztika.

NÖVEKMÉNYES = BE | KI

Állítsa a AUTO_CREATE_STATISTICS BE értékre, és állítsa a Növekményes értéket BE értékre. Ez a beállítás automatikusan létrehozott statisztikákat hoz létre növekményes állapotként, amikor a növekményes statisztikák támogatottak. Az alapértelmezett érték ki van kapcsolva. További információ: CREATE STATISTICS.

AUTO_SHRINK { ON | KI }

  • RA

    Az adatbázisfájlok rendszeres zsugorodásra alkalmasak. Ha nincs konkrét követelménye, ne állítsa be a AUTO_SHRINK adatbázis beállítását ON értékre. További információ: Adatbázis zsugorítása.

Az adatfájlok és a naplófájlok is automatikusan lebomlhatnak. AUTO_SHRINK csak akkor csökkenti a tranzakciónapló méretét, ha egyszerű helyreállítási modellre állítja be az adatbázist, vagy ha biztonsági másolatot készít a naplóról. Ha ki van kapcsolva, az adatbázisfájlok nem zsugorodnak automatikusan a nem használt terület rendszeres ellenőrzése során.

A AUTO_SHRINK beállítás hatására a fájlok akkor zsugorulnak, ha a fájl több mint 25 százaléka nem használt területet tartalmaz. A beállítás hatására a fájl két méret egyikére zsugorodik. A nagyobb méretre zsugorodik:

  • Az a méret, ahol a fájl 25 százaléka nem használt terület
  • A fájl mérete a létrehozáskor

Írásvédett adatbázisok nem zsugorodhatnak.

  • KI

    Az adatbázisfájlok nem zsugorulnak automatikusan a nem használt terület rendszeres ellenőrzése során.

A beállítás állapotát a is_auto_shrink_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoShrink függvény tulajdonságának vizsgálatával is meghatározhatja.

Jegyzet

A AUTO_SHRINK lehetőség nem érhető el egy tartalmazott adatbázisban.

AUTO_UPDATE_STATISTICS { ON | KI }

  • RA

    Megadja, hogy a Lekérdezésoptimalizáló frissíti a statisztikákat, amikor egy lekérdezés használja őket, és hogy mikor lehetnek elavultak. A statisztikák elavulttá válnak, miután a beszúrási, frissítési, törlési vagy egyesítési műveletek megváltoztatták az adateloszlást a táblázatban vagy indexelt nézetben. A Lekérdezésoptimalizáló úgy határozza meg, hogy a statisztikák mikor lehetnek elavultak, ha megszámolja az adatmódosítások számát az utolsó statisztikai frissítés óta, és összehasonlítja a módosítások számát egy küszöbértékhez. A küszöbérték a tábla vagy indexelt nézetben lévő sorok számán alapul.

    A Lekérdezésoptimalizáló a lekérdezés fordítása előtt ellenőrzi a elavult statisztikákat, és gyorsítótárazott lekérdezési tervet futtat. A Lekérdezésoptimalizáló a lekérdezési predikátum oszlopait, tábláit és indexelt nézeteit használja annak meghatározására, hogy mely statisztikák lehetnek elavultak. A Lekérdezésoptimalizáló ezt az információt a lekérdezés fordítása előtt határozza meg. A gyorsítótárazott lekérdezési terv futtatása előtt az adatbázismotor ellenőrzi, hogy a lekérdezésterv hivatkozik-e up-todátumstatisztikákra.

    A AUTO_UPDATE_STATISTICS beállítás az indexekhez, egyoszlopos lekérdezési predikátumokhoz és a CREATE STATISTICS utasítással létrehozott statisztikákhoz készült statisztikákra vonatkozik. Ez a beállítás a szűrt statisztikákra is vonatkozik.

    Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.

    A AUTO_UPDATE_STATISTICS_ASYNC beállítással megadhatja, hogy a statisztikák szinkronban vagy aszinkron módon frissülnek-e.

  • KI

    Azt adja meg, hogy a Lekérdezésoptimalizáló nem frissíti a statisztikákat, amikor egy lekérdezés használja őket. A Lekérdezésoptimalizáló nem frissíti a statisztikákat, ha esetleg elavultak. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.

    A beállítás állapotát a is_auto_update_stats_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoUpdateStatistics függvény tulajdonságának vizsgálatával is meghatározhatja.

    További információ: "Statisztika beállításai" szakasz Statisztika.

AUTO_UPDATE_STATISTICS_ASYNC { ON | KI }

  • RA

    Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései aszinkronok- e. A Lekérdezésoptimalizáló nem várja meg, hogy a statisztikai frissítések befejeződjenek a lekérdezések fordítása előtt.

    Ha ezt a beállítást ON értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.

    Alapértelmezés szerint a AUTO_UPDATE_STATISTICS_ASYNC beállítás ki van kapcsolva, és a Lekérdezésoptimalizáló szinkronizálva frissíti a statisztikákat.

  • KI

    Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései szinkronban legyenek. A lekérdezésoptimalizáló megvárja, amíg a statisztikai frissítések befejeződnek a lekérdezések fordítása előtt.

    Ha ezt a beállítást KI értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.

A beállítás állapotát a is_auto_update_stats_async_on katalógusnézet oszlopának vizsgálatával határozhatja meg.

A szinkron vagy aszinkron statisztikai frissítések használatának időpontjáról további információt az Statistics"Statisztika beállításai" című szakaszában talál.

< > automatic_tuning_option ::=

A automatikus finomhangolásiautomatikus beállításait szabályozza. A következő beállítások beállításait az Azure Portalon vagy a T-SQL-en keresztül tekintheti meg a sys.database_automatic_tuning_optionsnézetben.

AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }

  • KOCSI

    Az Automatikus finomhangolási érték automatikus beállításával az Azure-konfiguráció alapértelmezett értékeit alkalmazza az automatikus finomhangoláshoz. Az Azure Portalon ez az "Öröklődés: Az Azure alapértelmezett beállításai" lehetőséget tükrözi.

  • ÖRÖKÖL

    Az INHERIT érték használata örökli az alapértelmezett konfigurációt a szülőkiszolgálótól. Az Azure Portalon ez az "Öröklődés a kiszolgálótól" lehetőséget tükrözi. Ez különösen akkor hasznos, ha testre szeretné szabni az automatikus hangolási konfigurációt egy szülőkiszolgálón, és az ilyen kiszolgálón lévő összes adatbázis örökli ezeket az egyéni beállításokat. Ahhoz, hogy az öröklés működjön, a három egyéni hangolási beállítást FORCE_LAST_GOOD_PLAN, CREATE_INDEX és DROP_INDEX alapértelmezett értékre kell állítani az adatbázisokon.

  • SZOKÁS

    Az EGYÉNI érték használatával egyénileg kell konfigurálnia az adatbázisokban elérhető automatikus hangolási beállításokat. Az Azure Portalon ez az "Öröklődés: Nem örököl" lehetőséget tükrözi.

CREATE_INDEX = { DEFAULT | BE | KI }

Engedélyezi vagy letiltja az automatikus indexkezelést, CREATE_INDEXautomatikus finomhangolásilehetőséget. Ennek a beállításnak az állapotát az Azure Portalon vagy a T-SQL-en keresztül tekintheti meg a sys.database_automatic_tuning_optionsnézetben.

  • ALAPÉRTELMEZETT

    Örökli az alapértelmezett beállításokat a kiszolgálótól. Ebben az esetben az egyes automatikus hangolási funkciók engedélyezésére vagy letiltására vonatkozó beállítások a kiszolgáló szintjén vannak meghatározva.

  • RA

    Ha engedélyezve van, a hiányzó indexek automatikusan létrejönnek egy adatbázisban. Az index létrehozását követően a rendszer ellenőrzi a számítási feladat teljesítményét. Ha az ilyen létrehozott index már nem nyújt előnyöket a számítási feladatok teljesítményének, a rendszer automatikusan visszaállítja azt. Az automatikusan létrehozott indexek rendszer által létrehozott indexként vannak megjelölve.

  • KI

    Nem hoz létre automatikusan hiányzó indexeket az adatbázisban.

DROP_INDEX = { DEFAULT | BE | KI }

Engedélyezi vagy letiltja az automatikus indexkezelést, DROP_INDEXautomatikus finomhangolásilehetőséget. Ennek a beállításnak az állapotát az Azure Portalon vagy a T-SQL-en keresztül tekintheti meg a sys.database_automatic_tuning_optionsnézetben.

  • ALAPÉRTELMEZETT

    Örökli az alapértelmezett beállításokat a kiszolgálótól. Ebben az esetben az egyes automatikus hangolási funkciók engedélyezésére vagy letiltására vonatkozó beállítások a kiszolgáló szintjén vannak meghatározva.

  • RA

    Automatikusan elveti a duplikált vagy már nem hasznos indexeket a teljesítményterhelésbe.

  • KI

    Nem dobja automatikusan a hiányzó indexeket az adatbázisba.

FORCE_LAST_GOOD_PLAN = { DEFAULT | BE | KI }

Engedélyezi vagy letiltja az automatikus tervkorrekciót, FORCE_LAST_GOOD_PLANautomatikus finomhangolásilehetőséget. Ennek a beállításnak az állapotát az Azure Portalon vagy a T-SQL-en keresztül tekintheti meg a sys.database_automatic_tuning_optionsnézetben.

  • ALAPÉRTELMEZETT

    Örökli az alapértelmezett beállításokat a kiszolgálótól. Ebben az esetben az egyes automatikus hangolási funkciók engedélyezésére vagy letiltására vonatkozó beállítások a kiszolgáló szintjén vannak meghatározva. Ez az alapértelmezett érték. Az új Azure SQL-kiszolgálók alapértelmezett értéke ON, ami azt jelenti, hogy alapértelmezés szerint az új adatbázisok öröklik az ON beállítást.

  • RA

    Az adatbázismotor automatikusan kényszeríti az utolsó ismert jó tervet az Transact-SQL lekérdezésekre, ahol az új lekérdezési terv teljesítményregressziót okoz. Az adatbázismotor folyamatosan figyeli a Transact-SQL lekérdezés lekérdezési teljesítményét a kényszerített tervvel. Ha teljesítménynövekedés tapasztalható, az adatbázismotor a legutóbbi ismert jó tervet használja. Ha a rendszer nem észlel teljesítménynövekedést, az adatbázismotor létrehoz egy új lekérdezési tervet. Az utasítás meghiúsul, ha a lekérdezéstár nincs engedélyezve, vagy nincs Írás-olvasás módban.

  • KI

    Az adatbázismotor sys.dm_db_tuning_recommendations nézetben a lekérdezésterv változásai által okozott lehetséges lekérdezési teljesítményregressziókat jelenti. Ezek a javaslatok azonban nem lesznek automatikusan alkalmazva. A felhasználók figyelhetik az aktív javaslatokat, és megoldhatják az azonosított problémákat a nézetben megjelenő Transact-SQL szkriptek alkalmazásával.

< > change_tracking_option ::=

A vezérlők módosítják a követési beállításokat. Engedélyezheti a változáskövetést, beállíthatja a beállításokat, módosíthatja a beállításokat, és letilthatja a változáskövetést. Példákért lásd a cikk későbbi, Példák szakaszát.

  • RA

    Engedélyezi az adatbázis változáskövetését. Ha engedélyezi a változáskövetést, beállíthatja az AUTOMATIKUS TÖRLÉS és A MÓDOSÍTÁS MEGŐRZÉSE beállítást is.

    • AUTO_CLEANUP = { ON | KI }

      • RA

        A változáskövetési adatok a megadott megőrzési időszak után automatikusan törlődnek.

      • KI

        A változáskövetési adatok nem törlődnek az adatbázisból.

    • CHANGE_RETENTION = retention_period { DAYS | ÓRA | PERC }

      Meghatározza a változáskövetési adatok adatbázisban való megőrzésének minimális időtartamát. Az adatok csak akkor lesznek eltávolítva, ha a AUTO_CLEANUP érték be van kapcsolva.

      retention_period egy egész szám, amely a megőrzési időszak numerikus összetevőjét adja meg.

      Az alapértelmezett megőrzési időszak 2 nap. A minimális megőrzési idő 1 perc. Az alapértelmezett adatmegőrzési típus DAYS.

  • KI

    Letiltja az adatbázis változáskövetését. Tiltsa le a változáskövetést az összes táblán, mielőtt letiltja a változáskövetést az adatbázisból.

< > cursor_option ::=

A kurzor beállításait szabályozza.

CURSOR_CLOSE_ON_COMMIT { ON | KI }

  • RA

    A tranzakciók véglegesítésekor vagy visszagörgetésekor megnyíló kurzorok bezáródnak.

  • KI

    A kurzorok nyitva maradnak a tranzakció véglegesítésekor; A tranzakciók visszagördítése bezárja a kurzorokat, kivéve az INSENSITIVE vagy STATIC néven definiált kurzorokat.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CURSOR_CLOSE_ON_COMMIT alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint ki CURSOR_CLOSE_ON_COMMIT állítani a kapcsolatszintű SET utasítást a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET CURSOR_CLOSE_ON_COMMIT.

A beállítás állapotát a is_cursor_close_on_commit_on katalógusnézet oszlopának vagy a IsCloseCursorsOnCommitEnabled függvény tulajdonságának vizsgálatával határozhatja meg. A kurzor implicit módon csak leválasztáskor van felszabadítva. További információ: KURZOR DEKLARÁLÁSA.

< > db_encryption_option ::=

Az adatbázis titkosítási állapotát szabályozza.

TITKOSÍTÁS { BE | KI }

Beállítja, hogy az adatbázis titkosítva legyen (BE) vagy ne legyen titkosítva (KI). További információ az adatbázis-titkosításról: Transzparens adattitkosítás (TDE), és Transzparens adattitkosítás az Azure SQL Database, az Azure SQL Managed Instance és az Azure Synapse Analytics.

Ha az adatbázis szintjén engedélyezve van a titkosítás, az összes fájlcsoport titkosítva lesz. Minden új fájlcsoport örökli a titkosított tulajdonságot. Ha az adatbázis bármely fájlcsoportja ÍRÁSVÉDETT értékre van állítva, az adatbázis titkosítási művelete meghiúsul.

Az adatbázis titkosítási állapotát a sys.dm_database_encryption_keys dinamikus felügyeleti nézet használatával tekintheti meg.

< > db_update_option ::=

Azt szabályozza, hogy a frissítések engedélyezve legyenek-e az adatbázisban.

  • READ_ONLY

    A felhasználók adatokat olvashatnak az adatbázisból, de nem módosíthatják őket.

    Jegyzet

    A lekérdezési teljesítmény javítása érdekében frissítse a statisztikákat, mielőtt egy adatbázist READ_ONLY állít be. Ha az adatbázis READ_ONLY beállítása után további statisztikákra van szükség, az adatbázismotor statisztikákat hoz létre tempdb. További információ a csak olvasható adatbázisok statisztikáiról: Statistics.

  • OLVASÁS_ÍRÁS

    Az adatbázis olvasási és írási műveletekhez érhető el.

Az állapot módosításához kizárólagos hozzáféréssel kell rendelkeznie az adatbázishoz. További információ: SINGLE_USER záradék.

Jegyzet

Az Összevont Azure SQL Database-adatbázisokon a SET { READ_ONLY | READ_WRITE } le van tiltva.

< > db_user_access_option ::=

Szabályozza a felhasználók hozzáférését az adatbázishoz.

  • KORLÁTOZOTT_FELHASZNÁLÓ

    Az adatbázishoz csak a db_owner rögzített adatbázis-szerepkör és dbcreator és sysadmin rögzített kiszolgálói szerepkörök tagjai csatlakozhatnak, de nem korlátozzák a számukat. Az adatbázishoz való minden kapcsolat megszakad az ALTER DATABASE utasítás megszakítási záradékában megadott időkeretben. Miután az adatbázis a RESTRICTED_USER állapotra váltott, a rendszer elutasítja a nem minősített felhasználók csatlakozási kísérleteit. Az Azure SQL Database-ben a felhasználói adatbázisból kell végrehajtani. Az master adatbázisból hibaüzenet jelenhet meg 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##'.'.

  • többfelhasználós

    Minden olyan felhasználó, aki rendelkezik a megfelelő engedélyekkel az adatbázishoz való csatlakozáshoz. A beállítás állapotát a user_access katalógusnézet oszlopának vagy a UserAccess függvény tulajdonságának vizsgálatával határozhatja meg. Az Azure SQL Database-ben a felhasználói adatbázisból kell végrehajtani. Az master adatbázisból hibaüzenet jelenhet meg 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 ::=

Azt szabályozza, hogy a tranzakciók teljesen tartósak vagy késleltetettek-e.

  • FOGYATÉKOS

    Az SET DISABLED utáni tranzakciók teljes mértékben tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.

  • MEGENGEDETT

    Az SET ALLOWED utáni összes tranzakció teljesen tartós vagy késleltetett, az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítástól függően.

  • ERŐLTETETT

    A SET FORCED követő tranzakciók tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.

< > PARAMETERIZATION_option ::=

A paraméterezési beállítást szabályozza.

PARAMÉTEREZÉS { SIMPLE | KÉNYSZERÍTETT }

  • EGYSZERŰ

    A lekérdezések az adatbázis alapértelmezett viselkedése alapján vannak paraméterezve.

  • ERŐLTETETT

    Az SQL Server paraméterezi az adatbázis összes lekérdezését.

Ennek a beállításnak az aktuális beállítása a is_parameterization_forced katalógusnézet oszlopának vizsgálatával határozható meg.

< > query_store_options ::=

  • BE | KI | CLEAR [ ALL ]

    Azt szabályozza, hogy a lekérdezéstár engedélyezve van-e az adatbázisban, és a lekérdezéstár tartalmának eltávolítását is szabályozza.

    • RA

      Engedélyezi a lekérdezéstárat. A BE az alapértelmezett érték.

    • KI

      Letiltja a lekérdezéstárat.

      Jegyzet

      A Lekérdezéstár nem tiltható le egyetlen Azure SQL Database-adatbázisban és rugalmas készletben. A ALTER DATABASE [database] SET QUERY_STORE = OFF végrehajtása a figyelmeztetési 'QUERY_STORE=OFF' is not supported in this version of SQL Server..

    • VILÁGOS

      Távolítsa el a lekérdezéstár tartalmát.

OPERATION_MODE

A lekérdezéstár működési módját ismerteti. Az érvényes értékek READ_ONLY és READ_WRITE. READ_WRITE módban a Lekérdezéstár összegyűjti és megőrzi a lekérdezésterv és a futtatókörnyezet végrehajtási statisztikáinak adatait. READ_ONLY módban az információk beolvashatók a Lekérdezéstárból, de nem adnak hozzá új információkat. Ha a lekérdezéstár maximális lefoglalt területe kimerült, a lekérdezéstár a működési módját READ_ONLY értékre módosítja.

CLEANUP_POLICY

A lekérdezéstár adatmegőrzési szabályzatát ismerteti. STALE_QUERY_THRESHOLD_DAYS határozza meg, hogy hány napig őrizhetők meg a lekérdezés adatai a Lekérdezéstárban. STALE_QUERY_THRESHOLD_DAYS biginttípus. Az alapértelmezett érték 30. Az SQL Database Basic kiadás esetében az alapértelmezett érték 7 nap.

ADAT_FLUSH_INTERVALLUM_MÁSODPERCBEN

Meghatározza a lekérdezéstárba írt adatok lemezen való megőrzésének gyakoriságát. A teljesítmény optimalizálása érdekében a lekérdezéstár által gyűjtött adatok aszinkron módon lesznek megírva a lemezre. Az aszinkron átvitel gyakorisága a DATA_FLUSH_INTERVAL_SECONDS argumentum használatával van konfigurálva. DATA_FLUSH_INTERVAL_SECONDS biginttípus. Az alapértelmezett érték 900 (15 perc).

MAX_STORAGE_SIZE_MB

Meghatározza a lekérdezéstár számára lefoglalt területet. MAX_STORAGE_SIZE_MB biginttípus.

Jegyzet

Az Azure SQL Database-ben az alapértelmezett MAX_STORAGE_SIZE_MB érték szolgáltatási szint szerint különbözik, az alábbiak szerint: Prémium, Üzletileg kritikus és Rugalmas skálázás: 1024 MB; Standard és általános célú: 100 MB; Alapszintű: 10 MB A megengedett maximális MAX_STORAGE_SIZE_MB érték 10 240 MB.

Jegyzet

MAX_STORAGE_SIZE_MB korlát nem szigorúan érvényes. A tárterület méretét csak akkor ellenőrzi a rendszer, ha a Lekérdezéstár adatokat ír lemezre. Ezt az időközt a DATA_FLUSH_INTERVAL_SECONDS beállítás vagy a Management Studio Lekérdezéstár párbeszédpanel adatöblítési időközállítja be. Az intervallum alapértelmezett értéke 900 másodperc (vagy 15 perc). Ha a lekérdezéstár túllépte a tárméret-ellenőrzések közötti MAX_STORAGE_SIZE_MB korlátot, akkor írásvédett üzemmódra vált. Ha SIZE_BASED_CLEANUP_MODE engedélyezve van, a MAX_STORAGE_SIZE_MB korlátot kényszerítő törlési mechanizmus is aktiválódik. Ha már nincs elég szabad terület, a Lekérdezéstár mód automatikusan visszavált olvasási-írási módra.

Fontos

Ha úgy gondolja, hogy a számítási feladatok rögzítéséhez több mint 10 GB lemezterületre van szükség, érdemes újragondolnia és optimalizálnia a számítási feladatot a lekérdezési tervek újrafelhasználására (például kényszerített paraméterezési, vagy módosítania kell a lekérdezéstár konfigurációit. Az SQL Server 2019 -től (15.x) és az Azure SQL Database-ben QUERY_CAPTURE_MODE EGYÉNI értékre állíthatja a lekérdezésrögzítési szabályzat további szabályozásához.

INTERVALLUM_HOSSZA_PERCEKBEN

Azt az időintervallumot határozza meg, amikor a futtatókörnyezet végrehajtási statisztikáinak adatai összesítve lesznek a lekérdezéstárban. A helyhasználat optimalizálása érdekében a futtatókörnyezeti stats store futtatókörnyezeti végrehajtási statisztikái rögzített időkeretben vannak összesítve. Ez a rögzített időkeret a INTERVAL_LENGTH_MINUTES argumentum használatával van konfigurálva. INTERVAL_LENGTH_MINUTES biginttípus. Az alapértelmezett érték 60.

SIZE_BASED_CLEANUP_MODE = { AUTO | KI }

Azt szabályozza, hogy a rendszer automatikusan aktiválja-e a törlést, ha az adatok teljes mennyisége megközelíti a maximális méretet.

  • KI

    A méretalapú törlés nem aktiválódik automatikusan.

  • KOCSI

    A méretalapú törlés automatikusan aktiválódik, ha a lemez mérete eléri a 90% max_storage_size_mb. A méretalapú törlés először a legkevésbé költséges és legrégebbi lekérdezéseket távolítja el. Körülbelül 80% max_storage_size_mbáll meg . Ez az alapértelmezett konfigurációs érték.

SIZE_BASED_CLEANUP_MODE nvarchartípus.

QUERY_CAPTURE_MODE { ALL | AUTO | EGYÉNI | NONE }

A jelenleg aktív lekérdezésrögzítési módot jelöli ki. Minden mód meghatározott lekérdezésrögzítési szabályzatokat határoz meg.

Jegyzet

A kurzorok, a tárolt eljárásokon belüli lekérdezések és a natívan lefordított lekérdezések mindig rögzítve lesznek, ha a lekérdezésrögzítési mód ALL, AUTO vagy CUSTOM értékre van állítva.

  • ÖSSZES

    Az összes lekérdezést rögzíti.

  • KOCSI

    Rögzítse a releváns lekérdezéseket a végrehajtások száma és az erőforrás-felhasználás alapján. Ez az Azure SQL Database alapértelmezett konfigurációs értéke.

  • Egyik sem

    Új lekérdezések rögzítésének leállítása. A Lekérdezéstár továbbra is gyűjti a már rögzített lekérdezések fordítási és futásidejű statisztikáit. Körültekintően használja ezt a konfigurációt, mivel előfordulhat, hogy nem rögzíti a fontos lekérdezéseket.

  • SZOKÁS

    Lehetővé teszi a QUERY_CAPTURE_POLICY beállításainak vezérlését.

QUERY_CAPTURE_MODE nvarchartípus.

MAX_PLANS_PER_QUERY

Meghatározza az egyes lekérdezésekhez fenntartott tervek maximális számát. MAX_PLANS_PER_QUERY inttípus. Az alapértelmezett érték 200.

WAIT_STATS_CAPTURE_MODE { ON | KI }

Azt határozza meg, hogy a rendszer lekérdezésenként rögzíti-e a várakozási statisztikákat.

  • RA

    A lekérdezésenkénti várakozási statisztikák adatai rögzítve lesznek. Ez az alapértelmezett konfigurációs érték.

  • KI

    A lekérdezésenkénti várakozási statisztikai adatok nincsenek rögzítve.

< > query_capture_policy_option_list :: =

Szabályozza a Lekérdezéstár rögzítési szabályzatának beállításait. A STALE_CAPTURE_POLICY_THRESHOLD kivételével ezek a beállítások határozzák meg azokat az OR feltételeket, amelyek szükségesek ahhoz, hogy a lekérdezések rögzítve legyenek a meghatározott elavult rögzítési szabályzat küszöbértékében.

STALE_CAPTURE_POLICY_THRESHOLD = egész szám { DAYS | ÓRA }

Meghatározza a kiértékelési időközt annak megállapításához, hogy egy lekérdezést rögzíteni kell-e. Az alapértelmezett érték 1 nap, és 1 órától hét napig állítható be. száminttípus.

EXECUTION_COUNT = egész szám

Azt határozza meg, hogy a lekérdezések hányszor lesznek végrehajtva a kiértékelési időszakban. Az alapértelmezett érték 30, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén egy lekérdezésnek legalább 30 alkalommal kell végrehajtania egy nap alatt, hogy a lekérdezéstárban megmaradjon. EXECUTION_COUNT inttípus.

TOTAL_COMPILE_CPU_TIME_MS = egész szám

Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes fordítási CPU-időt. Az alapértelmezett érték 1000, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén a lekérdezésnek egy nap alatt a lekérdezés-fordítás során eltöltött processzoridőnek legalább egy másodpercével kell rendelkeznie ahhoz, hogy a lekérdezéstárban megmaradjon. TOTAL_COMPILE_CPU_TIME_MS inttípus.

TOTAL_EXECUTION_CPU_TIME_MS = egész szám

Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes végrehajtási CPU-időt. Az alapértelmezett érték 100, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén a lekérdezésnek legalább 100 ms processzoridővel kell rendelkeznie, amelyet egy nap alatt a lekérdezéstárban kell tárolnia. TOTAL_EXECUTION_CPU_TIME_MS inttípus.

< > snapshot_option ::=

Meghatározza a tranzakcióelkülönítés szintjét.

ALLOW_SNAPSHOT_ISOLATION { ON | KI }

  • RA

    Engedélyezi a Pillanatkép beállítást az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. Ha ez a beállítás engedélyezve van, a tranzakciók meg tudják adni a SNAPSHOT tranzakció elkülönítési szintjét. Amikor egy tranzakció a SNAPSHOT elkülönítési szinten fut, az összes utasítás pillanatképet lát az adatokról a tranzakció elején. Ha a SNAPSHOT elkülönítési szinten futó tranzakciók több adatbázisban férnek hozzá az adatokhoz, akkor vagy ALLOW_SNAPSHOT_ISOLATION be kell állítani az összes adatbázisban, vagy a tranzakció minden utasítása használjon zárolási tippeket egy FROM záradékban található hivatkozáshoz egy olyan adatbázis táblájára, ahol a ALLOW_SNAPSHOT_ISOLATION ki van kapcsolva.

  • KI

    Kikapcsolja a Pillanatkép beállítást az adatbázis szintjén. A tranzakciók nem adhatja meg a SNAPSHOT tranzakció elkülönítési szintjét.

Ha új állapotra állítja be a ALLOW_SNAPSHOT_ISOLATION (be- és kikapcsolt állapotba, illetve KI és BE) az ALTER DATABASE mindaddig nem adja vissza az irányítást a hívónak, amíg az adatbázis összes meglévő tranzakciója le nem véglegesül. Ha az adatbázis már az ALTER DATABASE utasításban megadott állapotban van, a rendszer azonnal visszaadja a vezérlőt a hívónak. Ha az ALTER DATABASE utasítás nem ad vissza gyorsan, a sys.dm_tran_active_snapshot_database_transactions segítségével állapítsa meg, hogy vannak-e hosszú ideig futó tranzakciók. Ha az ALTER DATABASE utasítás megszakad, az adatbázis abban az állapotban marad, amelyben az ALTER DATABASE indításakor volt. A sys.databases katalógusnézet a pillanatkép-elkülönítési tranzakciók állapotát jelzi az adatbázisban. Ha snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, az utasítás ALTER DATABASE .... ALLOW_SNAPSHOT_ISOLATION OFF hat másodpercet szünetel, és újrapróbálkozza a műveletet.

Ha az adatbázis OFFLINE állapotú, nem módosíthatja a ALLOW_SNAPSHOT_ISOLATION állapotát.

Ha ALLOW_SNAPSHOT_ISOLATION állít be egy READ_ONLY-adatbázisban, a beállítás megmarad, ha az adatbázis később READ_WRITE lesz.

Ennek a beállításnak az aktuális beállítása a snapshot_isolation_state katalógusnézet oszlopának vizsgálatával határozható meg.

READ_COMMITTED_SNAPSHOT { ON | KI }

  • RA

    Engedélyezi Read-Committed pillanatkép beállítását az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. Ha ez a beállítás engedélyezve van, a READ COMMITTED elkülönítési szintet meghatározó tranzakciók zárolás helyett sorverziót használnak. Minden utasítás lát egy pillanatképet az adatokról az utasítás elején, amikor egy tranzakció a READ COMMITTED elkülönítési szinten fut.

  • KI

    Az adatbázis szintjén kikapcsolja Read-Committed Pillanatkép lehetőséget. A READ COMMITTED elkülönítési szintet meghatározó tranzakciók zárolást használnak.

A READ_COMMITTED_SNAPSHOT be- vagy kikapcsolásához nem lehet aktív kapcsolat az adatbázishoz, kivéve az ALTER DATABASE parancsot futtató kapcsolatot. Az adatbázisnak azonban nem kell egyfelhasználós módban lennie. Ha az adatbázis OFFLINE állapotú, nem módosíthatja ennek a beállításnak az állapotát.

Ha READ_COMMITTED_SNAPSHOT állít be egy READ_ONLY-adatbázisban, a beállítás megmarad, amikor az adatbázis később READ_WRITE lesz.

READ_COMMITTED_SNAPSHOT nem kapcsolható be a master, tempdbvagy msdb rendszeradatbázisokhoz. Ha módosítja a modelbeállítását, akkor ez a beállítás lesz az alapértelmezett a létrehozott új adatbázisok esetében, kivéve a tempdb.

Ennek a beállításnak az aktuális beállítása a is_read_committed_snapshot_on katalógusnézet oszlopának vizsgálatával határozható meg.

Figyelmeztetés

Ha egy táblát DURABILITY = SCHEMA_ONLYhoz létre, és a READ_COMMITTED_SNAPSHOT később ALTER DATABASEhasználatával módosítja, a tábla adatai elvesznek.

Borravaló

Az Azure SQL Database-ben a READ_COMMITTED_SNAPSHOT be- vagy kikapcsolásához szükséges ALTER DATABASE parancsot az master adatbázisban kell végrehajtani.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | KI }

  • RA

    Ha a tranzakcióelkülönítési szint bármely, a SNAPSHOT-nál alacsonyabb elkülönítési szintre van beállítva, a rendszer a memóriaoptimalizált táblák összes értelmezett Transact-SQL műveletét PILLANATKÉP-elkülönítés alatt futtatja. A pillanatképnél alacsonyabb elkülönítési szintek például a READ COMMITTED vagy a READ UNCOMMITTED. Ezek a műveletek azt futtatják, hogy a tranzakcióelkülönítési szint explicit módon van-e beállítva a munkamenet szintjén, vagy az alapértelmezettet implicit módon használja a rendszer.

  • KI

    Nem emeli fel a tranzakcióelkülönítési szintet a memóriaoptimalizált táblákon Transact-SQL műveletek értelmezéséhez.

Ha az adatbázis OFFLINE állapotú, nem módosíthatja a MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT állapotát.

Az alapértelmezett érték ki van kapcsolva.

Ennek a beállításnak az aktuális beállítása a is_memory_optimized_elevate_to_snapshot_on katalógusnézet oszlopának vizsgálatával határozható meg.

< > sql_option ::=

Az ANSI-megfelelőségi beállításokat az adatbázis szintjén szabályozza.

ANSI_NULL_DEFAULT { ON | KI }

Meghatározza egy olyan oszlop vagy felhasználó által definiált CLR-típusú alapértelmezett értékét, amelynek nullképessége nincs explicit módon definiálva a CREATE TABLE vagy AZ ALTER TABLE utasításban. A korlátozásokkal definiált oszlopok a beállítástól függetlenül a kényszerszabályokat követik.

  • RA

    Az alapértelmezett érték NULL.

  • KI

    Az alapértelmezett érték NEM NULL.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULL_DEFAULT alapértelmezett adatbázisszintű beállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_NULL_DEFAULT on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULL_DFLT_ON.

Az ANSI-kompatibilitás érdekében az adatbázis beállításának ANSI_NULL_DEFAULT on értékre állításával az adatbázis alapértelmezett értéke NULL.

A beállítás állapotát a is_ansi_null_default_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullDefault függvény tulajdonságának vizsgálatával is meghatározhatja.

ANSI_NULLS { ON | KI }

  • RA

    A null értékekkel való összes összehasonlítás ISMERETLEN értékre van kiértékelve.

  • KI

    A nem Unicode-értékek és a null értékek összehasonlítása IGAZ értékre van kiértékelve, ha mindkét érték NULL.

Fontos

Az SQL Server egy későbbi verziójában a ANSI_NULLS mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULLS alapértelmezett adatbázisbeállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_NULLS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULLS.

Jegyzet

A SET ANSI_NULLS akkor is BE értékre kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

A beállítás állapotát a is_ansi_nulls_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullsEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

ANSI_PADDING { ON | KI }

  • RA

    A sztringek az átalakítás előtt azonos hosszúságúra vannak kipárnázva. A varchar vagy nvarchar adattípusba való beszúrás előtt is azonos hosszúságúra van beszúrva.

  • KI

    A karakterértékek záró üres értékeit szúrja be varchar vagy nvarchar oszlopokba. A bináris értékek záró nulláit is hagyja, amelyek varbináris oszlopokba vannak beszúrva. Az értékek nem az oszlop hosszára lesznek kipárnázva.

    Ha ki van kapcsolva, ez a beállítás csak az új oszlopok definícióját érinti.

Fontos

Az SQL Server egy későbbi verziójában a ANSI_PADDING mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Javasoljuk, hogy mindig állítsa be a ANSI_PADDING ON értékre. ANSI_PADDING be kell kapcsolnia, ha számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

karakter (n) és bináris (n) oszlop, amely lehetővé teszi a null értékeket, akkor a ANSI_PADDING be van kapcsolva. Ha ANSI_PADDING ki van kapcsolva, a rendszer levágja a záró üreseket és nullákat. karakter (n) és bináris (n) oszlopokat, amelyek nem teszik lehetővé a null értékeket, mindig az oszlop hosszára vannak kipárnázva.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_PADDING alapértelmezett adatbázisszintű beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_PADDING on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_PADDING.

A beállítás állapotát a is_ansi_padding_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiPaddingEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

ANSI_WARNINGS { ON | KI }

  • RA

    Hibák vagy figyelmeztetések jelennek meg, ha olyan feltételek lépnek fel, mint az osztás nullával. Hibák és figyelmeztetések is megjelennek, ha null értékek jelennek meg az összesítő függvényekben.

  • KI

    A rendszer nem ad vissza figyelmeztetést, és null értékeket ad vissza, ha olyan feltételek lépnek fel, mint az osztás nullával.

Jegyzet

A SET ANSI_WARNINGS be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_WARNINGS alapértelmezett adatbázisbeállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_WARNINGS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_WARNINGS.

A beállítás állapotát a is_ansi_warnings_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiWarningsEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

ARITHABORT { ON | KI }

  • RA

    A lekérdezés akkor fejeződik be, ha a lekérdezés végrehajtása során túlcsordulás vagy osztási zéró hiba lép fel.

  • KI

    Figyelmeztető üzenet jelenik meg az ilyen hibák egyike esetén. A lekérdezés, köteg vagy tranzakció továbbra is úgy működik, mintha nem történt volna hiba, még akkor sem, ha figyelmeztetés jelenik meg.

Jegyzet

A SET ARITHABORT értéknek BE értékre kell állítania, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

A beállítás állapotát a is_arithabort_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsArithmeticAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

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

További információ: ALTER DATABASE kompatibilitási szintje.

CONCAT_NULL_YIELDS_NULL { ON | KI }

  • RA

    Az összefűzési művelet eredménye NULL, ha bármelyik operandus NULL. Ha például összefűzi az "Ez" karaktersztringet, a NULL pedig a NULL értéket okozza az "Ez az" érték helyett.

  • KI

    A null érték üres karaktersorozatként lesz kezelve.

Jegyzet

CONCAT_NULL_YIELDS_NULL be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

Az SQL Server egy későbbi verziójában a CONCAT_NULL_YIELDS_NULL mindig be van kapcsolva, és minden olyan alkalmazás, amely explicit módon KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CONCAT_NULL_YIELDS_NULL alapértelmezett adatbázis-beállítását. Alapértelmezés szerint az ODBC és az OLE DB-ügyfelek egy kapcsolatszintű SET utasításbeállítást adnak ki, CONCAT_NULL_YIELDS_NULL on értékre az SQL Server egy példányához való csatlakozáskor. További információ: SET CONCAT_NULL_YIELDS_NULL.

A beállítás állapotát a is_concat_null_yields_null_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsNullConcat függvény tulajdonságának vizsgálatával is meghatározhatja.

NUMERIC_ROUNDABORT { ON | KI }

  • RA

    Hiba akkor jön létre, ha egy kifejezés pontosságvesztése következik be.

  • KI

    A pontosságvesztés nem hoz létre hibaüzenetet, és az eredmény az eredményt tároló oszlop vagy változó pontosságára kerekítve lesz.

Fontos

NUMERIC_ROUNDABORT kikapcsolva kell lennie, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

Ennek a beállításnak az állapotát a is_numeric_roundabort_on katalógusnézet oszlopában határozhatja meg. Az állapotot az IsNumericRoundAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

QUOTED_IDENTIFIER { ON | KI }

  • RA

    A kettős idézőjelek elválasztott azonosítók beágyazására használhatók.

    A kettős idézőjelekkel tagolt összes sztring objektumazonosítóként lesz értelmezve. Az idézett azonosítóknak nem kell követniük az azonosítók Transact-SQL szabályait. Lehetnek kulcsszavak, és tartalmazhatnak olyan karaktereket, amelyek nem engedélyezettek Transact-SQL azonosítókban. Ha a kettős idézőjel (") az azonosító része, akkor két idézőjel ("") is jelölhető.

  • KI

    Az azonosítók nem lehetnek idézőjelekben, és az azonosítókra vonatkozó összes Transact-SQL szabályt be kell tartaniuk. A literálok egy vagy két idézőjellel elválaszthatók.

Az SQL Server lehetővé teszi az azonosítók szögletes zárójelek ([ és ]) szerinti tagolását is. A szögletes azonosítók mindig használhatók, függetlenül a QUOTED_IDENTIFIER beállítástól. További információ: Adatbázis-azonosítók.

Amikor létrehoz egy táblát, az IDÉZŐJELES AZONOSÍTÓ beállítás mindig ON formátumban lesz tárolva a tábla metaadataiban. A beállítás akkor is tárolódik, ha a beállítás ki van kapcsolva a tábla létrehozásakor.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a QUOTED_IDENTIFIER alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, QUOTED_IDENTIFIER on értékre. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET QUOTED_IDENTIFIER.

A beállítás állapotát a is_quoted_identifier_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsQuotedIdentifiersEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

RECURSIVE_TRIGGERS { ON | KI }

  • RA

    A AFTER-triggerek rekurzív tüzelése engedélyezett.

  • KI

    A beállítás állapotát a is_recursive_triggers_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsRecursiveTriggersEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

Jegyzet

Csak a közvetlen rekurziót akadályozza meg, ha RECURSIVE_TRIGGERS KI értékre van állítva. A közvetett rekurzió letiltásához a beágyazott eseményindítók kiszolgálójának beállítását is 0 értékre kell állítania.

A beállítás állapotát a is_recursive_triggers_on katalógusnézet oszlopának vagy a IsRecursiveTriggersEnabled függvény tulajdonságának vizsgálatával határozhatja meg.

< > target_recovery_time_option ::=

A közvetett ellenőrzőpontok gyakoriságát határozza meg adatbázisonként. Az SQL Server 2016 -tól (13.x) kezdődően az új adatbázisok alapértelmezett értéke 1 perc, ami azt jelzi, hogy az adatbázis közvetett ellenőrzőpontokat használ. A régebbi verziók esetében az alapértelmezett érték 0, ami azt jelzi, hogy az adatbázis automatikus ellenőrzőpontokat használ, amelyek gyakorisága a kiszolgálópéldány helyreállítási időközének beállításától függ. A Microsoft a legtöbb rendszer esetében 1 percet javasol.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | PERC }

  • target_recovery_time

    Megadja a megadott adatbázis összeomlás esetén történő helyreállításának időpontjára vonatkozó maximális korlátot. target_recovery_timeinttípus.

  • REPETA

    Azt jelzi, hogy a target_recovery_time másodpercek számaként van kifejezve.

  • JEGYZŐKÖNYV

    Azt jelzi, hogy a target_recovery_time a percek számaként van kifejezve.

További információ a közvetett ellenőrzőpontokról: Adatbázis-ellenőrzőpontok.

WITH <termination> ::=

Megadja, hogy mikor kell visszagörgetni a hiányos tranzakciókat, amikor az adatbázis egyik állapotból a másikba kerül. Ha a megszüntetési záradék nincs megadva, az ALTER DATABASE utasítás határozatlan ideig várakozik, ha az adatbázis zárolva van. Csak egy megszüntetési záradék adható meg, és a SET záradékokat követi.

Jegyzet

Nem minden adatbázis-beállítás használja a WITH <megszüntetési> záradékot. További információt a cikk "Megjegyzések" szakaszának Beállítások című szakaszában talál.

  • VISSZAÁLLÍTÁS egész szám [MÁSODPERC] | AZONNALI VISSZAÁLLÍTÁS

    Megadja, hogy a megadott számú másodperc után vagy azonnal vissza kell-e állítani.

  • NO_WAIT

    Azt adja meg, hogy a kérés meghiúsul, ha a kért adatbázis állapota vagy beállításának módosítása nem fejezhető be azonnal. Az azonnali végrehajtás azt jelenti, hogy nem kell megvárni a tranzakciók véglegesítését vagy önálló visszaállítását.

< > temporal_history_retention ::=

Beállítások megadása

Az adatbázis-beállítások aktuális beállításainak lekéréséhez használja a sys.databases katalógusnézetet vagy DATABASEPROPERTYEX

Az adatbázis-beállítás beállítása után az új beállítás azonnal érvénybe lép.

Az összes újonnan létrehozott adatbázis adatbázis-beállításainak bármelyikéhez módosíthatja az alapértelmezett értékeket. Ehhez módosítsa a megfelelő adatbázis-beállítást a model adatbázisban.

Nem minden adatbázis-beállítás használja a WITH <végződési> záradékot, vagy más beállításokkal együtt adható meg. Az alábbi táblázat felsorolja ezeket a beállításokat, valamint azok beállítási és felmondási állapotát.

Beállítások kategória Más beállításokkal is megadható Használhatja a WITH <megszüntetési> záradékot
<auto_option> Igen Nem
<change_tracking_option> Igen Igen
<cursor_option> Igen Nem
<db_encryption_option> Igen Nem
<db_update_option> Igen Igen
<db_user_access_option> Igen Igen
<delayed_durability_option> Igen Igen
<parameterization_option> Igen Igen
ALLOW_SNAPSHOT_ISOLATION Nem Nem
READ_COMMITTED_SNAPSHOT Nem Igen
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Igen Igen
DATE_CORRELATION_OPTIMIZATION Igen Igen
<sql_option> Igen Nem
<target_recovery_time_option> Nem Igen

Példák

Egy. Az adatbázis beállítása READ_ONLY

Egy adatbázis vagy fájlcsoport állapotának READ_ONLY vagy READ_WRITE történő módosítása kizárólagos hozzáférést igényel az adatbázishoz, és eltarthat néhány másodpercig. Az alábbi példa RESTRICTED_USER módra állítja az adatbázist a hozzáférés korlátozásához. A példa ezután beállítja a AdventureWorks2022 adatbázis állapotát READ_ONLY, és az adatbázishoz való hozzáférést minden felhasználónak visszaadja.

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

Ha vissza szeretné állítani az adatbázist olvasási-írási módra:

--Connect to [database_name];
GO
ALTER DATABASE [database_name]
SET READ_WRITE
GO

Ellenőrzés:

SELECT [name], user_access_desc, is_read_only FROM sys.databases
WHERE [name] = 'database_name'
GO

B. Pillanatkép-elkülönítés engedélyezése adatbázison

Az alábbi példa lehetővé teszi a pillanatkép-elkülönítési keretrendszer beállítását a AdventureWorks2022-adatbázishoz.

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

Ellenőrizze a snapshot_isolation_framework állapotát az adatbázisban.

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

Az eredményhalmaz azt mutatja, hogy a pillanatkép-elkülönítési keretrendszer engedélyezve van.

név snapshot_isolation_state leírás
[database_name] 1 RA

C. Változáskövetés engedélyezése, módosítása vagy letiltása

Az alábbi példa lehetővé teszi az AdventureWorks2022 adatbázis változáskövetését, és a megőrzési időtartamot 2 napra állítja.

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

Az alábbi példa bemutatja, hogyan módosíthatja a megőrzési időtartamot 3 napra.

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

Az alábbi példa bemutatja, hogyan tilthatja le a változáskövetést a AdventureWorks2022 adatbázishoz.

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

D. A lekérdezéstár engedélyezése

Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja a lekérdezéstár paramétereit.

--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. A lekérdezéstár engedélyezése várakozási statisztikákkal

Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.

--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. A Lekérdezéstár engedélyezése egyéni rögzítési házirend-beállításokkal

Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.

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

* felügyelt SQL-példány *  

 

Felügyelt Azure SQL-példány

A kompatibilitási szintek SET lehetőségek, de ALTER DATABASE kompatibilitási szintje.

Jegyzet

Számos adatbáziskészlet-beállítás konfigurálható az aktuális munkamenethez SET Utasítások használatával, és az alkalmazások gyakran konfigurálják őket csatlakozáskor. A munkamenetszintű beállítási beállítások felülbírálják a ALTER DATABASE SET értékeket. Az alábbi szakaszokban ismertetett adatbázis-beállítások olyan értékek, amelyek olyan munkamenetekhez állíthatók be, amelyek nem adnak meg explicit módon más beállítási értékeket.

Szintaxis

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

Érvek

database_name

A módosítani kívánt adatbázis neve.

AKTUÁLIS

CURRENT futtatja a műveletet az aktuális adatbázisban. CURRENT nem támogatott minden beállítás minden környezetben. Ha CURRENT sikertelen, adja meg az adatbázis nevét.

< > auto_option ::=

Automatikus beállításokat vezérel.

AUTO_CREATE_STATISTICS { ON | KI }

  • RA

    A Lekérdezésoptimalizáló szükség szerint statisztikai adatokat hoz létre a lekérdezési predikátumokban lévő egyes oszlopokról a lekérdezéstervek és a lekérdezési teljesítmény javítása érdekében. Ezek az egyoszlopos statisztikák akkor jönnek létre, amikor a Lekérdezésoptimalizáló lekérdezéseket fordít le. Az egyoszlopos statisztikák csak olyan oszlopokon jönnek létre, amelyek még nem egy meglévő statisztikai objektum első oszlopa.

    Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.

  • KI

    A Lekérdezésoptimalizáló nem hoz létre statisztikákat a lekérdezési predikátumokban lévő egyetlen oszlopokra, amikor lekérdezéseket állít össze. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.

    A beállítás állapotát a is_auto_create_stats_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoCreateStatistics függvény tulajdonságának vizsgálatával is meghatározhatja.

    További információ: "Statisztika beállításai" szakasz Statisztika.

NÖVEKMÉNYES = BE | KI

Állítsa a AUTO_CREATE_STATISTICS BE értékre, és állítsa a Növekményes értéket BE értékre. Ez a beállítás automatikusan létrehozott statisztikákat hoz létre növekményes állapotként, amikor a növekményes statisztikák támogatottak. Az alapértelmezett érték ki van kapcsolva. További információ: CREATE STATISTICS.

AUTO_SHRINK { ON | KI }

  • RA

    Az adatbázisfájlok rendszeres zsugorodásra alkalmasak. Ha nincs konkrét követelménye, ne állítsa be a AUTO_SHRINK adatbázis beállítását ON értékre. További információ: Adatbázis zsugorítása.

    Az adatfájlok és a naplófájlok is automatikusan lebomlhatnak. AUTO_SHRINK csak akkor csökkenti a tranzakciónapló méretét, ha egyszerű helyreállítási modellre állítja be az adatbázist, vagy ha biztonsági másolatot készít a naplóról. Ha ki van kapcsolva, az adatbázisfájlok nem zsugorodnak automatikusan a nem használt terület rendszeres ellenőrzése során.

    A AUTO_SHRINK beállítás hatására a fájlok akkor zsugorulnak, ha a fájl több mint 25 százaléka nem használt területet tartalmaz. A beállítás hatására a fájl két méret egyikére zsugorodik. A nagyobb méretre zsugorodik:

    • Az a méret, ahol a fájl 25 százaléka nem használt terület
    • A fájl mérete a létrehozáskor

    Írásvédett adatbázisok nem zsugorodhatnak.

  • KI

    Az adatbázisfájlok nem zsugorulnak automatikusan a nem használt terület rendszeres ellenőrzése során.

A beállítás állapotát a is_auto_shrink_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoShrink függvény tulajdonságának vizsgálatával is meghatározhatja.

Jegyzet

A AUTO_SHRINK beállítás nem érhető el a tartalmazott adatbázisokban.

AUTO_UPDATE_STATISTICS { ON | KI }

  • RA

    Megadja, hogy a Lekérdezésoptimalizáló frissíti a statisztikákat, amikor egy lekérdezés használja őket, és hogy mikor lehetnek elavultak. A statisztikák elavulttá válnak, miután a beszúrási, frissítési, törlési vagy egyesítési műveletek megváltoztatták az adateloszlást a táblázatban vagy indexelt nézetben. A Lekérdezésoptimalizáló úgy határozza meg, hogy a statisztikák mikor lehetnek elavultak, ha megszámolja az adatmódosítások számát az utolsó statisztikai frissítés óta, és összehasonlítja a módosítások számát egy küszöbértékhez. A küszöbérték a tábla vagy indexelt nézetben lévő sorok számán alapul.

    A Lekérdezésoptimalizáló a lekérdezés fordítása előtt ellenőrzi a elavult statisztikákat, és gyorsítótárazott lekérdezési tervet futtat. A Lekérdezésoptimalizáló a lekérdezési predikátum oszlopait, tábláit és indexelt nézeteit használja annak meghatározására, hogy mely statisztikák lehetnek elavultak. A Lekérdezésoptimalizáló ezt az információt a lekérdezés fordítása előtt határozza meg. A gyorsítótárazott lekérdezési terv futtatása előtt az adatbázismotor ellenőrzi, hogy a lekérdezésterv hivatkozik-e up-todátumstatisztikákra.

    A AUTO_UPDATE_STATISTICS beállítás az indexekhez, egyoszlopos lekérdezési predikátumokhoz és a CREATE STATISTICS utasítással létrehozott statisztikákhoz készült statisztikákra vonatkozik. Ez a beállítás a szűrt statisztikákra is vonatkozik.

    Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.

    A AUTO_UPDATE_STATISTICS_ASYNC beállítással megadhatja, hogy a statisztikák szinkronban vagy aszinkron módon frissülnek-e.

  • KI

    Azt adja meg, hogy a Lekérdezésoptimalizáló nem frissíti a statisztikákat, amikor egy lekérdezés használja őket. A Lekérdezésoptimalizáló nem frissíti a statisztikákat, ha esetleg elavultak. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.

A beállítás állapotát a is_auto_update_stats_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoUpdateStatistics függvény tulajdonságának vizsgálatával is meghatározhatja.

További információ: "Az adatbázis-szintű statisztikai beállítások használata" című szakasz a Statisticscímű témakörben.

AUTO_UPDATE_STATISTICS_ASYNC { ON | KI }

  • RA

    Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései aszinkronok- e. A Lekérdezésoptimalizáló nem várja meg, hogy a statisztikai frissítések befejeződjenek a lekérdezések fordítása előtt.

    Ha ezt a beállítást ON értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.

    Alapértelmezés szerint a AUTO_UPDATE_STATISTICS_ASYNC beállítás ki van kapcsolva, és a Lekérdezésoptimalizáló szinkronizálva frissíti a statisztikákat.

  • KI

    Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései szinkronban legyenek. A lekérdezésoptimalizáló megvárja, amíg a statisztikai frissítések befejeződnek a lekérdezések fordítása előtt.

    Ha ezt a beállítást KI értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.

A beállítás állapotát a is_auto_update_stats_async_on katalógusnézet oszlopának vizsgálatával határozhatja meg.

A szinkron vagy aszinkron statisztikai frissítések használatának időpontjáról további információt az Statistics"Az adatbázis-szintű statisztikai beállítások használata" című szakaszában talál.

< > automatic_tuning_option ::=

A automatikus finomhangolásiautomatikus beállításait szabályozza.

FORCE_LAST_GOOD_PLAN = { DEFAULT | BE | KI }

Engedélyezi vagy letiltja FORCE_LAST_GOOD_PLANautomatikus finomhangolási beállítást.

  • ALAPÉRTELMEZETT

    A felügyelt Azure SQL-példány alapértelmezett értéke be van kapcsolva.

  • RA

    Az adatbázismotor automatikusan kényszeríti az utolsó ismert jó tervet az Transact-SQL lekérdezésekre, ahol az új lekérdezési terv teljesítményregressziót okoz. Az adatbázismotor folyamatosan figyeli a Transact-SQL lekérdezés lekérdezési teljesítményét a kényszerített tervvel. Ha teljesítménynövekedés tapasztalható, az adatbázismotor a legutóbbi ismert jó tervet használja. Ha a rendszer nem észlel teljesítménynövekedést, az adatbázismotor létrehoz egy új lekérdezési tervet. Az utasítás meghiúsul, ha a lekérdezéstár nincs engedélyezve, vagy nincs Írás-olvasás módban. Ez az alapértelmezett érték.

  • KI

    Az adatbázismotor sys.dm_db_tuning_recommendations nézetben a lekérdezésterv változásai által okozott lehetséges lekérdezési teljesítményregressziókat jelenti. Ezek a javaslatok azonban nem lesznek automatikusan alkalmazva. A felhasználók figyelhetik az aktív javaslatokat, és megoldhatják az azonosított problémákat a nézetben megjelenő Transact-SQL szkriptek alkalmazásával.

< > change_tracking_option ::=

A vezérlők módosítják a követési beállításokat. Engedélyezheti a változáskövetést, beállíthatja a beállításokat, módosíthatja a beállításokat, és letilthatja a változáskövetést. Példákért lásd a cikk későbbi, Példák szakaszát.

  • RA

    Engedélyezi az adatbázis változáskövetését. Ha engedélyezi a változáskövetést, beállíthatja az AUTOMATIKUS TÖRLÉS és A MÓDOSÍTÁS MEGŐRZÉSE beállítást is.

AUTO_CLEANUP = { ON | KI }

  • RA

    A változáskövetési adatok a megadott megőrzési időszak után automatikusan törlődnek.

  • KI

    A változáskövetési adatok nem törlődnek az adatbázisból.

CHANGE_RETENTION = retention_period { DAYS | ÓRA | PERC }

Meghatározza a változáskövetési adatok adatbázisban való megőrzésének minimális időtartamát. Az adatok csak akkor lesznek eltávolítva, ha a AUTO_CLEANUP érték be van kapcsolva.

retention_period egy egész szám, amely a megőrzési időszak numerikus összetevőjét adja meg.

Az alapértelmezett megőrzési időszak 2 nap. A minimális megőrzési idő 1 perc. Az alapértelmezett adatmegőrzési típus DAYS.

  • KI

    Letiltja az adatbázis változáskövetését. Tiltsa le a változáskövetést az összes táblán, mielőtt letiltja a változáskövetést az adatbázisból.

< > cursor_option ::=

A kurzor beállításait szabályozza.

CURSOR_CLOSE_ON_COMMIT { ON | KI }

  • RA

    A tranzakciók véglegesítésekor vagy visszagörgetésekor megnyíló kurzorok bezáródnak.

  • KI

    A kurzorok nyitva maradnak a tranzakció véglegesítésekor; A tranzakció visszagördítése bezárja a kurzorokat, kivéve az INSENSITIVE vagy a STATIC definíciót.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CURSOR_CLOSE_ON_COMMIT alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint ki CURSOR_CLOSE_ON_COMMIT állítani a kapcsolatszintű SET utasítást a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET CURSOR_CLOSE_ON_COMMIT.

A beállítás állapotát a is_cursor_close_on_commit_on katalógusnézet oszlopának vagy a DATABASEPROPERTYEX függvény IsCloseCursorsOnCommitEnabled tulajdonságának vizsgálatával határozhatja meg. A kurzor implicit módon csak leválasztáskor van felszabadítva. További információ: KURZOR DEKLARÁLÁSA.

< > db_encryption_option ::=

Az adatbázis titkosítási állapotát szabályozza.

TITKOSÍTÁS { BE | KI }

Beállítja, hogy az adatbázis titkosítva legyen (BE) vagy ne legyen titkosítva (KI). További információ az adatbázis-titkosításról: Transzparens adattitkosítás (TDE), és Transzparens adattitkosítás az Azure SQL Database, az Azure SQL Managed Instance és az Azure Synapse Analytics.

Ha az adatbázis szintjén engedélyezve van a titkosítás, az összes fájlcsoport titkosítva lesz. Minden új fájlcsoport örökli a titkosított tulajdonságot. Ha az adatbázis bármely fájlcsoportja ÍRÁSVÉDETT értékre van állítva, az adatbázis titkosítási művelete meghiúsul.

Az adatbázis titkosítási állapotát a sys.dm_database_encryption_keys dinamikus felügyeleti nézet használatával tekintheti meg.

< > delayed_durability_option ::=

Azt szabályozza, hogy a tranzakciók teljesen tartósak vagy késleltetettek-e.

  • FOGYATÉKOS

    Az SET DISABLED utáni tranzakciók teljes mértékben tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.

  • MEGENGEDETT

    Az SET ALLOWED utáni összes tranzakció teljesen tartós vagy késleltetett, az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítástól függően.

  • ERŐLTETETT

    A SET FORCED követő tranzakciók tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.

< > PARAMETERIZATION_option ::=

A paraméterezési beállítást szabályozza.

PARAMÉTEREZÉS { SIMPLE | KÉNYSZERÍTETT }

  • EGYSZERŰ

    A lekérdezések az adatbázis alapértelmezett viselkedése alapján vannak paraméterezve.

  • ERŐLTETETT

Az SQL Server paraméterezi az adatbázis összes lekérdezését.

Ennek a beállításnak az aktuális beállítása a is_parameterization_forced katalógusnézet oszlopának vizsgálatával határozható meg.

< > query_store_options ::=

  • BE | KI | CLEAR [ ALL ]

    Azt szabályozza, hogy a lekérdezéstár engedélyezve van-e az adatbázisban, és a lekérdezéstár tartalmának eltávolítását is szabályozza.

    • RA

      Engedélyezi a lekérdezéstárat.

    • KI

      Letiltja a lekérdezéstárat. Ez az alapértelmezett érték.

    • VILÁGOS

      Távolítsa el a lekérdezéstár tartalmát.

OPERATION_MODE

A lekérdezéstár működési módját ismerteti. Az érvényes értékek READ_ONLY és READ_WRITE. READ_WRITE módban a Lekérdezéstár összegyűjti és megőrzi a lekérdezésterv és a futtatókörnyezet végrehajtási statisztikáinak adatait. READ_ONLY módban az információk beolvashatók a Lekérdezéstárból, de nem adnak hozzá új információkat. Ha a lekérdezéstár maximális lefoglalt területe kimerült, a lekérdezéstár a működési módját READ_ONLY értékre módosítja.

CLEANUP_POLICY

A lekérdezéstár adatmegőrzési szabályzatát ismerteti. STALE_QUERY_THRESHOLD_DAYS határozza meg, hogy hány napig őrizhetők meg a lekérdezés adatai a Lekérdezéstárban. STALE_QUERY_THRESHOLD_DAYS biginttípus. Az alapértelmezett érték 30. Az SQL Database Basic kiadás esetében az alapértelmezett érték 7 nap.

ADAT_FLUSH_INTERVALLUM_MÁSODPERCBEN

Meghatározza a lekérdezéstárba írt adatok lemezen való megőrzésének gyakoriságát. A teljesítmény optimalizálása érdekében a lekérdezéstár által gyűjtött adatok aszinkron módon lesznek megírva a lemezre. Az aszinkron átvitel gyakorisága a DATA_FLUSH_INTERVAL_SECONDS argumentum használatával van konfigurálva. DATA_FLUSH_INTERVAL_SECONDS biginttípus. Az alapértelmezett érték 900 (15 perc).

MAX_STORAGE_SIZE_MB

Meghatározza a lekérdezéstár számára lefoglalt területet. MAX_STORAGE_SIZE_MB biginttípus. Az alapértelmezett érték 100 MB.

MAX_STORAGE_SIZE_MB korlát nem szigorúan érvényes. A tárterület méretét csak akkor ellenőrzi a rendszer, ha a Lekérdezéstár adatokat ír lemezre. Ezt az időközt a DATA_FLUSH_INTERVAL_SECONDS beállítás vagy a Management Studio Lekérdezéstár párbeszédpanel adatöblítési időközállítja be. Az intervallum alapértelmezett értéke 900 másodperc (vagy 15 perc).

Ha a lekérdezéstár túllépte a tárméret-ellenőrzések közötti MAX_STORAGE_SIZE_MB korlátot, akkor írásvédett üzemmódra vált. Ha SIZE_BASED_CLEANUP_MODE engedélyezve van, a MAX_STORAGE_SIZE_MB korlátot kényszerítő törlési mechanizmus is aktiválódik.

Ha már nincs elég szabad terület, a Lekérdezéstár mód automatikusan visszavált olvasási-írási módra.

Fontos

  • Ha úgy gondolja, hogy a számítási feladatok rögzítéséhez több mint 10 GB lemezterületre van szükség, érdemes újragondolnia és optimalizálnia a számítási feladatot a lekérdezési tervek újrafelhasználására (például kényszerített paraméterezési, vagy módosítania kell a lekérdezéstár konfigurációit.
  • Az SQL Server 2019 -től (15.x) és az Azure SQL Database-ben QUERY_CAPTURE_MODE EGYÉNI értékre állíthatja a lekérdezésrögzítési szabályzat további szabályozásához.
  • MAX_STORAGE_SIZE_MB beállítási korlát 10 240 MB a felügyelt Azure SQL-példányon.

INTERVALLUM_HOSSZA_PERCEKBEN

Azt az időintervallumot határozza meg, amikor a futtatókörnyezet végrehajtási statisztikáinak adatai összesítve lesznek a lekérdezéstárban. A helyhasználat optimalizálása érdekében a futtatókörnyezeti stats store futtatókörnyezeti végrehajtási statisztikái rögzített időkeretben vannak összesítve. Ez a rögzített időkeret a INTERVAL_LENGTH_MINUTES argumentum használatával van konfigurálva. INTERVAL_LENGTH_MINUTES biginttípus. Az alapértelmezett érték 60.

SIZE_BASED_CLEANUP_MODE = { AUTO | KI }

Azt szabályozza, hogy a rendszer automatikusan aktiválja-e a törlést, ha az adatok teljes mennyisége megközelíti a maximális méretet.

  • KI

    A méretalapú törlés nem aktiválódik automatikusan.

  • KOCSI

    A méretalapú törlés automatikusan aktiválódik, ha a lemez mérete eléri a 90% max_storage_size_mb. A méretalapú törlés először a legkevésbé költséges és legrégebbi lekérdezéseket távolítja el. Körülbelül 80% max_storage_size_mbáll meg . Ez az alapértelmezett konfigurációs érték.

SIZE_BASED_CLEANUP_MODE nvarchartípus.

QUERY_CAPTURE_MODE { ALL | AUTO | EGYÉNI | NONE }

A jelenleg aktív lekérdezésrögzítési módot jelöli ki.

  • ÖSSZES

    Minden lekérdezés rögzítve van.

  • KOCSI

    Rögzítse a releváns lekérdezéseket a végrehajtások száma és az erőforrás-felhasználás alapján. Ez az Azure SQL Database alapértelmezett konfigurációs értéke.

  • Egyik sem

    Új lekérdezések rögzítésének leállítása. A Lekérdezéstár továbbra is gyűjti a már rögzített lekérdezések fordítási és futásidejű statisztikáit. Körültekintően használja ezt a konfigurációt, mivel előfordulhat, hogy nem rögzíti a fontos lekérdezéseket.

QUERY_CAPTURE_MODE nvarchartípus.

MAX_PLANS_PER_QUERY

Az egyes lekérdezésekhez fenntartott tervek maximális számát jelölő egész szám. MAX_PLANS_PER_QUERY inttípus. Az alapértelmezett érték 200.

WAIT_STATS_CAPTURE_MODE { ON | KI }

Azt határozza meg, hogy a rendszer lekérdezésenként rögzíti-e a várakozási statisztikákat.

  • RA

    A lekérdezésenkénti várakozási statisztikák adatai rögzítve lesznek. Ez az alapértelmezett konfigurációs érték.

  • KI

    A lekérdezésenkénti várakozási statisztikai adatok nincsenek rögzítve.

< > query_capture_policy_option_list :: =

Szabályozza a Lekérdezéstár rögzítési szabályzatának beállításait. A STALE_CAPTURE_POLICY_THRESHOLD kivételével ezek a beállítások határozzák meg azokat az OR feltételeket, amelyek szükségesek ahhoz, hogy a lekérdezések rögzítve legyenek a meghatározott elavult rögzítési szabályzat küszöbértékében.

STALE_CAPTURE_POLICY_THRESHOLD = egész szám { DAYS | ÓRA }

Meghatározza a kiértékelési időközt annak megállapításához, hogy egy lekérdezést rögzíteni kell-e. Az alapértelmezett érték 1 nap, és 1 órától hét napig állítható be.

EXECUTION_COUNT = egész szám

Azt határozza meg, hogy a lekérdezések hányszor lesznek végrehajtva a kiértékelési időszakban. Az alapértelmezett érték 30, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén egy lekérdezésnek legalább 30 alkalommal kell végrehajtania egy nap alatt, hogy a lekérdezéstárban megmaradjon. EXECUTION_COUNT inttípus.

TOTAL_COMPILE_CPU_TIME_MS = egész szám

Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes fordítási CPU-időt. Az alapértelmezett érték 1000, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén a lekérdezésnek egy nap alatt a lekérdezés-fordítás során eltöltött processzoridőnek legalább egy másodpercével kell rendelkeznie ahhoz, hogy a lekérdezéstárban megmaradjon. TOTAL_COMPILE_CPU_TIME_MS inttípus.

TOTAL_EXECUTION_CPU_TIME_MS = egész szám

Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes végrehajtási CPU-időt. Az alapértelmezett érték 100, ami azt jelenti, hogy az alapértelmezett elavult rögzítési házirend küszöbértéke esetén a lekérdezésnek legalább 100 ms processzoridővel kell rendelkeznie, amelyet egy nap alatt a lekérdezéstárban kell tárolnia. TOTAL_EXECUTION_CPU_TIME_MS inttípus.

< > snapshot_option ::=

Meghatározza a tranzakcióelkülönítés szintjét.

ALLOW_SNAPSHOT_ISOLATION { ON | KI }

  • RA

    Engedélyezi a Pillanatkép beállítást az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. Ha ez a beállítás engedélyezve van, a tranzakciók meg tudják adni a SNAPSHOT tranzakció elkülönítési szintjét. Amikor egy tranzakció a SNAPSHOT elkülönítési szinten fut, az összes utasítás pillanatképet lát az adatokról a tranzakció elején. Ha a SNAPSHOT elkülönítési szinten futó tranzakciók több adatbázisban férnek hozzá az adatokhoz, akkor vagy ALLOW_SNAPSHOT_ISOLATION be kell állítani az összes adatbázisban, vagy a tranzakció minden utasítása használjon zárolási tippeket egy FROM záradékban található hivatkozáshoz egy olyan adatbázis táblájára, ahol a ALLOW_SNAPSHOT_ISOLATION ki van kapcsolva.

  • KI

    Kikapcsolja a Pillanatkép beállítást az adatbázis szintjén. A tranzakciók nem adhatja meg a SNAPSHOT tranzakció elkülönítési szintjét.

Ha új állapotra állítja be a ALLOW_SNAPSHOT_ISOLATION (be- és kikapcsolt állapotba, illetve KI és BE) az ALTER DATABASE mindaddig nem adja vissza az irányítást a hívónak, amíg az adatbázis összes meglévő tranzakciója le nem véglegesül. Ha az adatbázis már az ALTER DATABASE utasításban megadott állapotban van, a rendszer azonnal visszaadja a vezérlőt a hívónak. Ha az ALTER DATABASE utasítás nem ad vissza gyorsan, a sys.dm_tran_active_snapshot_database_transactions segítségével állapítsa meg, hogy vannak-e hosszú ideig futó tranzakciók. Ha az ALTER DATABASE utasítás megszakad, az adatbázis abban az állapotban marad, amelyben az ALTER DATABASE indításakor volt. A sys.databases katalógusnézet a pillanatkép-elkülönítési tranzakciók állapotát jelzi az adatbázisban. Ha snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, az utasítás hat másodpercet ALTER DATABASE ... ALLOW_SNAPSHOT_ISOLATION OFF szüneteltetni, és újrapróbálkozza a műveletet.

Ha az adatbázis OFFLINE állapotú, nem módosíthatja a ALLOW_SNAPSHOT_ISOLATION állapotát.

Módosíthatja a master, model, msdbés tempdb adatbázisok ALLOW_SNAPSHOT_ISOLATION beállításait. A beállítás minden alkalommal megmarad, amikor az adatbázismotor példánya le van állítva, és újraindul, ha módosítja a tempdbbeállításait. Ha módosítja a model rendszeradatbázis beállítását, akkor ez a beállítás lesz az alapértelmezett a létrehozott új adatbázisok esetében, kivéve a tempdb.

A beállítás alapértelmezés szerint be van kapcsolva a master és msdb adatbázisokhoz.

Ennek a beállításnak az aktuális beállítása a snapshot_isolation_state katalógusnézet oszlopának vizsgálatával határozható meg.

READ_COMMITTED_SNAPSHOT { ON | KI }

  • RA

    Engedélyezi a Read-Committed Pillanatkép lehetőséget az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. A beállítás engedélyezése után a READ COMMITTED elkülönítési szintet meghatározó tranzakciók zárolás helyett sorverziót használnak. Minden utasítás lát egy pillanatképet az adatokról az utasítás elején, amikor egy tranzakció a READ COMMITTED elkülönítési szinten fut.

  • KI

    Az adatbázis szintjén kikapcsolja a Read-Committed Pillanatkép beállítást. A READ COMMITTED elkülönítési szintet meghatározó tranzakciók zárolást használnak.

A READ_COMMITTED_SNAPSHOT be- vagy kikapcsolásához az ALTER DATABASE parancsot futtató kapcsolaton kívül nem lehet aktív kapcsolat az adatbázishoz. Az adatbázisnak azonban nem kell egyfelhasználós módban lennie. Ha az adatbázis OFFLINE állapotú, nem módosíthatja ennek a beállításnak az állapotát.

READ_COMMITTED_SNAPSHOT nem kapcsolható be a master, tempdbvagy msdb rendszeradatbázisokhoz. Ha módosítja a model rendszeradatbázis beállítását, akkor ez a beállítás lesz az alapértelmezett a létrehozott új adatbázisok esetében, kivéve a tempdb.

Ennek a beállításnak az aktuális beállítása a is_read_committed_snapshot_on katalógusnézet oszlopának vizsgálatával határozható meg.

Figyelmeztetés

Ha TARTÓSSÁG = SCHEMA_ONLY, majd READ_COMMITTED_SNAPSHOTALTER DATABASEhasználatával hoz létre egy táblát, a tábla adatai elvesznek.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | KI }

  • RA

    Ha a tranzakcióelkülönítési szint bármely, a SNAPSHOT-nál alacsonyabb elkülönítési szintre van beállítva, a rendszer a memóriaoptimalizált táblák összes értelmezett Transact-SQL műveletét PILLANATKÉP-elkülönítés alatt futtatja. A pillanatképnél alacsonyabb elkülönítési szintek például a READ COMMITTED vagy a READ UNCOMMITTED. Ezek a műveletek azt futtatják, hogy a tranzakcióelkülönítési szint explicit módon van-e beállítva a munkamenet szintjén, vagy az alapértelmezettet implicit módon használja a rendszer.

  • KI

    Nem emeli fel a tranzakcióelkülönítési szintet a memóriaoptimalizált táblákon Transact-SQL műveletek értelmezéséhez.

Ha az adatbázis OFFLINE állapotú, nem módosíthatja a MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT állapotát.

Az alapértelmezett érték ki van kapcsolva.

Ennek a beállításnak az aktuális beállítása a is_memory_optimized_elevate_to_snapshot_on katalógusnézet oszlopának vizsgálatával határozható meg.

< > sql_option ::=

Az ANSI-megfelelőségi beállításokat az adatbázis szintjén szabályozza.

ANSI_NULL_DEFAULT { ON | KI }

Meghatározza egy olyan oszlop vagy felhasználó által definiált CLR-típusú alapértelmezett értékét, amelynek nullképessége nincs explicit módon definiálva a CREATE TABLE vagy AZ ALTER TABLE utasításban. A korlátozásokkal definiált oszlopok a beállítástól függetlenül a kényszerszabályokat követik.

  • RA

    Az alapértelmezett érték NULL.

  • KI

    Az alapértelmezett érték NEM NULL.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULL_DEFAULT alapértelmezett adatbázisszintű beállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_NULL_DEFAULT on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULL_DFLT_ON.

Az ANSI-kompatibilitás érdekében az adatbázis beállításának ANSI_NULL_DEFAULT on értékre állításával az adatbázis alapértelmezett értéke NULL.

A beállítás állapotát a is_ansi_null_default_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullDefault függvény tulajdonságának vizsgálatával is meghatározhatja.

ANSI_NULLS { ON | KI }

  • RA

    A null értékekkel való összes összehasonlítás ISMERETLEN értékre van kiértékelve.

  • KI

    A nem Unicode-értékek és a null értékek összehasonlítása IGAZ értékre van kiértékelve, ha mindkét érték NULL.

Fontos

Az SQL Server egy későbbi verziójában a ANSI_NULLS mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULLS alapértelmezett adatbázisbeállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_NULLS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULLS.

Fontos

A SET ANSI_NULLS akkor is BE értékre kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

A beállítás állapotát a is_ansi_nulls_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullsEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

ANSI_PADDING { ON | KI }

  • RA

    A sztringek az átalakítás előtt azonos hosszúságúra vannak kipárnázva. A varchar vagy nvarchar adattípusba való beszúrás előtt is azonos hosszúságúra van beszúrva.

  • KI

    A karakterértékek záró üres értékeit szúrja be varchar vagy nvarchar oszlopokba. A bináris értékek záró nulláit is hagyja, amelyek varbináris oszlopokba vannak beszúrva. Az értékek nem az oszlop hosszára lesznek kipárnázva.

    Ha ki van kapcsolva, ez a beállítás csak az új oszlopok definícióját érinti.

Fontos

Az SQL Server egy későbbi verziójában a ANSI_PADDING mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Javasoljuk, hogy mindig állítsa be a ANSI_PADDING ON értékre. ANSI_PADDING be kell kapcsolnia, ha számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

karakter (n) és bináris (n) oszlop, amely lehetővé teszi a null értékeket, akkor a ANSI_PADDING be van kapcsolva. Ha ANSI_PADDING ki van kapcsolva, a rendszer levágja a záró üreseket és nullákat. karakter (n) és bináris (n) oszlopokat, amelyek nem teszik lehetővé a null értékeket, mindig az oszlop hosszára vannak kipárnázva.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_PADDING alapértelmezett adatbázisszintű beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_PADDING on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_PADDING.

A beállítás állapotát a is_ansi_padding_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiPaddingEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

ANSI_WARNINGS { ON | KI }

  • RA

    Hibák vagy figyelmeztetések jelennek meg, ha olyan feltételek lépnek fel, mint az osztás nullával. Hibák és figyelmeztetések is megjelennek, ha null értékek jelennek meg az összesítő függvényekben.

  • KI

    A rendszer nem ad vissza figyelmeztetést, és null értékeket ad vissza, ha olyan feltételek lépnek fel, mint az osztás nullával.

Fontos

A SET ANSI_WARNINGS be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_WARNINGS alapértelmezett adatbázisbeállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_WARNINGS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_WARNINGS.

A beállítás állapotát a is_ansi_warnings_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiWarningsEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

ARITHABORT { ON | KI }

  • RA

    A lekérdezés akkor fejeződik be, ha a lekérdezés végrehajtása során túlcsordulás vagy osztási zéró hiba lép fel.

  • KI

    Figyelmeztető üzenet jelenik meg az ilyen hibák egyike esetén. A lekérdezés, köteg vagy tranzakció továbbra is úgy működik, mintha nem történt volna hiba, még akkor sem, ha figyelmeztetés jelenik meg.

Fontos

A SET ARITHABORT értéknek BE értékre kell állítania, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

A beállítás állapotát a is_arithabort_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsArithmeticAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

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

További információ: ALTER DATABASE kompatibilitási szintje.

CONCAT_NULL_YIELDS_NULL { ON | KI }

  • RA

    Az összefűzési művelet eredménye NULL, ha bármelyik operandus NULL. Ha például összefűzi az "Ez" karaktersztringet, a NULL pedig a NULL értéket okozza az "Ez az" érték helyett.

  • KI

    A null érték üres karaktersorozatként lesz kezelve.

Fontos

CONCAT_NULL_YIELDS_NULL be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

Az SQL Server egy későbbi verziójában a CONCAT_NULL_YIELDS_NULL mindig be van kapcsolva, és minden olyan alkalmazás, amely explicit módon KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CONCAT_NULL_YIELDS_NULL alapértelmezett adatbázis-beállítását. Alapértelmezés szerint az ODBC és az OLE DB-ügyfelek egy kapcsolatszintű SET utasításbeállítást adnak ki, CONCAT_NULL_YIELDS_NULL on értékre az SQL Server egy példányához való csatlakozáskor. További információ: SET CONCAT_NULL_YIELDS_NULL.

A beállítás állapotát a is_concat_null_yields_null_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsNullConcat függvény tulajdonságának vizsgálatával is meghatározhatja.

NUMERIC_ROUNDABORT { ON | KI }

  • RA

    Hiba akkor jön létre, ha egy kifejezés pontosságvesztése következik be.

  • KI

    A pontosságvesztés nem hoz létre hibaüzenetet, és az eredmény az eredményt tároló oszlop vagy változó pontosságára kerekítve lesz.

Fontos

NUMERIC_ROUNDABORT kikapcsolva kell lennie, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.

Ennek a beállításnak az állapotát a is_numeric_roundabort_on katalógusnézet oszlopában határozhatja meg. Az állapotot az IsNumericRoundAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

QUOTED_IDENTIFIER { ON | KI }

  • RA

    A kettős idézőjelek elválasztott azonosítók beágyazására használhatók.

    A kettős idézőjelekkel tagolt összes sztring objektumazonosítóként lesz értelmezve. Az idézett azonosítóknak nem kell követniük az azonosítók Transact-SQL szabályait. Lehetnek kulcsszavak, és tartalmazhatnak olyan karaktereket, amelyek nem engedélyezettek Transact-SQL azonosítókban. Ha a kettős idézőjel (") az azonosító része, akkor két idézőjel ("") is jelölhető.

  • KI

    Az azonosítók nem lehetnek idézőjelekben, és az azonosítókra vonatkozó összes Transact-SQL szabályt be kell tartaniuk. A literálok egy vagy két idézőjellel elválaszthatók.

Az SQL Server lehetővé teszi az azonosítók szögletes zárójelek ([ és ]) szerinti tagolását is. A szögletes azonosítók mindig használhatók, függetlenül a QUOTED_IDENTIFIER beállítástól. További információ: Adatbázis-azonosítók.

Amikor létrehoz egy táblát, az IDÉZŐJELES AZONOSÍTÓ beállítás mindig ON formátumban lesz tárolva a tábla metaadataiban. A beállítás akkor is tárolódik, ha a beállítás ki van kapcsolva a tábla létrehozásakor.

A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a QUOTED_IDENTIFIER alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, QUOTED_IDENTIFIER on értékre. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET QUOTED_IDENTIFIER.

A beállítás állapotát a is_quoted_identifier_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsQuotedIdentifiersEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

RECURSIVE_TRIGGERS { ON | KI }

  • RA

    A AFTER-triggerek rekurzív tüzelése engedélyezett.

  • KI

    A beállítás állapotát a is_recursive_triggers_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsRecursiveTriggersEnabled függvény tulajdonságának vizsgálatával is meghatározhatja.

    Jegyzet

    Csak a közvetlen rekurziót akadályozza meg, ha RECURSIVE_TRIGGERS KI értékre van állítva. A közvetett rekurzió letiltásához a beágyazott eseményindítók kiszolgálójának beállítását is 0 értékre kell állítania.

A beállítás állapotát a is_recursive_triggers_on katalógusnézet oszlopának vagy a IsRecursiveTriggersEnabled függvény tulajdonságának vizsgálatával határozhatja meg.

< > target_recovery_time_option ::=

target_recovery_time_option nem támogatott a felügyelt Azure SQL-példányon.

A közvetett ellenőrzőpontok gyakoriságát határozza meg adatbázisonként. Az SQL Server 2016 -tól kezdve (13.x) az új adatbázisok alapértelmezett értéke 1 perc, ami azt jelzi, hogy az adatbázis közvetett ellenőrzőpontokat használ. A régebbi verziók esetében az alapértelmezett érték 0, ami azt jelzi, hogy az adatbázis automatikus ellenőrzőpontokat használ, amelyek gyakorisága a kiszolgálópéldány helyreállítási időközének beállításától függ. A Microsoft a legtöbb rendszer esetében 1 percet javasol.

WITH <termination> ::=

Megadja, hogy mikor kell visszagörgetni a hiányos tranzakciókat, amikor az adatbázis egyik állapotból a másikba kerül. Ha a megszüntetési záradék nincs megadva, az ALTER DATABASE utasítás határozatlan ideig várakozik, ha az adatbázis zárolva van. Csak egy megszüntetési záradék adható meg, és a SET záradékokat követi.

Jegyzet

Nem minden adatbázis-beállítás használja a WITH <megszüntetési> záradékot. További információt a cikk "Megjegyzések" szakaszának Beállítások című szakaszában talál.

  • VISSZAÁLLÍTÁS egész szám [MÁSODPERC] | AZONNALI VISSZAÁLLÍTÁS

    Megadja, hogy a megadott számú másodperc után vagy azonnal vissza kell-e állítani.

  • NO_WAIT

    Azt adja meg, hogy a kérés meghiúsul, ha a kért adatbázis állapota vagy beállításának módosítása nem fejezhető be azonnal. Az azonnali végrehajtás azt jelenti, hogy nem kell megvárni a tranzakciók véglegesítését vagy önálló visszaállítását.

< > temporal_history_retention ::=

Beállítások megadása

Az adatbázis-beállítások aktuális beállításainak lekéréséhez használja a sys.databases katalógusnézetet vagy DATABASEPROPERTYEX

Az adatbázis-beállítás beállítása után az új beállítás azonnal érvénybe lép.

Az összes újonnan létrehozott adatbázis adatbázis-beállításainak bármelyikéhez módosíthatja az alapértelmezett értékeket. Ehhez módosítsa a megfelelő adatbázis-beállítást a model rendszeradatbázisban.

Példák

Egy. Pillanatkép-elkülönítés engedélyezése adatbázison

Az alábbi példa lehetővé teszi a pillanatkép-elkülönítési keretrendszer beállítását a AdventureWorks2022-adatbázishoz.

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

Az eredményhalmaz azt mutatja, hogy a pillanatkép-elkülönítési keretrendszer engedélyezve van.

név snapshot_isolation_state leírás
[database_name] 1 RA

B. Változáskövetés engedélyezése, módosítása vagy letiltása

Az alábbi példa lehetővé teszi az AdventureWorks2022 adatbázis változáskövetését, és a megőrzési időtartamot 2 napra állítja.

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

Az alábbi példa bemutatja, hogyan módosíthatja a megőrzési időtartamot 3 napra.

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

Az alábbi példa bemutatja, hogyan tilthatja le a változáskövetést a AdventureWorks2022 adatbázishoz.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

C. A lekérdezéstár engedélyezése

Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja a lekérdezéstár paramétereit.

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. A lekérdezéstár engedélyezése várakozási statisztikákkal

Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.

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. A Lekérdezéstár engedélyezése egyéni rögzítési házirend-beállításokkal

Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.

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

felügyelt SQL-példány

* Azure Synapse
Elemzés *
 

 

Azure Synapse Analytics

Szintaxis

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

Érvek

database_name

A módosítani kívánt adatbázis neve.

< > auto_option ::=

Automatikus beállításokat vezérel.

AUTO_CREATE_STATISTICS { ON | KI }

  • RA

    A Lekérdezésoptimalizáló szükség szerint statisztikai adatokat hoz létre a lekérdezési predikátumokban lévő egyes oszlopokról a lekérdezéstervek és a lekérdezési teljesítmény javítása érdekében. Ezek az egyoszlopos statisztikák akkor jönnek létre, amikor a Lekérdezésoptimalizáló lekérdezéseket fordít le. Az egyoszlopos statisztikák csak olyan oszlopokon jönnek létre, amelyek még nem egy meglévő statisztikai objektum első oszlopa.

    Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.

  • KI

    A Lekérdezésoptimalizáló nem hoz létre statisztikákat a lekérdezési predikátumokban lévő egyetlen oszlopokra, amikor lekérdezéseket állít össze. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.

Ezt a parancsot a felhasználói adatbázishoz való csatlakozás közben kell futtatni.

A beállítás állapotát a is_auto_create_stats_on katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoCreateStatistics függvény tulajdonságának vizsgálatával is meghatározhatja.

További információ: "Az adatbázis-szintű statisztikai beállítások használata" című szakasz a Statisticscímű témakörben.

< > db_encryption_option ::=

Az adatbázis titkosítási állapotát szabályozza.

TITKOSÍTÁS { BE | KI }

  • RA

    Beállítja az adatbázis titkosítását.

  • KI

    Beállítja, hogy az adatbázis ne legyen titkosítva.

További információ az adatbázis-titkosításról: Transzparens adattitkosítás (TDE), és Transzparens adattitkosítás az Azure SQL Database, az Azure SQL Managed Instance és az Azure Synapse Analytics.

Ha az adatbázis szintjén engedélyezve van a titkosítás, az összes fájlcsoport titkosítva lesz. Minden új fájlcsoport örökli a titkosított tulajdonságot. Ha az adatbázis bármely fájlcsoportja ÍRÁSVÉDETT értékre van állítva, az adatbázis titkosítási művelete meghiúsul.

Az adatbázis titkosítási állapotát és a titkosítási vizsgálat állapotát a sys.dm_database_encryption_keys dinamikus felügyeleti nézet használatával tekintheti meg.

< > query_store_option ::=

Azt szabályozza, hogy a lekérdezéstár engedélyezve van-e ebben az adattárházban.

QUERY_STORE { ON | KI }

  • RA

    Engedélyezi a lekérdezéstárat.

  • KI

    Letiltja a lekérdezéstárat. A KI az alapértelmezett érték.

Jegyzet

Az Azure Synapse Analytics esetében ALTER DATABASE SET QUERY_STORE kell végrehajtania a felhasználói adatbázisból. Az utasítás végrehajtása egy másik adattárházpéldányból nem támogatott.

Jegyzet

Az Azure Synapse Analytics esetében a Lekérdezéstár más platformokhoz hasonlóan engedélyezhető, de a további konfigurációs beállítások nem támogatottak.

< > result_set_caching_option ::=

A következővonatkozik: Azure Synapse Analytics

Azt szabályozza, hogy a lekérdezés eredménye gyorsítótárazva legyen-e az adatbázisban.

RESULT_SET_CACHING { ON | KI }

  • RA

    Megadja, hogy az adatbázisból visszaadott lekérdezési eredményhalmazok gyorsítótárazva legyenek az adatbázisban.

  • KI

    Azt adja meg, hogy az adatbázisból visszaadott lekérdezési eredményhalmazok nem gyorsítótárazva lesznek az adatbázisban.

Ezt a parancsot a master adatbázishoz való csatlakozás közben kell futtatni. Az adatbázis-beállítás módosítása azonnal érvénybe lép. A tárolási költségek a lekérdezési eredményhalmazok gyorsítótárazásával merülnek fel. Az adatbázis eredmény gyorsítótárazásának letiltása után a korábban tárolt eredmény-gyorsítótár azonnal törlődik az Azure Synapse Storage-ból.

Futtassa ezt a parancsot az adatbázis eredménykészletének gyorsítótárazási konfigurációjának ellenőrzéséhez. Ha az eredményhalmaz gyorsítótárazása be van kapcsolva, is_result_set_caching_on 1 értéket ad vissza.

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

Futtassa ezt a parancsot annak ellenőrzéséhez, hogy a lekérdezés gyorsítótárazott eredménnyel lett-e végrehajtva. A result_cache_hit oszlop 1-et ad vissza a gyorsítótár-találathoz, 0-t a gyorsítótár-kihagyáshoz, és negatív értékeket, amiért az eredményhalmaz gyorsítótárazását nem használták. Részletekért tekintse meg a sys.dm_pdw_exec_requests.

SELECT request_id, command, result_cache_hit FROM sys.dm_pdw_exec_requests
WHERE request_id = <'Your_Query_Request_ID'>

Jegyzet

Az eredménykészlet gyorsítótárazása nem használható DECRYPTBYKEY. Ha ezt a titkosítási függvényt kell használni, győződjön meg arról, hogy az eredményhalmaz gyorsítótárazása le van tiltva (munkamenetszintű vagy adatbázisszintű) a végrehajtás időpontjában.

Fontos

Az eredményhalmaz-gyorsítótár létrehozására és a gyorsítótárból való adatok lekérésére vonatkozó műveletek egy adattárházpéldány vezérlőcsomópontján történnek. Ha az eredményhalmaz gyorsítótárazása be van kapcsolva, a nagy eredményhalmazt (például >1 millió sort) vissza adó lekérdezések nagy processzorhasználatot okozhatnak a vezérlőcsomóponton, és lelassíthatják a példány teljes lekérdezési válaszát. Ezeket a lekérdezéseket gyakran használják az adatfeltárás vagy az ETL-műveletek során. A vezérlőcsomópont terhelésének elkerülése és a teljesítményproblémák elkerülése érdekében a felhasználóknak ki kell kapcsolniuk az eredményhalmaz gyorsítótárazását az adatbázison, mielőtt futtatják az ilyen típusú lekérdezéseket.

Az eredménykészlet gyorsítótárazásával történő teljesítményhangolással kapcsolatos részletekért tekintse meg teljesítményhangolási útmutatót.

Engedélyek

A RESULT_SET_CACHING beállítás beállításához a felhasználónak kiszolgálószintű egyszerű bejelentkezésre van szüksége (amelyet a kiépítési folyamat hozott létre), vagy a dbmanager adatbázis-szerepkör tagjának kell lennie.

< > snapshot_option ::=

A következővonatkozik: Azure Synapse Analytics

Az adatbázis tranzakcióelkülönítési szintjét szabályozza.

READ_COMMITTED_SNAPSHOT { ON | KI }

  • RA

    Engedélyezi a READ_COMMITTED_SNAPSHOT lehetőséget az adatbázis szintjén.

  • KI

    Kapcsolja ki a READ_COMMITTED_SNAPSHOT beállítást az adatbázis szintjén.

Ezt a parancsot a master adatbázishoz való csatlakozás közben kell futtatni. A felhasználói adatbázis READ_COMMITTED_SNAPSHOT be- vagy kikapcsolása az adatbázis összes nyitott kapcsolatát leálltatja. Ezt a módosítást egy adatbázis-karbantartási időszak alatt kell végrehajtania, vagy várjon, amíg nincs aktív kapcsolat az adatbázissal, kivéve az ALTER DATABASE parancsot futtató kapcsolatot. Az adatbázisnak nem kell egyfelhasználós módban lennie. A READ_COMMITTED_SNAPSHOT munkamenet szintjén történő módosítása nem támogatott. Az adatbázis beállításának ellenőrzéséhez ellenőrizze a is_read_committed_snapshot_on oszlopot a sys.databases.

A READ_COMMITTED_SNAPSHOT engedélyezett adatbázis esetén a lekérdezések lassabb teljesítményt tapasztalhatnak a verziók vizsgálata miatt, ha több adatverzió van jelen. A hosszú ideig nyitott tranzakciók az adatbázis méretének növekedését is okozhatják. Ez a probléma akkor fordul elő, ha ezek a tranzakciók olyan adatmódosításokat hajtanak végre, amelyek blokkolják a verziókarbantartást.

Engedélyek

A READ_COMMITTED_SNAPSHOT beállítás beállításához a felhasználónak alter engedélyre van szüksége az adatbázisban.

Példák

Adatbázis statisztikai beállításának ellenőrzése

SELECT name, is_auto_create_stats_on FROM sys.databases

Lekérdezéstár engedélyezése adatbázishoz

ALTER DATABASE [database_name]
SET QUERY_STORE = ON;

Eredményhalmaz gyorsítótárazásának engedélyezése adatbázishoz

-- Run this command when connecting to the MASTER database

ALTER DATABASE [database_name]
SET RESULT_SET_CACHING ON;

Adatbázis eredménykészlet-gyorsítótárazási beállításának ellenőrzése

SELECT name, is_result_set_caching_on
FROM sys.databases;

Adatbázis Read_Committed_Snapshot beállításának engedélyezése

Futtassa ezt a parancsot a master adatbázishoz való csatlakozáskor.

ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON;

felügyelt SQL-példány

Microsoft Fabric

 

Microsoft Fabric

A ALTER DATABASE ... SET használatával kezelheti a Microsoft Fabric Warehouse-t.

Szintaxis

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

Érvek

DATA_LAKE_LOG_PUBLISHING

Szünetelteti vagy folytatja a Delta Lake-naplók közzétételét. További információ: Delta Lake-naplók közzététele.

VORDER

Letilthatja a V-Order viselkedését. További információ: A V-Order viselkedésének letiltása egy raktárban.

IDŐBÉLYEG

Frissíti a Fabric Data Warehouse meglévő raktári pillanatképének időbélyegét. Az időbélyeget UTC időzónában kell megadni. További információ: Warehouse-pillanatképek.

RESULT_SET_CACHING

Engedélyezi vagy letiltja az eredményhalmaz gyorsítótárazását (előzetes verzió) az aktuális elemhez. További információ: Eredményhalmaz gyorsítótárazása.

Engedélyek

A felhasználónak a Háló munkaterület rendszergazdai, tagi vagy közreműködői szerepköreinek tagja kell lennie.

Példák

Egy. A Delta Lake-naplók közzétételének szüneteltetése

Az alábbi T-SQL-parancs szünetelteti a Delta Lake Log közzétételét az aktuális raktárkörnyezetben.

ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = PAUSED;

A Delta Lake Log-közzététel aktuális állapotának ellenőrzéséhez a munkaterület összes raktárában a következő T-SQL-kóddal kérdezheti le sys.databases egy új lekérdezési ablakban:

SELECT [name], [DATA_LAKE_LOG_PUBLISHING_DESC] FROM sys.databases;

B. Eredményhalmaz gyorsítótárazásának beállítása és ellenőrzése (előzetes verzió)

A következő T-SQL-parancs lehetővé teszi, hogy az elem MyDataWarehouse megkezdje az eredménykészlet-gyorsítótár (előzetes verzió) létrehozását és alkalmazását az alkalmazható SELECT lekérdezésekre. További információ: Eredményhalmaz gyorsítótárazása.

ALTER DATABASE [MyDataWarehouse] SET RESULT_SET_CACHING ON;

A is_result_set_caching_on oszlopa ezután ellenőrizhető annak ellenőrzéséhez, hogy engedélyezve lett-e az eredménykészlet gyorsítótárazása (előzetes verzió).

SELECT [name], [is_result_set_caching_on] FROM sys.databases;