Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 opciókért lásd: ALTER DATABASE.
Note
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 *
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.
Note
Számos adatbázis-készlet opció konfigurálható a jelenlegi munkamenetre SET utasítások használatával, és gyakran az alkalmazások konfigurálják őket, amikor csatlakoznak. 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.
Syntax
ALTER DATABASE { database_name | CURRENT }
SET
{
<option_spec> [ ,...n ] [ WITH <termination> ]
}
<option_spec> ::=
{
<accelerated_database_recovery>
| <auto_option>
| <automatic_tuning_option>
| <change_tracking_option>
| <containment_option>
| <cursor_option>
| <data_retention_policy>
| <database_mirroring_option>
| <date_correlation_optimization_option>
| <db_encryption_option>
| <db_state_option>
| <db_update_option>
| <db_user_access_option>
| <delayed_durability_option>
| <external_access_option>
| FILESTREAM ( <FILESTREAM_option> )
| <HADR_options>
| <mixed_page_allocation_option>
| <optimized_locking>
| <parameterization_option>
| <query_store_options>
| <recovery_option>
| <remote_data_archive_option>
| <persistent_log_buffer_option>
| <service_broker_option>
| <snapshot_option>
| <sql_option>
| <suspend_for_snapshot_backup>
| <target_recovery_time_option>
| <termination>
| <temporal_history_retention>
}
;
<accelerated_database_recovery> ::=
{
ACCELERATED_DATABASE_RECOVERY = { ON | OFF }
[ ( PERSISTENT_VERSION_STORE_FILEGROUP = { filegroup name } ) ]
}
<auto_option> ::=
{
AUTO_CLOSE { ON | OFF }
| AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
| AUTO_SHRINK { ON | OFF }
| AUTO_UPDATE_STATISTICS { ON | OFF }
| AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}
<automatic_tuning_option> ::=
{
AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}
<change_tracking_option> ::=
{
CHANGE_TRACKING
{
= OFF
| = ON [ ( <change_tracking_option_list > [,...n] ) ]
| ( <change_tracking_option_list> [,...n] )
}
}
<change_tracking_option_list> ::=
{
AUTO_CLEANUP = { ON | OFF }
| CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
}
<containment_option> ::=
CONTAINMENT = { NONE | PARTIAL }
<cursor_option> ::=
{
CURSOR_CLOSE_ON_COMMIT { ON | OFF }
| CURSOR_DEFAULT { LOCAL | GLOBAL }
}
<database_mirroring_option>
ALTER DATABASE Database Mirroring
<date_correlation_optimization_option> ::=
DATE_CORRELATION_OPTIMIZATION { ON | OFF }
<db_encryption_option> ::=
ENCRYPTION { ON | OFF | SUSPEND | RESUME }
<db_state_option> ::=
{ ONLINE | OFFLINE | EMERGENCY }
<db_update_option> ::=
{ READ_ONLY | READ_WRITE }
<db_user_access_option> ::=
{ SINGLE_USER | RESTRICTED_USER | MULTI_USER }
<delayed_durability_option> ::=
DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }
<external_access_option> ::=
{
DB_CHAINING { ON | OFF }
| TRUSTWORTHY { ON | OFF }
| DEFAULT_FULLTEXT_LANGUAGE = { <lcid> | <language name> | <language alias> }
| DEFAULT_LANGUAGE = { <lcid> | <language name> | <language alias> }
| NESTED_TRIGGERS = { OFF | ON }
| TRANSFORM_NOISE_WORDS = { OFF | ON }
| TWO_DIGIT_YEAR_CUTOFF = { 1753, ..., 2049, ..., 9999 }
}
<FILESTREAM_option> ::=
{
NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL
| DIRECTORY_NAME = <directory_name>
}
<HADR_options> ::=
ALTER DATABASE SET HADR
<mixed_page_allocation_option> ::=
MIXED_PAGE_ALLOCATION { OFF | ON }
<parameterization_option> ::=
PARAMETERIZATION { SIMPLE | FORCED }
<query_store_options> ::=
{
QUERY_STORE
{
= OFF [ ( FORCED ) ]
| = ON [ ( <query_store_option_list> [,...n] ) ]
| ( < query_store_option_list> [,...n] )
| CLEAR [ ALL ]
}
}
<query_store_option_list> ::=
{
OPERATION_MODE = { READ_WRITE | READ_ONLY }
| CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
| DATA_FLUSH_INTERVAL_SECONDS = number
| MAX_STORAGE_SIZE_MB = number
| INTERVAL_LENGTH_MINUTES = number
| SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
| QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
| MAX_PLANS_PER_QUERY = number
| WAIT_STATS_CAPTURE_MODE = { ON | OFF }
| QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}
<query_capture_policy_option_list> :: =
{
STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
| EXECUTION_COUNT = number
| TOTAL_COMPILE_CPU_TIME_MS = number
| TOTAL_EXECUTION_CPU_TIME_MS = number
}
<recovery_option> ::=
{
RECOVERY { FULL | BULK_LOGGED | SIMPLE }
| TORN_PAGE_DETECTION { ON | OFF }
| PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
}
<remote_data_archive_option> ::=
{
REMOTE_DATA_ARCHIVE =
{
ON ( SERVER = <server_name>,
{
CREDENTIAL = <db_scoped_credential_name>
| FEDERATED_SERVICE_ACCOUNT = ON | OFF
}
)
| OFF
}
}
<persistent_log_buffer_option> ::=
{
PERSISTENT_LOG_BUFFER
{
= ON (DIRECTORY_NAME= 'path-to-directory-on-a-DAX-volume')
| = OFF
}
}
<service_broker_option> ::=
{
ENABLE_BROKER
| DISABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
| HONOR_BROKER_PRIORITY { ON | OFF }
}
<snapshot_option> ::=
{
ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
| READ_COMMITTED_SNAPSHOT { ON | OFF }
| MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = { ON | OFF }
}
<sql_option> ::=
{
ANSI_NULL_DEFAULT { ON | OFF }
| ANSI_NULLS { ON | OFF }
| ANSI_PADDING { ON | OFF }
| ANSI_WARNINGS { ON | OFF }
| ARITHABORT { ON | OFF }
| COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }
}
<suspend_for_snapshot_backup> ::=
SET SUSPEND_FOR_SNAPSHOT_BACKUP = { ON | OFF } [ ( MODE = COPY_ONLY ) ]
<target_recovery_time_option> ::=
TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
<termination>::=
{
ROLLBACK AFTER number [ SECONDS ]
| ROLLBACK IMMEDIATE
| NO_WAIT
}
<temporal_history_retention> ::=
TEMPORAL_HISTORY_RETENTION { ON | OFF }
<data_retention_policy> ::=
DATA_RETENTION { ON | OFF }
<optimized_locking> ::=
{
OPTIMIZED_LOCKING = { ON | OFF }
}
Arguments
database_name
A módosítani kívánt adatbázis neve.
CURRENT
Vonatkozik: SQL Server (SQL Server 2012-től (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 ::=
Vonatkozik: SQL Server (SQL Server 2019 (15.x)-től kezdve)
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 }
ON
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_nameutasí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.
OFF
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.
Note
A AUTO_CLOSE beállítás nem érhető el a tárolt adatbázisokban vagy az SQL Database-ben.
Ennek az opciónak az állapotát a is_auto_close_on katalógusnézet oszlopának vagy a IsAutoClose funkció tulajdonságának vizsgálatával határozhatja meg.
Amikor AUTO_CLOSE ON-ra van állítva, a sys.databases katalógusnézet egyes oszlopai és a DATABASEPROPERTYEX függvény NULL-t adnak vissza, mert az adatbázis nem elérhető az adatok lekérésére. 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 }
ON
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.
OFF
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.
Ennek az opciónak az állapotát a is_auto_create_stats_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAutoCreateStatistics függvény tulajdonságának vizsgálatával is meghatározhatod.
További információért lásd a Statisztikák rész "Az adatbázis-szintű statisztikai opciók használata" című szakaszát.
NÖVEKMÉNYES = BE | KI
Érvényes: SQL Server (SQL Server 2014 (12.x)-től kezdve) és Azure SQL Database-re
Á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 }
ON
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.
OFF
Az adatbázisfájlok nem zsugorulnak automatikusan a nem használt terület rendszeres ellenőrzése során.
Ennek az opciónak az állapotát a is_auto_shrink_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAutoShrink függvény tulajdonságának vizsgálatával is meghatározhatod.
Note
A AUTO_SHRINK beállítás nem érhető el a tartalmazott adatbázisokban.
AUTO_UPDATE_STATISTICS { ON | KI }
ON
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.
OFF
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.
Ennek az opciónak az állapotát a is_auto_update_stats_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAutoUpdateStatistics függvény tulajdonságának vizsgálatával is meghatározhatod.
További információért lásd a Statisztikák rész "Az adatbázis-szintű statisztikai opciók használata" című szakaszát.
AUTO_UPDATE_STATISTICS_ASYNC { ON | KI }
ON
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.
OFF
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.
Note
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.
Ennek az opciónak az állapotát a is_auto_update_stats_async_on katalógusnézet oszlopának vizsgálatával állapíthatja meg.
További információkért a szinkron vagy aszinkron statisztikai frissítések használatáról lásd a Statisztikák "Statisztikai opciók" szekcióját.
< > automatic_tuning_option ::=
Vonatkozik: SQL Server (az SQL Server 2017-től (14.x))
Engedélyezi vagy letiltja FORCE_LAST_GOOD_PLANaz automatikus hangolás opciót. Ennek a beállításnak az állapotát sys.database_automatic_tuning_optionsnézetben tekintheti meg.
FORCE_LAST_GOOD_PLAN = { DEFAULT | BE | KI }
DEFAULT
Az SQL Server alapértelmezett értéke ki van kapcsolva.
ON
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 akkor hibázik, ha a Query Store nincs engedélyezve, vagy ha a Query Store nincs Olvasó-Írás módban.
OFF
Az Adatbázis Engine potenciális lekérdezési teljesítménycsökkenéseket jelent, amelyeket a lekérdezési terv változásai okoznak sys.dm_db_tuning_recommendations nézetben. 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 ::=
Alkalmazható: 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ái részt.
ON
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 }
ON
A változáskövetési adatok a megadott megőrzési időszak után automatikusan törlődnek.
OFF
A változáskövetési adatok nem törlődnek automatikusan az adatbázisból.
CHANGE_RETENTION = retention_period { NAP | ÓRÁK | JEGYZŐKÖNYV }
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 meghatározza a megtartási időszak numerikus komponenseit.
Az alapértelmezett megtartási időszak 2 nap. A minimális megőrzési idő 1 perc. Az alapértelmezett megtartási típus a 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 ::=
Vonatkozik: SQL Server (SQL Server 2012-től (11.x))
Az adatbázis-elszigetelési beállításokat szabályozza.
CONTAINMENT = { NONE | RÉSZLEGES}
NONE
Az adatbázis nem tartalmazott adatbázist.
PARTIAL
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ázisok című témakörben talál.
< > cursor_option ::=
A kurzor beállításait szabályozza.
CURSOR_CLOSE_ON_COMMIT { ON | KI }
ON
A tranzakciók véglegesítésekor vagy visszagörgetésekor megnyíló kurzorok bezáródnak.
OFF
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óért lásd: SET CURSOR_CLOSE_ON_COMMIT.
Ennek az opciónak az állapotát a is_cursor_close_on_commit_on katalógusnézet oszlopának vagy a IsCloseCursorsOnCommitEnabled funkció tulajdonságának vizsgálatával határozhatja meg.
CURSOR_DEFAULT { HELYI | GLOBÁLIS }
A következőkre vonatkozik: SQL Server
Azt szabályozza, hogy a kurzor hatóköre a LOCAL vagy a GLOBAL függvényt használja-e.
LOCAL
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.
GLOBAL
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óért lásd : DEKLARÁL KURSOR.
Ennek az opciónak az állapotát a is_local_cursor_default katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsLocalCursorsDefault függvény tulajdonságának vizsgálatával is meghatározhatod.
< > 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.
ON
Default. Engedélyezi az ideiglenes táblamegőrzési szabályzatot. További információ: Az előzményadatok megőrzésének kezelése rendszerverziójú időbeli táblákban.
OFF
Ne végezzen időbeli előzménymegőrzési szabályzatot.
< > data_retention_policy ::=
Csak Azure SQL Edge-re vonatkozik.
DATA_RETENTION { ON | KI }
ON
Engedélyezi az adatmegőrzési szabályzaton alapuló törlést egy adatbázisban.
OFF
Letiltja az adatmegőrzési szabályzaton alapuló törlést egy adatbázisban.
<database_mirroring>
A következőkre 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őkre vonatkozik: SQL Server
A date_correlation_optimization beállítást vezérli.
DATE_CORRELATION_OPTIMIZATION { ON | KI }
ON
Az SQL Server korrelációs statisztikákat tart fenn, ahol egy FOREIGN KEY korlátozás bármely két táblát összekapcsol az adatbázisban, és a tábláknak dátumidő-oszlopai vannak.
Az engedélyezés
DATE_CORRELATION_OPTIMIZATIONnöveli a támadási felületet a megbízhatatlan biztonsági mentés visszaállításakor, miközben az optimalizáló végrehajtja azokat az objektumokat, amelyek megemelt jogosultsággal rendelkeznek.OFF
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 az opciónak a jelenlegi beállítását a is_date_correlation_on katalógusnézet oszlopának vizsgálatával lehet meghatározni.
< > db_encryption_option ::=
Az adatbázis titkosítási állapotát szabályozza.
TITKOSÍTÁS { BE | KI | FELFÜGGESZTÉS | ÖNÉLETRAJZ }
ON
Beállítja az adatbázis titkosítását.
OFF
Beállítja, hogy az adatbázis ne legyen titkosítva.
SUSPEND
Vonatkozik: SQL Server (SQL Server 2019 (15.x)-től kezdve)
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.
RESUME
Vonatkozik: SQL Server (SQL Server 2019 (15.x)-től kezdve)
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 szkennelés állapotát a sys.dm_database_encryption_keys dinamikus menedzsment nézet segítségével láthatod.
< > db_state_option ::=
A következőkre 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ó.
EMERGENCY
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.
Ennek az opciónak az állapotát a state katalógusnézetben az és state_desc oszlopok vizsgálatával állapíthatja meg. Az állapotot a Status függvény tulajdonságának vizsgálatával is meghatározhatod. 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.
Note
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
tempdbrendszeradatbázisban. További információkért a csak olvasható adatbázis statisztikáiról lásd: Statisztikák.READ_WRITE
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.
Note
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őkre 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. Ennek az opciónak az állapotának megtekintéséhez kérd le az is_auto_update_stats_async_onoszlopot a sys.databases katalógusnézetben. Ha a beállítás be van kapcsolva, hajtsa végre a következő feladatokat:
Állítsa AUTO_UPDATE_STATISTICS_ASYNC KI értékre.
Ellenőrizd az aktív aszinkron statisztikai feladatokat a sys.dm_exec_background_job_queue dinamikus menedzsment 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.
RESTRICTED_USER
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.
MULTI_USER
Minden olyan felhasználó, aki rendelkezik a megfelelő engedélyekkel az adatbázishoz való csatlakozáshoz. Ennek az opciónak az állapotát a user_access katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a UserAccess függvény tulajdonságának vizsgálatával is meghatározhatod.
< > delayed_durability_option ::=
Vonatkozik: SQL Server (SQL Server 2014-től (12.x))
Azt szabályozza, hogy a tranzakciók teljesen tartósak vagy késleltetettek-e.
DISABLED
Az
SET DISABLEDutá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.ALLOWED
Az
SET ALLOWEDutá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.FORCED
A
SET FORCEDkö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őkre 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 }
ON
Az adatbázis lehet egy adatbázisközi tulajdonosi lánc forrása vagy célja.
OFF
Az adatbázis nem vehet részt az adatbázis-tulajdonjogok közötti láncolásban.
Important
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.
Ennek az opciónak az állapotát a is_db_chaining_on katalógusnézet oszlopának vizsgálatával állapíthatja meg.
TRUSTWORTHY { ON | KI }
ON
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.
OFF
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.
Ennek az opciónak az állapotát a is_trustworthy_on katalógusnézet oszlopának vizsgálatával állapíthatja meg.
DEFAULT_FULLTEXT_LANGUAGE
Vonatkozik: SQL Server (SQL Server 2012-től (11.x))
A teljes szövegű indexelt oszlopok alapértelmezett nyelvi értékét adja meg.
Important
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
Vonatkozik: SQL Server (SQL Server 2012-től (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 aliazsok listájáért lásd a sys.syslanguages. 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
Vonatkozik: SQL Server (SQL Server 2012-től (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
Vonatkozik: SQL Server (SQL Server 2012-től (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
Vonatkozik: SQL Server (SQL Server 2012-től (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 ::=
Vonatkozik: SQL Server (SQL Server 2012-től (11.x))
Szabályozza a FileTables beállításait.
NON_TRANSACTED_ACCESS = { KI | READ_ONLY | FULL }
OFF
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.
FULL
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őkre vonatkozik: SQL Server
Lásd ALTER DATABASE SET HADR.
< > mixed_page_allocation_option ::=
Vonatkozik: SQL Server (SQL Server 2016-tól (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 }
OFF
Az adatbázis mindig egységes terjedelmével hozza létre a kezdeti oldalakat. A KI az alapértelmezett érték.
ON
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 }
SIMPLE
A lekérdezések az adatbázis alapértelmezett viselkedése alapján vannak paraméterezve.
FORCED
Az SQL Server paraméterezi az adatbázis összes lekérdezését.
Ennek az opciónak a jelenlegi beállítását a is_parameterization_forced katalógusnézet oszlopának vizsgálatával lehet meghatározni.
< > query_store_options ::=
Vonatkozik: SQL Server (SQL Server 2016-tól (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.
ON
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álhatnak
QUERY_CAPTURE_MODE = CUSTOM. A Query Store egyedi foglalási szabályzat opcióinak engedélyezésére vonatkozó példákat lásd a cikk későbbi példái részében .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.
Note
A Lekérdezéstár nem tiltható le az Azure SQL Database-ben. A
ALTER DATABASE [database] SET QUERY_STORE = OFFvégrehajtása a figyelmeztetési'QUERY_STORE=OFF' is not supported in this version of SQL Server..TISZTA [ MIND ]
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.
READ_WRITE
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 a bigint típus. Az alapértelmezett érték 30.
DATA_FLUSH_INTERVAL_SECONDS
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 a nagy betű. 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 a nagy betű. Az alapértelmezett érték 100 MB SQL Server esetén (SQL Server 2016 (13.x) és SQL Server 2017 (14.x)). Az SQL Server 2019-től (15.x) kezdve 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.
Important
Ha úgy gondolod, hogy a munkaterhelés rögzítése több mint 10 GB lemezhelyet igényel, akkor érdemes újragondolni és optimalizálni a terhelésedet a lekérdezési tervek újrahasznosítására (például kényszerített paraméterezéssel, vagy a Query Store konfigurációinak módosításával).
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.
INTERVAL_LENGTH_MINUTES
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 a nagy betű. 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.
AUTO
A méretalapú tisztítás automatikusan aktiválódik, amikor 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-nál áll meg. Ez az alapértelmezett konfigurációs érték.
OFF
A méretalapú törlés nem aktiválódik automatikusan.
SIZE_BASED_CLEANUP_MODE Nvarchar tí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 Nvarchar típusú.
Note
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.
ALL
Az összes lekérdezést rögzíti. Az ALL az alapértelmezett konfigurációs érték az SQL Server (SQL Server 2016 (13.x)-től SQL Server 2017-ig (14.x)).
AUTO
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.
NONE
Ú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.
CUSTOM
Vonatkozik: SQL Server (SQL Server 2019 (15.x)-től kezdve)
Lehetővé teszi a QUERY_CAPTURE_POLICY opciók feletti irányítást. 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 az int típus. Az alapértelmezett érték 200.
WAIT_STATS_CAPTURE_MODE { ON | KI }
Vonatkozik: SQL Server (az SQL Server 2017-től (14.x)))
Azt határozza meg, hogy a rendszer lekérdezésenként rögzíti-e a várakozási statisztikákat.
ON
A lekérdezésenkénti várakozási statisztikák adatai rögzítve lesznek. Ez az alapértelmezett konfigurációs érték.
OFF
A lekérdezésenkénti várakozási statisztikai adatok nincsenek rögzítve.
< > query_capture_policy_option_list :: =
Vonatkozik: SQL Server (SQL Server 2019 (15.x)-től kezdve)
A Query Store foglalási szabályzatának 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 { NAPOK | ÓRÁK }
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 az int. tí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 az int. tí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 az int. típus.
< > recovery_option ::=
A következőkre 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.
FULL
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óért lásd: 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óért lásd: Recovery modellek.
SIMPLE
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óért lásd: Recovery modellek.
Important
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. További információért a megfelelő helyreállítási modell kiválasztásáról lásd: Recovery models.
Ennek az opciónak az állapotát a recovery_model katalógusnézetben az és recovery_model_desc oszlopok vizsgálatával állapíthatja meg. Az állapotot a Recovery függvény tulajdonságának vizsgálatával is meghatározhatod.
TORN_PAGE_DETECTION { ON | KI }
ON
A hiányos oldalakat az adatbázismotor észlelheti.
OFF
Az adatbázismotor nem képes hiányos lapokat észlelni.
Important
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 | SEMMI }
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ő.
CHECKSUM
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.
NONE
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 a 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.
Note
Az SQL Server korábbi verzióiban a PAGE_VERIFY adatbázis beállítása NONE értékre van állítva a
tempdbadatbázishoz, és nem módosítható. Az SQL Server 2008 -tól kezdve (10.0.x) atempdbadatbá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 atempdbadatbá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. További információért a helyreállítási lehetőségekről lásd: RESTORE Arguments. 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:
- AZ MSSQLSERVER 823- hiba elhárítása
- MSSQLSERVER 824- hiba elhárítása
- 825-ös MSSQLSERVER-hiba (újraolvasás)hibaelhárítása.
Ennek az opciónak a jelenlegi beállítása a page_verify_option katalógusnézet oszlopának vagy IsTornPageDetectionEnableda DATABASEPROPERTYEX függvény tulajdonságának vizsgálatával határozható meg.
< > remote_data_archive_option ::=
Vonatkozik: SQL Server (SQL Server 2016-tól (13.x))
Engedélyezi vagy letiltja a Stretch Database használatát az adatbázishoz. További információ: Stretch Database.
Important
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
ON
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_ownerengedély szükséges. A Stretch Database adatbázishoz való engedélyezéséhezdb_ownerésCONTROL DATABASEengedélyek szükségesek.KISZOLGÁLÓ = <server_name>
Az Azure-kiszolgáló címét adja meg. Adja meg a név
.database.windows.netrészét. PéldáulMyStretchDatabaseServer.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,
dbmanagervagysysadminfió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.
OFF
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őkre 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üldés megkezdődik, és a is_broker_enabledzászló a sys.databases katalógusnézetben igazra van állítva. 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.
Note
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üldés megáll, és a is_broker_enabled zászló hamisnak van állítva a sys.databases katalógus né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 }
ON
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.
OFF
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 a jelenlegi beállítása a is_broker_priority_honored katalógus nézet oszlopában jelenik meg.
< > snapshot_option ::=
Kiszámítja a tranzakcióelkülönítési szintet.
ALLOW_SNAPSHOT_ISOLATION { ON | KI }
ON
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.
OFF
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 tér vissza gyorsan, használd sys.dm_tran_active_snapshot_database_transactions arra, hogy megállapítsd, vannak-e hosszú távú 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ógus nézete megmutatja az adatbázisban lévő snapshot-izolációs tranzakciók állapotát. 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 az opciónak a jelenlegi beállítását a snapshot_isolation_state katalógusnézet oszlopának vizsgálatával lehet meghatározni.
READ_COMMITTED_SNAPSHOT { ON | KI }
ON
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.
OFF
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 az opciónak a jelenlegi beállítását a is_read_committed_snapshot_on katalógusnézet oszlopának vizsgálatával lehet meghatározni.
Warning
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 }
Vonatkozik: SQL Server (SQL Server 2014-től (12.x))
ON
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.
OFF
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 az opciónak a jelenlegi beállítását a is_memory_optimized_elevate_to_snapshot_on katalógusnézet oszlopának vizsgálatával lehet meghatározni.
< > 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.
ON
A nem definiált oszlopok alapértelmezett értéke NULL.
OFF
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óért lásd: 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.
Ennek az opciónak az állapotát a is_ansi_null_default_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiNullDefault függvény tulajdonságának vizsgálatával is meghatározhatod.
ANSI_NULLS { ON | KI }
ON
A null értékekkel való összes összehasonlítás ISMERETLEN értékre van kiértékelve.
OFF
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.
Important
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óért lásd: SET ANSI_NULLS.
Important
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.
Ennek az opciónak az állapotát a is_ansi_nulls_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiNullsEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
ANSI_PADDING { ON | KI }
ON
A sztringek az átalakítás előtt azonos hosszúságúra vannak kipárnázva. Ugyanannyira párnáztam, mielőtt varchar vagy nvarchar adattípusba illesztettem be.
OFF
Karakterértékekben lévő üres alakokat helyez be a varchar vagy nvarchar oszlopokba. Emellett a bináris értékekben is hagy mögöttes nullákat, amelyeket varbináris oszlopokba helyeznek. 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.
Important
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.
a char(n) és binary(n) oszlopokat, amelyek nullokat engedélyeznek, akkor a oszlophosszhoz tömörülnek, ha ANSI_PADDING ON-ra van állítva. Ha ANSI_PADDING ki van kapcsolva, a rendszer levágja a záró üreseket és nullákat. A char(n) és binary(n) oszlopokat, amelyek nem engedik nullokat, mindig az oszlop hosszához vannak kitöltve.
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.
Ennek az opciónak az állapotát a is_ansi_padding_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiPaddingEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
ANSI_WARNINGS { ON | KI }
ON
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.
OFF
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.
Important
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óért lásd: SET ANSI_WARNINGS.
Ennek az opciónak az állapotát a is_ansi_warnings_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiWarningsEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
ARITHABORT { ON | KI }
ON
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.
OFF
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.
Important
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.
Ennek az opciónak az állapotát a is_arithabort_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsArithmeticAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
További információ: ALTER DATABASE kompatibilitási szintje.
CONCAT_NULL_YIELDS_NULL { ON | KI }
ON
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.
OFF
A null érték üres karaktersorozatként lesz kezelve.
Important
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.
Ennek az opciónak az állapotát a is_concat_null_yields_null_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsNullConcat függvény tulajdonságának vizsgálatával is meghatározhatod.
NUMERIC_ROUNDABORT { ON | KI }
ON
Hiba akkor jön létre, ha egy kifejezés pontosságvesztése következik be.
OFF
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.
Important
NUMERIC_ROUNDABORT kikapcsolva kell lennie, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
Ennek az opciónak az is_numeric_roundabort_on katalógusnézet oszlopában határozhatja meg. Az állapotot a IsNumericRoundAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
QUOTED_IDENTIFIER { ON | KI }
ON
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ő.OFF
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.
Ennek az opciónak az állapotát a is_quoted_identifier_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsQuotedIdentifiersEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
RECURSIVE_TRIGGERS { ON | KI }
ON
A AFTER-triggerek rekurzív tüzelése engedélyezett.
OFF
Ennek az opciónak az állapotát a
is_recursive_triggers_onkatalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot aIsRecursiveTriggersEnabledfüggvény tulajdonságának vizsgálatával is meghatározhatod.
Note
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.
Ennek az opciónak az állapotát a is_recursive_triggers_on katalógusnézet oszlopának vagy a IsRecursiveTriggersEnabled funkció tulajdonságának vizsgálatával határozhatja meg.
< > suspend_for_snapshot_backup ::=
A következőkre vonatkozik: SQL Server (AZ 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.
MÓD = COPY_ONLY
Optional. COPY_ONLY módot használ.
< > target_recovery_time_option ::=
Vonatkozik: SQL Server (SQL Server 2012-től (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) kezdve 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 { MÁSODPERCEK | JEGYZŐKÖNYV }
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_time az int. típus.
SECONDS
Azt jelzi, hogy target_recovery_time másodpercek száma formájában van kifejezve.
MINUTES
Azt jelzi, hogy target_recovery_time percek száma formájában van kifejezve.
További információért a közvetett ellenőrzőpontokról lásd: Adatbázis ellenőrzőpontok.
OPTIMIZED_LOCKING { ON | KI }
Vonatkozik: SQL Server (SQL Server 2025 (17.x)-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ú.
MEGSZAKÍTÁSSAL <> ::=
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.
Note
Nem minden adatbázis-beállítás használja a WITH <megszüntetési> záradékot. További információért lásd a cikk "Megjegyzések" szekciójának Beállítási opciók alatti táblázatot.
VISSZAGÖRCS EGÉSZ SZÁM UTÁN [MÁSODPERCEK] | AZONNALI VISSZAHÚZÁ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 a DATABASEPROPERTYEX-et
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.
| Opciók kategóriája | Más beállításokkal is megadható | Használhatja a WITH <megszüntetési> záradékot |
|---|---|---|
| <db_state_option> | Yes | Yes |
| <db_user_access_option> | Yes | Yes |
| <db_update_option> | Yes | Yes |
| <delayed_durability_option> | Yes | Yes |
| <external_access_option> | Yes | No |
| <cursor_option> | Yes | No |
| <auto_option> | Yes | No |
| <sql_option> | Yes | No |
| <recovery_option> | Yes | No |
| <target_recovery_time_option> | No | Yes |
| <database_mirroring_option> | No | No |
| ALLOW_SNAPSHOT_ISOLATION | No | No |
| READ_COMMITTED_SNAPSHOT | No | Yes |
| MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT | Yes | Yes |
| <service_broker_option> | Yes | No |
| DATE_CORRELATION_OPTIMIZATION | Yes | Yes |
| <parameterization_option> | Yes | Yes |
| <change_tracking_option> | Yes | Yes |
| <db_encryption_option> | Yes | No |
| <accelerated_database_recovery> | No | Yes |
| <optimized_locking> | No | Yes |
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
COLLATE
READ_ONLY
READ_WRITE
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.
Examples
A. Beállítások megadása adatbázison
Az alábbi példa a AdventureWorks2025 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 AdventureWorks2025 adatbázis állapotát READ_ONLY, és az adatbázishoz való hozzáférést minden felhasználónak visszaadja.
Note
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 AdventureWorks2025 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 AdventureWorks2025-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.
| name | snapshot_isolation_state | description |
|---|---|---|
| [database_name] | 1 | ON |
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 AdventureWorks2025 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 AdventureWorks2025 adatbázishoz.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;
E. A lekérdezéstár engedélyezése
Vonatkozik: SQL Server (SQL Server 2016-tól (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
Vonatkozik: SQL Server (az SQL Server 2017-től (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
Vonatkozik: SQL Server (SQL Server 2019 (15.x)-től kezdve)
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
)
);
Kapcsolódó tartalom
- Statistics
- DATABASEPROPERTYEX (Transact-SQL)
- sys.databases
- sys.data_spaces
- sys.database_automatic_tuning_options
- sys.database_automatic_tuning_mode
- ALTER DATABASE kompatibilitási szintje
- ALTER DATABASE adatbázis-tükrözési
- ALTER DATABASE SET HADR
- ADATBÁZIS LÉTREHOZÁSA
- Változáskövetés (SQL Server) engedélyezése és letiltása
- DROP DATABASE (Transact-SQL)
- TRANZAKCIÓELKÜLÖNÍTÉSI SZINT (Transact-SQL) beállítása
- sp_configure
- Számítási feladatok Lekérdezéstár
* SQL adatbázis *
SQL adatbázis
A kompatibilitási szintek SET lehetőségek, de ALTER DATABASE kompatibilitási szintje.
Note
Számos adatbázis-készlet opció konfigurálható az aktuális ülésre SET utasítások használatával, és gyakran az alkalmazások konfigurálják őket, amikor csatlakoznak. 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.
Syntax
ALTER DATABASE { database_name | Current }
SET
{
<option_spec> [ ,...n ] [ WITH <termination> ]
}
;
<option_spec> ::=
{
<auto_option>
| <automatic_tuning_option>
| <change_tracking_option>
| <cursor_option>
| <db_encryption_option>
| <db_update_option>
| <db_user_access_option>
| <delayed_durability_option>
| <parameterization_option>
| <query_store_options>
| <snapshot_option>
| <sql_option>
| <target_recovery_time_option>
| <termination>
| <temporal_history_retention>
}
;
<auto_option> ::=
{
AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
| AUTO_SHRINK { ON | OFF }
| AUTO_UPDATE_STATISTICS { ON | OFF }
| AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}
<automatic_tuning_option> ::=
{
AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
| AUTOMATIC_TUNING ( CREATE_INDEX = { DEFAULT | ON | OFF } )
| AUTOMATIC_TUNING ( DROP_INDEX = { DEFAULT | ON | OFF } )
| AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}
<change_tracking_option> ::=
{
CHANGE_TRACKING
{
= OFF
| = ON [ ( <change_tracking_option_list > [,...n] ) ]
| ( <change_tracking_option_list> [,...n] )
}
}
<change_tracking_option_list> ::=
{
AUTO_CLEANUP = { ON | OFF }
| CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
}
<cursor_option> ::=
{
CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}
<db_encryption_option> ::=
ENCRYPTION { ON | OFF }
<db_update_option> ::=
{ READ_ONLY | READ_WRITE }
<db_user_access_option> ::=
{ RESTRICTED_USER | MULTI_USER }
<delayed_durability_option> ::= DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }
<parameterization_option> ::=
PARAMETERIZATION { SIMPLE | FORCED }
<query_store_options> ::=
{
QUERY_STORE
{
= OFF
| = ON [ ( <query_store_option_list> [,... n] ) ]
| ( < query_store_option_list> [,... n] )
| CLEAR [ ALL ]
}
}
<query_store_option_list> ::=
{
OPERATION_MODE = { READ_WRITE | READ_ONLY }
| CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
| DATA_FLUSH_INTERVAL_SECONDS = number
| MAX_STORAGE_SIZE_MB = number
| INTERVAL_LENGTH_MINUTES = number
| SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
| QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
| MAX_PLANS_PER_QUERY = number
| WAIT_STATS_CAPTURE_MODE = { ON | OFF }
| QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}
<query_capture_policy_option_list> :: =
{
STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
| EXECUTION_COUNT = number
| TOTAL_COMPILE_CPU_TIME_MS = number
| TOTAL_EXECUTION_CPU_TIME_MS = number
}
<snapshot_option> ::=
{
ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
| READ_COMMITTED_SNAPSHOT { ON | OFF }
| MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
}
<sql_option> ::=
{
ANSI_NULL_DEFAULT { ON | OFF }
| ANSI_NULLS { ON | OFF }
| ANSI_PADDING { ON | OFF }
| ANSI_WARNINGS { ON | OFF }
| ARITHABORT { ON | OFF }
| COMPATIBILITY_LEVEL = { 160 | 150 | 140 | 130 | 120 | 110 | 100 }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }
}
<termination>::=
{
ROLLBACK AFTER integer [ SECONDS ]
| ROLLBACK IMMEDIATE
| NO_WAIT
}
<temporal_history_retention>::=TEMPORAL_HISTORY_RETENTION { ON | OFF }
Arguments
database_name
A módosítani kívánt adatbázis neve.
CURRENT
CURRENTfuttatja a műveletet az aktuális adatbázisban.CURRENTnem támogatott minden beállítás minden környezetben. HaCURRENTsikertelen, adja meg az adatbázis nevét.
< > auto_option ::=
Automatikus beállításokat vezérel.
AUTO_CREATE_STATISTICS { ON | KI }
ON
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.
OFF
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.
Ennek az opciónak az állapotát a is_auto_create_stats_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAutoCreateStatistics függvény tulajdonságának vizsgálatával is meghatározhatod.
További információért lásd a Statisztikák "Statisztikai opciók" szekcióját.
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 }
ON
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.
OFF
Az adatbázisfájlok nem zsugorulnak automatikusan a nem használt terület rendszeres ellenőrzése során.
Ennek az opciónak az állapotát a is_auto_shrink_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAutoShrink függvény tulajdonságának vizsgálatával is meghatározhatod.
Note
A AUTO_SHRINK lehetőség nem érhető el egy tartalmazott adatbázisban.
AUTO_UPDATE_STATISTICS { ON | KI }
ON
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.
OFF
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.
Ennek az opciónak az állapotát a
is_auto_update_stats_onkatalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot aIsAutoUpdateStatisticsfüggvény tulajdonságának vizsgálatával is meghatározhatod.További információért lásd a Statisztikák "Statisztikai opciók" szekcióját.
AUTO_UPDATE_STATISTICS_ASYNC { ON | KI }
ON
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.
OFF
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.
Ennek az opciónak az állapotát a is_auto_update_stats_async_on katalógusnézet oszlopának vizsgálatával állapíthatja meg.
További információkért a szinkron vagy aszinkron statisztikai frissítések használatáról lásd a Statisztikák "Statisztikai opciók" szekcióját.
< > automatic_tuning_option ::=
Automatikus hangolási opciókat irányít. 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 | ÖRÖKLÉS | EGYEDI }
AUTO
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.
INHERIT
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.
CUSTOM
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 tiltja az automatikus indexkezelési CREATE_INDEX opciót, az automatikus hangolást. 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.
DEFAULT
Ö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.
ON
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.
OFF
Nem hoz létre automatikusan hiányzó indexeket az adatbázisban.
DROP_INDEX = { DEFAULT | BE | KI }
Engedélyezi vagy tiltja az automatikus indexkezelési DROP_INDEX opciót, az automatikus hangolást. 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.
DEFAULT
Ö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.
ON
Automatikusan elveti a duplikált vagy már nem hasznos indexeket a teljesítményterhelésbe.
OFF
Nem dobja automatikusan a hiányzó indexeket az adatbázisba.
FORCE_LAST_GOOD_PLAN = { DEFAULT | BE | KI }
Engedélyezi vagy letiltja az automatikus tervkorrekciós FORCE_LAST_GOOD_PLAN opciót, az automatikus hangolást. 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.
DEFAULT
Ö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.
ON
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. A mondat akkor hibázik, ha a Query Store nincs engedélyezve, vagy nem Read-Write módban van.
OFF
Az Adatbázis Engine potenciális lekérdezési teljesítménycsökkenéseket jelent, amelyeket a lekérdezési terv változásai okoznak sys.dm_db_tuning_recommendations nézetben. 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ái részt.
ON
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 }
ON
A változáskövetési adatok a megadott megőrzési időszak után automatikusan törlődnek.
OFF
A változáskövetési adatok nem törlődnek az adatbázisból.
CHANGE_RETENTION = retention_period { NAP | ÓRÁK | JEGYZŐKÖNYV }
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 meghatározza a megtartási időszak numerikus komponenseit.
Az alapértelmezett megtartási időszak 2 nap. A minimális megőrzési idő 1 perc. Az alapértelmezett megtartási típus a 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.
< > cursor_option ::=
A kurzor beállításait szabályozza.
CURSOR_CLOSE_ON_COMMIT { ON | KI }
ON
A tranzakciók véglegesítésekor vagy visszagörgetésekor megnyíló kurzorok bezáródnak.
OFF
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óért lásd: SET CURSOR_CLOSE_ON_COMMIT.
Ennek az opciónak az állapotát a is_cursor_close_on_commit_on katalógusnézet oszlopának vagy a IsCloseCursorsOnCommitEnabled funkció 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óért lásd : DEKLARÁL KURSOR.
< > 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 menedzsment nézet segítségével láthatod.
< > 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.
Note
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ókért a csak olvasható adatbázis statisztikáiról lásd: Statisztikák.READ_WRITE
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.
Note
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.
RESTRICTED_USER
Az adatbázishoz csak a
db_ownerrögzített adatbázis-szerepkör ésdbcreatoréssysadminrö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. Azmasteradatbázisból hibaüzenet jelenhet megMsg 42008, Level 16, State 3, Line 1 ODBC error: State: 28000: Error: 18456 Message:'[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user '##MS_InstanceCertificate##'.'.MULTI_USER
Minden olyan felhasználó, aki rendelkezik a megfelelő engedélyekkel az adatbázishoz való csatlakozáshoz. Ennek az opciónak az állapotát a
user_accesskatalógusnézet oszlopának vagy aUserAccessfunkció tulajdonságának vizsgálatával határozhatja meg. Az Azure SQL Database-ben a felhasználói adatbázisból kell végrehajtani. Azmasteradatbázisból hibaüzenet jelenhet megMsg 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.
DISABLED
Az
SET DISABLEDutá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.ALLOWED
Az
SET ALLOWEDutá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.FORCED
A
SET FORCEDkö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 }
SIMPLE
A lekérdezések az adatbázis alapértelmezett viselkedése alapján vannak paraméterezve.
FORCED
Az SQL Server paraméterezi az adatbázis összes lekérdezését.
Ennek az opciónak a jelenlegi beállítását a is_parameterization_forced katalógusnézet oszlopának vizsgálatával lehet meghatározni.
< > 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.
ON
Engedélyezi a lekérdezéstárat. A BE az alapértelmezett érték.
OFF
Letiltja a lekérdezéstárat.
Note
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 = OFFvégrehajtása a figyelmeztetési'QUERY_STORE=OFF' is not supported in this version of SQL Server..CLEAR
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 a bigint típus. Az alapértelmezett érték 30. Az SQL Database Basic kiadásnál az alapértelmezett idő 7 nap.
DATA_FLUSH_INTERVAL_SECONDS
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 a nagy betű. 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 a nagy betű.
Note
Az Azure SQL Database-ben az alapértelmezett MAX_STORAGE_SIZE_MB érték szolgáltatásszintenként eltér, a következőként: Premium, Business Critical és Hyperscale: 1 024 MB; Szabványos és általános célú: 100 MB; Alap: 10 MB A maximális engedélyezett MAX_STORAGE_SIZE_MB érték 10 240 MB.
Note
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.
Important
Ha úgy gondolod, hogy a munkaterhelés rögzítése több mint 10 GB lemezhelyet igényel, akkor érdemes újragondolni és optimalizálni a terhelésedet a lekérdezési tervek újrahasznosítására (például kényszerített paraméterezéssel, vagy a Query Store konfigurációinak módosításával).
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.
INTERVAL_LENGTH_MINUTES
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 a nagy betű. 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.
OFF
A méretalapú törlés nem aktiválódik automatikusan.
AUTO
A méretalapú tisztítás automatikusan aktiválódik, amikor 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-nál áll meg. Ez az alapértelmezett konfigurációs érték.
SIZE_BASED_CLEANUP_MODE Nvarchar tí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.
Note
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.
ALL
Az összes lekérdezést rögzíti.
AUTO
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.
NONE
Ú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.
CUSTOM
Lehetővé teszi a QUERY_CAPTURE_POLICY beállításainak vezérlését.
QUERY_CAPTURE_MODE Nvarchar típusú.
MAX_PLANS_PER_QUERY
Meghatározza az egyes lekérdezésekhez fenntartott tervek maximális számát. MAX_PLANS_PER_QUERY az int tí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.
ON
A lekérdezésenkénti várakozási statisztikák adatai rögzítve lesznek. Ez az alapértelmezett konfigurációs érték.
OFF
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 { NAPOK | ÓRÁK }
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. A számaz INT-t tí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 az int. tí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 az int. tí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 az int. típus.
< > snapshot_option ::=
Meghatározza a tranzakcióelkülönítés szintjét.
ALLOW_SNAPSHOT_ISOLATION { ON | KI }
ON
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.
OFF
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 tér vissza gyorsan, használd sys.dm_tran_active_snapshot_database_transactions arra, hogy megállapítsd, vannak-e hosszú távú 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ógus nézete megmutatja az adatbázisban lévő snapshot-izolációs tranzakciók állapotát. 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 az opciónak a jelenlegi beállítását a snapshot_isolation_state katalógusnézet oszlopának vizsgálatával lehet meghatározni.
READ_COMMITTED_SNAPSHOT { ON | KI }
ON
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.
OFF
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 az opciónak a jelenlegi beállítását a is_read_committed_snapshot_on katalógusnézet oszlopának vizsgálatával lehet meghatározni.
Warning
Ha egy táblát létrehoznak , DURABILITY = SCHEMA_ONLYés READ_COMMITTED_SNAPSHOT később módosítják ALTER DATABASE, az adat elveszik.
Tip
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 }
ON
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.
OFF
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 az opciónak a jelenlegi beállítását a is_memory_optimized_elevate_to_snapshot_on katalógusnézet oszlopának vizsgálatával lehet meghatározni.
< > 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.
ON
Az alapértelmezett érték NULL.
OFF
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óért lásd: 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.
Ennek az opciónak az állapotát a is_ansi_null_default_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiNullDefault függvény tulajdonságának vizsgálatával is meghatározhatod.
ANSI_NULLS { ON | KI }
ON
A null értékekkel való összes összehasonlítás ISMERETLEN értékre van kiértékelve.
OFF
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.
Important
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óért lásd: SET ANSI_NULLS.
Note
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.
Ennek az opciónak az állapotát a is_ansi_nulls_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiNullsEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
ANSI_PADDING { ON | KI }
ON
A sztringek az átalakítás előtt azonos hosszúságúra vannak kipárnázva. Ugyanannyira párnáztam, mielőtt varchar vagy nvarchar adattípusba illesztettem be.
OFF
Karakterértékekben lévő üres alakokat helyez be a varchar vagy nvarchar oszlopokba. Emellett a bináris értékekben is hagy mögöttes nullákat, amelyeket varbináris oszlopokba helyeznek. 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.
Important
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.
a char(n) és binary(n) oszlopokat, amelyek nullokat engedélyeznek, akkor a oszlophosszhoz tömörülnek, ha ANSI_PADDING ON-ra van állítva. Ha ANSI_PADDING ki van kapcsolva, a rendszer levágja a záró üreseket és nullákat. A char(n) és binary(n) oszlopokat, amelyek nem engedik nullokat, mindig az oszlop hosszához vannak kitöltve.
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.
Ennek az opciónak az állapotát a is_ansi_padding_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiPaddingEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
ANSI_WARNINGS { ON | KI }
ON
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.
OFF
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.
Note
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óért lásd: SET ANSI_WARNINGS.
Ennek az opciónak az állapotát a is_ansi_warnings_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiWarningsEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
ARITHABORT { ON | KI }
ON
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.
OFF
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.
Note
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.
Ennek az opciónak az állapotát a is_arithabort_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsArithmeticAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
További információ: ALTER DATABASE kompatibilitási szintje.
CONCAT_NULL_YIELDS_NULL { ON | KI }
ON
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.
OFF
A null érték üres karaktersorozatként lesz kezelve.
Note
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.
Ennek az opciónak az állapotát a is_concat_null_yields_null_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsNullConcat függvény tulajdonságának vizsgálatával is meghatározhatod.
NUMERIC_ROUNDABORT { ON | KI }
ON
Hiba akkor jön létre, ha egy kifejezés pontosságvesztése következik be.
OFF
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.
Important
NUMERIC_ROUNDABORT kikapcsolva kell lennie, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
Ennek az opciónak az is_numeric_roundabort_on katalógusnézet oszlopában határozhatja meg. Az állapotot a IsNumericRoundAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
QUOTED_IDENTIFIER { ON | KI }
ON
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ő.OFF
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.
Ennek az opciónak az állapotát a is_quoted_identifier_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsQuotedIdentifiersEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
RECURSIVE_TRIGGERS { ON | KI }
ON
A AFTER-triggerek rekurzív tüzelése engedélyezett.
OFF
Ennek az opciónak az állapotát a
is_recursive_triggers_onkatalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot aIsRecursiveTriggersEnabledfüggvény tulajdonságának vizsgálatával is meghatározhatod.
Note
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.
Ennek az opciónak az állapotát a is_recursive_triggers_on katalógusnézet oszlopának vagy a IsRecursiveTriggersEnabled funkció 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) kezdve 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 { MÁSODPERCEK | JEGYZŐKÖNYV }
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_time az int. típus.
SECONDS
Azt jelzi, hogy target_recovery_time másodpercek száma formájában van kifejezve.
MINUTES
Azt jelzi, hogy target_recovery_time percek száma formájában van kifejezve.
További információért a közvetett ellenőrzőpontokról lásd: Adatbázis ellenőrzőpontok.
MEGSZAKÍTÁSSAL <> ::=
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.
Note
Nem minden adatbázis-beállítás használja a WITH <megszüntetési> záradékot. További információért lásd a cikk "Megjegyzések" szekciójának Beállítási opciók alatti táblázatot.
VISSZAGÖRCS EGÉSZ SZÁM UTÁN [MÁSODPERCEK] | AZONNALI VISSZAHÚZÁ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 ::=
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.
ON
Default. Engedélyezi az ideiglenes táblamegőrzési szabályzatot. További információ: Az előzményadatok megőrzésének kezelése rendszerverziójú időbeli táblákban.
OFF
Ne végezzen időbeli előzménymegőrzési szabályzatot.
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 a DATABASEPROPERTYEX-et
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.
| Opciók kategóriája | Más beállításokkal is megadható | Használhatja a WITH <megszüntetési> záradékot |
|---|---|---|
| <auto_option> | Yes | No |
| <change_tracking_option> | Yes | Yes |
| <cursor_option> | Yes | No |
| <db_encryption_option> | Yes | No |
| <db_update_option> | Yes | Yes |
| <db_user_access_option> | Yes | Yes |
| <delayed_durability_option> | Yes | Yes |
| <parameterization_option> | Yes | Yes |
| ALLOW_SNAPSHOT_ISOLATION | No | No |
| READ_COMMITTED_SNAPSHOT | No | Yes |
| MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT | Yes | Yes |
| DATE_CORRELATION_OPTIMIZATION | Yes | Yes |
| <sql_option> | Yes | No |
| <target_recovery_time_option> | No | Yes |
Examples
A. 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 AdventureWorks2025 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 AdventureWorks2025-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.
| name | snapshot_isolation_state | description |
|---|---|---|
| [database_name] | 1 | ON |
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 AdventureWorks2025 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 AdventureWorks2025 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
)
);
Kapcsolódó tartalom
- Statistics
- DATABASEPROPERTYEX (Transact-SQL)
- sys.databases
- sys.data_spaces
- sys.database_automatic_tuning_options
- sys.database_automatic_tuning_mode
- ALTER DATABASE kompatibilitási szintje
- ALTER DATABASE adatbázis-tükrözési
- ADATBÁZIS LÉTREHOZÁSA
- Változáskövetés (SQL Server) engedélyezése és letiltása
- DROP DATABASE (Transact-SQL)
- TRANZAKCIÓELKÜLÖNÍTÉSI SZINT (Transact-SQL) beállítása
- sp_configure
- Számítási feladatok Lekérdezéstár
- Lekérdezéstár tippeket
* felügyelt SQL-példány *
Azure SQL Managed Instance
A kompatibilitási szintek SET lehetőségek, de ALTER DATABASE kompatibilitási szintje.
Note
Számos adatbázis-készlet opció konfigurálható az aktuális ülésre SET utasítások használatával, és gyakran az alkalmazások konfigurálják őket, amikor csatlakoznak. 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.
Syntax
ALTER DATABASE { database_name | Current }
SET
{
<optionspec> [ ,...n ]
}
;
<optionspec> ::=
{
<auto_option>
| <change_tracking_option>
| <cursor_option>
| <db_encryption_option>
| <delayed_durability_option>
| <parameterization_option>
| <query_store_options>
| <snapshot_option>
| <sql_option>
| <target_recovery_time_option>
| <termination>
| <temporal_history_retention>
}
;
<auto_option> ::=
{
AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
| AUTO_SHRINK { ON | OFF }
| AUTO_UPDATE_STATISTICS { ON | OFF }
| AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}
<automatic_tuning_option> ::=
{
AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}
<change_tracking_option> ::=
{
CHANGE_TRACKING
{
= OFF
| = ON [ ( <change_tracking_option_list > [,...n] ) ]
| ( <change_tracking_option_list> [,...n] )
}
}
<change_tracking_option_list> ::=
{
AUTO_CLEANUP = { ON | OFF }
| CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
}
<cursor_option> ::=
{
CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}
<db_encryption_option> ::=
ENCRYPTION { ON | OFF }
<delayed_durability_option> ::=DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }
<parameterization_option> ::=
PARAMETERIZATION { SIMPLE | FORCED }
<query_store_options> ::=
{
QUERY_STORE
{
= OFF
| = ON [ ( <query_store_option_list> [,... n] ) ]
| ( < query_store_option_list> [,... n] )
| CLEAR [ ALL ]
}
}
<query_store_option_list> ::=
{
OPERATION_MODE = { READ_WRITE | READ_ONLY }
| CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
| DATA_FLUSH_INTERVAL_SECONDS = number
| MAX_STORAGE_SIZE_MB = number
| INTERVAL_LENGTH_MINUTES = number
| SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
| QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
| MAX_PLANS_PER_QUERY = number
| WAIT_STATS_CAPTURE_MODE = { ON | OFF }
| QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}
<query_capture_policy_option_list> :: =
{
STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
| EXECUTION_COUNT = number
| TOTAL_COMPILE_CPU_TIME_MS = number
| TOTAL_EXECUTION_CPU_TIME_MS = number
}
<snapshot_option> ::=
{
ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
| READ_COMMITTED_SNAPSHOT { ON | OFF }
| MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
}
<sql_option> ::=
{
ANSI_NULL_DEFAULT { ON | OFF }
| ANSI_NULLS { ON | OFF }
| ANSI_PADDING { ON | OFF }
| ANSI_WARNINGS { ON | OFF }
| ARITHABORT { ON | OFF }
| COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }
}
<temporal_history_retention>::= TEMPORAL_HISTORY_RETENTION { ON | OFF }
Arguments
database_name
A módosítani kívánt adatbázis neve.
CURRENT
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 }
ON
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.
OFF
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.
Ennek az opciónak az állapotát a
is_auto_create_stats_onkatalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot aIsAutoCreateStatisticsfüggvény tulajdonságának vizsgálatával is meghatározhatod.További információért lásd a Statisztikák "Statisztikai opciók" szekcióját.
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 }
ON
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.
OFF
Az adatbázisfájlok nem zsugorulnak automatikusan a nem használt terület rendszeres ellenőrzése során.
Ennek az opciónak az állapotát a is_auto_shrink_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAutoShrink függvény tulajdonságának vizsgálatával is meghatározhatod.
Note
A AUTO_SHRINK beállítás nem érhető el a tartalmazott adatbázisokban.
AUTO_UPDATE_STATISTICS { ON | KI }
ON
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.
OFF
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.
Ennek az opciónak az állapotát a is_auto_update_stats_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAutoUpdateStatistics függvény tulajdonságának vizsgálatával is meghatározhatod.
További információért lásd a Statisztikák rész "Az adatbázis-szintű statisztikai opciók használata" című szakaszát.
AUTO_UPDATE_STATISTICS_ASYNC { ON | KI }
ON
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.
OFF
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.
Ennek az opciónak az állapotát a is_auto_update_stats_async_on katalógusnézet oszlopának vizsgálatával állapíthatja meg.
További információkért a szinkron vagy aszinkron statisztikai frissítések használatáról lásd a Statisztikák "Az adatbázis-szintű statisztikai opciók használata" című szakaszát.
< > automatic_tuning_option ::=
Automatikus hangolási opciókat irányít.
FORCE_LAST_GOOD_PLAN = { DEFAULT | BE | KI }
Engedélyezi vagy letiltja FORCE_LAST_GOOD_PLANaz automatikus hangolás opciót.
DEFAULT
A felügyelt Azure SQL-példány alapértelmezett értéke be van kapcsolva.
ON
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. A mondat akkor hibázik, ha a Query Store nincs engedélyezve, vagy nem Read-Write módban van. Ez az alapértelmezett érték.
OFF
Az Adatbázis Engine potenciális lekérdezési teljesítménycsökkenéseket jelent, amelyeket a lekérdezési terv változásai okoznak sys.dm_db_tuning_recommendations nézetben. 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ái részt.
ON
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 }
ON
A változáskövetési adatok a megadott megőrzési időszak után automatikusan törlődnek.
OFF
A változáskövetési adatok nem törlődnek az adatbázisból.
CHANGE_RETENTION = retention_period { NAP | ÓRÁK | JEGYZŐKÖNYV }
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 meghatározza a megtartási időszak numerikus komponenseit.
Az alapértelmezett megtartási időszak 2 nap. A minimális megőrzési idő 1 perc. Az alapértelmezett megtartási típus a 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.
< > cursor_option ::=
A kurzor beállításait szabályozza.
CURSOR_CLOSE_ON_COMMIT { ON | KI }
ON
A tranzakciók véglegesítésekor vagy visszagörgetésekor megnyíló kurzorok bezáródnak.
OFF
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óért lásd: SET CURSOR_CLOSE_ON_COMMIT.
Ennek az opciónak az á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 állapíthatja meg. A kurzor implicit módon csak leválasztáskor van felszabadítva. További információért lásd : DEKLARÁL KURSOR.
< > 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 menedzsment nézet segítségével láthatod.
< > delayed_durability_option ::=
Azt szabályozza, hogy a tranzakciók teljesen tartósak vagy késleltetettek-e.
DISABLED
Az
SET DISABLEDutá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.ALLOWED
Az
SET ALLOWEDutá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.FORCED
A
SET FORCEDkö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 }
SIMPLE
A lekérdezések az adatbázis alapértelmezett viselkedése alapján vannak paraméterezve.
FORCED
Az SQL Server paraméterezi az adatbázis összes lekérdezését.
Ennek az opciónak a jelenlegi beállítását a is_parameterization_forced katalógusnézet oszlopának vizsgálatával lehet meghatározni.
< > 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.
ON
Engedélyezi a lekérdezéstárat.
OFF
Letiltja a lekérdezéstárat. Ez az alapértelmezett érték.
CLEAR
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 a bigint típus. Az alapértelmezett érték 30. Az SQL Database Basic kiadásnál az alapértelmezett idő 7 nap.
DATA_FLUSH_INTERVAL_SECONDS
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 a nagy betű. 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 a nagy betű. 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.
Important
- Ha úgy gondolod, hogy a munkaterhelés rögzítése több mint 10 GB lemezhelyet igényel, akkor érdemes újragondolni és optimalizálni a terhelésedet a lekérdezési tervek újrahasznosítására (például kényszerített paraméterezéssel, vagy a Query Store konfigurációinak módosításával).
- Az SQL Server 2019 -től (15.x) és az Azure SQL Database-ben
QUERY_CAPTURE_MODEEGYÉNI értékre állíthatja a lekérdezésrögzítési szabályzat további szabályozásához. -
MAX_STORAGE_SIZE_MBbeállítási korlát 10 240 MB a felügyelt Azure SQL-példányon.
INTERVAL_LENGTH_MINUTES
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 a nagy betű. 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.
OFF
A méretalapú törlés nem aktiválódik automatikusan.
AUTO
A méretalapú tisztítás automatikusan aktiválódik, amikor 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-nál áll meg. Ez az alapértelmezett konfigurációs érték.
SIZE_BASED_CLEANUP_MODE Nvarchar típusú.
QUERY_CAPTURE_MODE { ALL | AUTO | EGYÉNI | NONE }
A jelenleg aktív lekérdezésrögzítési módot jelöli ki.
ALL
Minden lekérdezés rögzítve van.
AUTO
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.
NONE
Ú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 Nvarchar tí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 az int tí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.
ON
A lekérdezésenkénti várakozási statisztikák adatai rögzítve lesznek. Ez az alapértelmezett konfigurációs érték.
OFF
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 { NAPOK | ÓRÁK }
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 az int. tí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 az int. tí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 az int. típus.
< > snapshot_option ::=
Meghatározza a tranzakcióelkülönítés szintjét.
ALLOW_SNAPSHOT_ISOLATION { ON | KI }
ON
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.
OFF
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 tér vissza gyorsan, használd sys.dm_tran_active_snapshot_database_transactions arra, hogy megállapítsd, vannak-e hosszú távú 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ógus nézete megmutatja az adatbázisban lévő snapshot-izolációs tranzakciók állapotát. 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.
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 az opciónak a jelenlegi beállítását a snapshot_isolation_state katalógusnézet oszlopának vizsgálatával lehet meghatározni.
READ_COMMITTED_SNAPSHOT { ON | KI }
ON
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.
OFF
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 az opciónak a jelenlegi beállítását a is_read_committed_snapshot_on katalógusnézet oszlopának vizsgálatával lehet meghatározni.
Warning
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 }
ON
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.
OFF
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 az opciónak a jelenlegi beállítását a is_memory_optimized_elevate_to_snapshot_on katalógusnézet oszlopának vizsgálatával lehet meghatározni.
< > 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.
ON
Az alapértelmezett érték NULL.
OFF
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óért lásd: 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.
Ennek az opciónak az állapotát a is_ansi_null_default_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiNullDefault függvény tulajdonságának vizsgálatával is meghatározhatod.
ANSI_NULLS { ON | KI }
ON
A null értékekkel való összes összehasonlítás ISMERETLEN értékre van kiértékelve.
OFF
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.
Important
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óért lásd: SET ANSI_NULLS.
Important
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.
Ennek az opciónak az állapotát a is_ansi_nulls_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiNullsEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
ANSI_PADDING { ON | KI }
ON
A sztringek az átalakítás előtt azonos hosszúságúra vannak kipárnázva. Ugyanannyira párnáztam, mielőtt varchar vagy nvarchar adattípusba illesztettem be.
OFF
Karakterértékekben lévő üres alakokat helyez be a varchar vagy nvarchar oszlopokba. Emellett a bináris értékekben is hagy mögöttes nullákat, amelyeket varbináris oszlopokba helyeznek. 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.
Important
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.
a char(n) és binary(n) oszlopokat, amelyek nullokat engedélyeznek, akkor a oszlophosszhoz tömörülnek, ha ANSI_PADDING ON-ra van állítva. Ha ANSI_PADDING ki van kapcsolva, a rendszer levágja a záró üreseket és nullákat. A char(n) és binary(n) oszlopokat, amelyek nem engedik nullokat, mindig az oszlop hosszához vannak kitöltve.
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.
Ennek az opciónak az állapotát a is_ansi_padding_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiPaddingEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
ANSI_WARNINGS { ON | KI }
ON
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.
OFF
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.
Important
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óért lásd: SET ANSI_WARNINGS.
Ennek az opciónak az állapotát a is_ansi_warnings_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAnsiWarningsEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
ARITHABORT { ON | KI }
ON
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.
OFF
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.
Important
SET ARITHABORT A számított oszlopokon vagy indexelt nézeteken lévő indexek létrehozásakor vagy módosításakor engedélyezni kell (BE).
Ennek az opciónak az állapotát a is_arithabort_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsArithmeticAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
További információ: ALTER DATABASE kompatibilitási szintje.
CONCAT_NULL_YIELDS_NULL { ON | KI }
ON
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.
OFF
A null érték üres karaktersorozatként lesz kezelve.
Important
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.
Ennek az opciónak az állapotát a is_concat_null_yields_null_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsNullConcat függvény tulajdonságának vizsgálatával is meghatározhatod.
NUMERIC_ROUNDABORT { ON | KI }
ON
Hiba akkor jön létre, ha egy kifejezés pontosságvesztése következik be.
OFF
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.
Important
NUMERIC_ROUNDABORT kikapcsolva kell lennie, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
Ennek az opciónak az is_numeric_roundabort_on katalógusnézet oszlopában határozhatja meg. Az állapotot a IsNumericRoundAbortEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
QUOTED_IDENTIFIER { ON | KI }
ON
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ő.OFF
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.
Ennek az opciónak az állapotát a is_quoted_identifier_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsQuotedIdentifiersEnabled függvény tulajdonságának vizsgálatával is meghatározhatod.
RECURSIVE_TRIGGERS { ON | KI }
ON
A AFTER-triggerek rekurzív tüzelése engedélyezett.
OFF
Ennek az opciónak az állapotát a
is_recursive_triggers_onkatalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot aIsRecursiveTriggersEnabledfüggvény tulajdonságának vizsgálatával is meghatározhatod.Note
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.
Ennek az opciónak az állapotát a is_recursive_triggers_on katalógusnézet oszlopának vagy a IsRecursiveTriggersEnabled funkció tulajdonságának vizsgálatával határozhatja meg.
< > target_recovery_time_option ::=
target_recovery_time_option nem támogatja Azure SQL Managed Instance-on.
A közvetett ellenőrzőpontok gyakoriságát határozza meg adatbázisonként. Az SQL Server 2016-tól (13.x) kezdve 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.
MEGSZAKÍTÁSSAL <> ::=
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.
Note
Nem minden adatbázis-beállítás használja a WITH <megszüntetési> záradékot. További információért lásd a cikk "Megjegyzések" szekciójának Beállítási opciók alatti táblázatot.
VISSZAGÖRCS EGÉSZ SZÁM UTÁN [MÁSODPERCEK] | AZONNALI VISSZAHÚZÁ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 ::=
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.
ON
Default. Engedélyezi az ideiglenes táblamegőrzési szabályzatot. További információ: Az előzményadatok megőrzésének kezelése rendszerverziójú időbeli táblákban.
OFF
Ne végezzen időbeli előzménymegőrzési szabályzatot.
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 a DATABASEPROPERTYEX-et
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.
Examples
A. 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 AdventureWorks2025-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.
| name | snapshot_isolation_state | description |
|---|---|---|
| [database_name] | 1 | ON |
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 AdventureWorks2025 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 AdventureWorks2025 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
)
);
Kapcsolódó tartalom
- Statistics
- DATABASEPROPERTYEX (Transact-SQL)
- sys.databases
- sys.data_spaces
- sys.database_automatic_tuning_options
- sys.database_automatic_tuning_mode
- ALTER DATABASE kompatibilitási szintje
- ALTER DATABASE adatbázis-tükrözési
- ADATBÁZIS LÉTREHOZÁSA
- Változáskövetés (SQL Server) engedélyezése és letiltása
- DROP DATABASE (Transact-SQL)
- TRANZAKCIÓELKÜLÖNÍTÉSI SZINT (Transact-SQL) beállítása
- sp_configure
- Számítási feladatok Lekérdezéstár
* Azure Synapse
Elemzés *
Azure Synapse Analytics
Syntax
ALTER DATABASE { database_name }
SET
{
<optionspec> [ ,...n ]
}
;
<option_spec>::=
{
<auto_option>
| <db_encryption_option>
| <query_store_options>
| <result_set_caching>
| <snapshot_option>
}
;
<auto_option> ::=
{
AUTO_CREATE_STATISTICS { OFF | ON }
}
<db_encryption_option> ::=
{
ENCRYPTION { ON | OFF }
}
<query_store_option> ::=
{
QUERY_STORE { OFF | ON }
}
<result_set_caching_option> ::=
{
RESULT_SET_CACHING { ON | OFF }
}
<snapshot_option> ::=
{
READ_COMMITTED_SNAPSHOT { ON | OFF }
}
Arguments
database_name
A módosítani kívánt adatbázis neve.
< > auto_option ::=
Automatikus beállításokat vezérel.
AUTO_CREATE_STATISTICS { ON | KI }
ON
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.
OFF
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.
Ennek az opciónak az állapotát a is_auto_create_stats_on katalógusnézet oszlopának vizsgálatával állapíthatja meg. Az állapotot a IsAutoCreateStatistics függvény tulajdonságának vizsgálatával is meghatározhatod.
További információért lásd a Statisztikák rész "Az adatbázis-szintű statisztikai opciók használata" című szakaszát.
< > db_encryption_option ::=
Az adatbázis titkosítási állapotát szabályozza.
TITKOSÍTÁS { BE | KI }
ON
Beállítja az adatbázis titkosítását.
OFF
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 }
ON
Engedélyezi a lekérdezéstárat.
OFF
Letiltja a lekérdezéstárat. A KI az alapértelmezett érték.
Note
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.
Note
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 }
ON
Megadja, hogy az adatbázisból visszaadott lekérdezési eredményhalmazok gyorsítótárazva legyenek az adatbázisban.
OFF
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. Nézd meg sys.dm_pdw_exec_requests részleteket.
SELECT request_id, command, result_cache_hit FROM sys.dm_pdw_exec_requests
WHERE request_id = <'Your_Query_Request_ID'>
Note
Az eredményhalmaz gyorsítótárazása nem használható a DECRYPTBYKEY-sel együtt. Ha ezt a titkosítási függvényt kell használni, győződjön meg arról, hogy az eredménykészlet gyorsítótárazása le van tiltva ( munkamenet- vagy adatbázisszinten) a végrehajtás időpontjában.
Important
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.
Permissions
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 }
ON
Engedélyezi a READ_COMMITTED_SNAPSHOT lehetőséget az adatbázis szintjén.
OFF
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.
Permissions
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.
Examples
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;
Kapcsolódó tartalom
- DATABASEPROPERTYEX (Transact-SQL)
- sys.databases
- Az Azure Synapse Analytics nyelvi elemeinek
- DROP DATABASE (Transact-SQL)
- Ajánlott eljárások az Azure Synapse Analytics
- Táblák tervezése az Azure Synapse Analytics
Microsoft Fabric Data Warehouse
Microsoft Fabric Data Warehouse
A ALTER DATABASE ... SET használatával kezelheti a Microsoft Fabric Warehouse-t.
Syntax
-- Microsoft Fabric Data Warehouse
ALTER DATABASE { warehouse_name | CURRENT }
SET
{
<option_spec> [ ,...n ]
}
<option_spec> ::=
{
<data_lake_log_publishing>
| <vorder>
| <timestamp>
| <result_set_caching>
}
;
<data_lake_log_publishing> ::=
{
DATA_LAKE_LOG_PUBLISHING { PAUSED | AUTO }
}
<vorder> ::=
{
VORDER = OFF
}
<timestamp> ::=
{
TIMESTAMP = {CURRENT_TIMESTAMP | 'YYYY-MM-DDTHH:MM:SS.SS' }
}
<result_set_caching> ::=
{
RESULT_SET_CACHING { ON | OFF }
}
Arguments
DATA_LAKE_LOG_PUBLISHING
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.
TIMESTAMP
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óért lásd: Raktár 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.
Permissions
A felhasználónak a Háló munkaterület rendszergazdai, tagi vagy közreműködői szerepköreinek tagja kell lennie.
Examples
A. 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 napló közzétételének jelenlegi állapotának ellenőrzéséhez minden raktáron a munkaterületen, az alábbi T-SQL kóddal kérdezze le a sys.database-eket 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 oszlopát ezután ellenőrizhetjük, hogy megerősítsék, engedélyezve lett-e az eredményhalmaz gyorsítótárázása (előnézet).
SELECT [name], [is_result_set_caching_on] FROM sys.databases;
Kapcsolódó tartalom
- Mi az adattárház a Microsoft Fabricben?
- Delta Lake-naplók a Microsoft Fabric-beli Warehouse-ban
- A Microsoft Fabric Warehouse- V-rendelésének ismertetése