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-beállítások: ALTER DATABASE.
Jegyzet
Az ALTER DATABASE bizonyos beállításainak megadása kizárólagos adatbázis-hozzáférést igényelhet. Ha az ALTER DATABASE utasítás nem fejeződik be időben, ellenőrizze, hogy az adatbázis többi munkamenete blokkolja-e az ALTER DATABASE-munkamenetet.
A szintaxisi konvenciókról további információt Transact-SQL szintaxiskonvenciákat.
Termék kiválasztása
A következő sorban válassza ki a kívánt terméknevet. Ezzel különböző tartalmakat jelenít meg ezen a weblapon, amely a kiválasztott terméknek felel meg.
* SQL Server *
SQL Server
Az adatbázis-tükrözés, az Always On rendelkezésre állási csoportok és a kompatibilitási szintek SET
lehetőségek, de a hosszuk miatt külön cikkekben szerepelnek. További információ: ALTER DATABASE Database Mirroring, ALTER DATABASE SET HADRés ALTER DATABASE kompatibilitási szintje.
Az adatbázis-hatókörű konfigurációk több adatbázis-konfiguráció beállítására szolgálnak az egyes adatbázisok szintjén. További információ: ALTER DATABASE SCOPED CONFIGURATION.
Jegyzet
Számos adatbáziskészlet-beállítás konfigurálható az aktuális munkamenethez SET utasítások használatával, és az alkalmazások gyakran konfigurálják őket csatlakozáskor. A munkamenetszintű beállítási beállítások felülbírálják a ALTER DATABASE SET
értékeket. A következő szakaszokban ismertetett adatbázis-beállítások olyan értékek, amelyeket olyan munkamenetekhez állíthat be, amelyek nem adnak meg explicit módon más beállítási értékeket.
Szintaxis
ALTER DATABASE { database_name | CURRENT }
SET
{
<option_spec> [ ,...n ] [ WITH <termination> ]
}
<option_spec> ::=
{
<accelerated_database_recovery>
| <auto_option>
| <automatic_tuning_option>
| <change_tracking_option>
| <containment_option>
| <cursor_option>
| <data_retention_policy>
| <database_mirroring_option>
| <date_correlation_optimization_option>
| <db_encryption_option>
| <db_state_option>
| <db_update_option>
| <db_user_access_option>
| <delayed_durability_option>
| <external_access_option>
| FILESTREAM ( <FILESTREAM_option> )
| <HADR_options>
| <mixed_page_allocation_option>
| <optimized_locking>
| <parameterization_option>
| <query_store_options>
| <recovery_option>
| <remote_data_archive_option>
| <persistent_log_buffer_option>
| <service_broker_option>
| <snapshot_option>
| <sql_option>
| <suspend_for_snapshot_backup>
| <target_recovery_time_option>
| <termination>
| <temporal_history_retention>
}
;
<accelerated_database_recovery> ::=
{
ACCELERATED_DATABASE_RECOVERY = { ON | OFF }
[ ( PERSISTENT_VERSION_STORE_FILEGROUP = { filegroup name } ) ]
}
<auto_option> ::=
{
AUTO_CLOSE { ON | OFF }
| AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
| AUTO_SHRINK { ON | OFF }
| AUTO_UPDATE_STATISTICS { ON | OFF }
| AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}
<automatic_tuning_option> ::=
{
AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}
<change_tracking_option> ::=
{
CHANGE_TRACKING
{
= OFF
| = ON [ ( <change_tracking_option_list > [,...n] ) ]
| ( <change_tracking_option_list> [,...n] )
}
}
<change_tracking_option_list> ::=
{
AUTO_CLEANUP = { ON | OFF }
| CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
}
<containment_option> ::=
CONTAINMENT = { NONE | PARTIAL }
<cursor_option> ::=
{
CURSOR_CLOSE_ON_COMMIT { ON | OFF }
| CURSOR_DEFAULT { LOCAL | GLOBAL }
}
<database_mirroring_option>
ALTER DATABASE Database Mirroring
<date_correlation_optimization_option> ::=
DATE_CORRELATION_OPTIMIZATION { ON | OFF }
<db_encryption_option> ::=
ENCRYPTION { ON | OFF | SUSPEND | RESUME }
<db_state_option> ::=
{ ONLINE | OFFLINE | EMERGENCY }
<db_update_option> ::=
{ READ_ONLY | READ_WRITE }
<db_user_access_option> ::=
{ SINGLE_USER | RESTRICTED_USER | MULTI_USER }
<delayed_durability_option> ::=
DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }
<external_access_option> ::=
{
DB_CHAINING { ON | OFF }
| TRUSTWORTHY { ON | OFF }
| DEFAULT_FULLTEXT_LANGUAGE = { <lcid> | <language name> | <language alias> }
| DEFAULT_LANGUAGE = { <lcid> | <language name> | <language alias> }
| NESTED_TRIGGERS = { OFF | ON }
| TRANSFORM_NOISE_WORDS = { OFF | ON }
| TWO_DIGIT_YEAR_CUTOFF = { 1753, ..., 2049, ..., 9999 }
}
<FILESTREAM_option> ::=
{
NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL
| DIRECTORY_NAME = <directory_name>
}
<HADR_options> ::=
ALTER DATABASE SET HADR
<mixed_page_allocation_option> ::=
MIXED_PAGE_ALLOCATION { OFF | ON }
<parameterization_option> ::=
PARAMETERIZATION { SIMPLE | FORCED }
<query_store_options> ::=
{
QUERY_STORE
{
= OFF [ ( FORCED ) ]
| = ON [ ( <query_store_option_list> [,...n] ) ]
| ( < query_store_option_list> [,...n] )
| CLEAR [ ALL ]
}
}
<query_store_option_list> ::=
{
OPERATION_MODE = { READ_WRITE | READ_ONLY }
| CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
| DATA_FLUSH_INTERVAL_SECONDS = number
| MAX_STORAGE_SIZE_MB = number
| INTERVAL_LENGTH_MINUTES = number
| SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
| QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
| MAX_PLANS_PER_QUERY = number
| WAIT_STATS_CAPTURE_MODE = { ON | OFF }
| QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}
<query_capture_policy_option_list> :: =
{
STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
| EXECUTION_COUNT = number
| TOTAL_COMPILE_CPU_TIME_MS = number
| TOTAL_EXECUTION_CPU_TIME_MS = number
}
<recovery_option> ::=
{
RECOVERY { FULL | BULK_LOGGED | SIMPLE }
| TORN_PAGE_DETECTION { ON | OFF }
| PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
}
<remote_data_archive_option> ::=
{
REMOTE_DATA_ARCHIVE =
{
ON ( SERVER = <server_name>,
{
CREDENTIAL = <db_scoped_credential_name>
| FEDERATED_SERVICE_ACCOUNT = ON | OFF
}
)
| OFF
}
}
<persistent_log_buffer_option> ::=
{
PERSISTENT_LOG_BUFFER
{
= ON (DIRECTORY_NAME= 'path-to-directory-on-a-DAX-volume')
| = OFF
}
}
<service_broker_option> ::=
{
ENABLE_BROKER
| DISABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
| HONOR_BROKER_PRIORITY { ON | OFF }
}
<snapshot_option> ::=
{
ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
| READ_COMMITTED_SNAPSHOT { ON | OFF }
| MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = { ON | OFF }
}
<sql_option> ::=
{
ANSI_NULL_DEFAULT { ON | OFF }
| ANSI_NULLS { ON | OFF }
| ANSI_PADDING { ON | OFF }
| ANSI_WARNINGS { ON | OFF }
| ARITHABORT { ON | OFF }
| COMPATIBILITY_LEVEL = { 160 | 150 | 140 | 130 | 120 | 110 | 100 }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }
}
<suspend_for_snapshot_backup> ::=
SET SUSPEND_FOR_SNAPSHOT_BACKUP = { ON | OFF } [ ( MODE = COPY_ONLY ) ]
<target_recovery_time_option> ::=
TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
<termination>::=
{
ROLLBACK AFTER number [ SECONDS ]
| ROLLBACK IMMEDIATE
| NO_WAIT
}
<temporal_history_retention> ::=
TEMPORAL_HISTORY_RETENTION { ON | OFF }
<data_retention_policy> ::=
DATA_RETENTION { ON | OFF }
<optimized_locking> ::=
{
OPTIMIZED_LOCKING = { ON | OFF }
}
Érvek
database_name
A módosítani kívánt adatbázis neve.
AKTUÁLIS
A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))
Futtatja a műveletet az aktuális adatbázisban.
CURRENT
nem támogatott minden beállítás minden környezetben. Ha CURRENT
sikertelen, adja meg az adatbázis nevét.
< > accelerated_database_recovery ::=
A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))
Lehetővé teszi gyorsított adatbázis-helyreállítást (ADR). Az ADR alapértelmezés szerint KI értékre van állítva az SQL Server 2019 -ben (15.x) és újabb verzióiban. Ezzel a szintaxissal kijelölhet egy adott fájlcsoportot az állandó verziótár (PVS) adataihoz. Ha nincs megadva fájlcsoport, a PVS a PRIMARY
fájlcsoportot használja. További információ: Gyorsított adatbázis-helyreállítás kezelése.
A ACCELERATED_DATABASE_RECOVERY be- vagy kikapcsolásához nem lehet aktív kapcsolat az adatbázishoz, kivéve az ALTER DATABASE parancsot futtató kapcsolatot. Az adatbázisnak azonban nem kell egyfelhasználós módban lennie. A beállítás állapotát csak akkor módosíthatja, ha az adatbázis ONLINE állapotú.
< > auto_option ::=
Automatikus beállításokat vezérel.
AUTO_CLOSE { ON | KI }
RA
Az adatbázis teljesen le van állítva, és erőforrásai az utolsó felhasználó kilépése után felszabadulnak.
Az adatbázis automatikusan újra megnyílik, amikor egy felhasználó újra megpróbálja használni az adatbázist. Ez a viselkedés például akkor fordul elő, ha egy felhasználó
USE database_name
utasítást ad ki. Előfordulhat, hogy az adatbázis teljesen leáll, AUTO_CLOSE BE értékre van állítva. Ha igen, az adatbázis csak akkor nyitja meg újra az adatbázist, ha egy felhasználó a következő újraindításkor megpróbálja használni az adatbázist.Az adatbázis leállítása után, amikor egy alkalmazás legközelebb megkísérli használni az adatbázist, először meg kell nyitni az adatbázist, majd az állapot online állapotúra változik. Ez eltarthat egy ideig, és az alkalmazás időtúllépését eredményezheti.
KI
Az adatbázis az utolsó felhasználó kilépése után is nyitva marad.
A AUTO_CLOSE beállítás asztali adatbázisok esetében hasznos, mert lehetővé teszi az adatbázisfájlok normál fájlokként való kezelését. Áthelyezhetők, másolhatók biztonsági másolatok készítéséhez, vagy akár e-mailben is elküldhetők más felhasználóknak. A AUTO_CLOSE folyamat aszinkron; Az adatbázis ismételt megnyitása és bezárása nem csökkenti a teljesítményt.
Jegyzet
A AUTO_CLOSE beállítás nem érhető el a tárolt adatbázisokban vagy az SQL Database-ben.
A beállítás állapotát a is_auto_close_on
katalógusnézet oszlopának vagy a IsAutoClose
függvény tulajdonságának vizsgálatával határozhatja meg.
Ha AUTO_CLOSE be van állítva, a sys.databases katalógusnézetének egyes oszlopai és a DATABASEPROPERTYEX függvény null értéket ad vissza, mert az adatbázis nem tudja lekérni az adatokat. A probléma megoldásához futtasson egy USE utasítást az adatbázis megnyitásához.
Az adatbázis-tükrözéshez AUTO_CLOSE KI értékre kell állítani.
Ha az adatbázis AUTOCLOSE = ON
értékre van állítva, az automatikus adatbázis-leállítást kezdeményező művelet törli az SQL Server-példány csomaggyorsítótárát. A tervgyorsítótár törlése az összes későbbi végrehajtási terv újrafordítását okozza, és a lekérdezési teljesítmény hirtelen, átmeneti csökkenését okozhatja. Az SQL Server 2005 (9.x) Service Pack 2 csomagtól kezdve a csomaggyorsítótár minden törölt gyorsítótár-tárolója esetében az SQL Server hibanaplója a következő tájékoztató üzenetet tartalmazza: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations
. Ezt az üzenetet öt percenként naplózza a rendszer, amíg a gyorsítótárat az adott időintervallumon belül kiüríti a rendszer.
A AUTO_CLOSE beállítás hasznos funkció lehet bizonyos ritka helyzetekben, például olyan SQL Server-példányokban, amelyek nem rendelkeznek elegendő memóriával a nagy számú adatbázissal való stabil működéshez, vagy egy örökölt 32 bites SQL Server-példányhoz, amely nagy számú adatbázissal rendelkezik. Ilyen esetekben hasznos lehet engedélyezni AUTO_CLOSE és megőrizni az adatbázis megnyitásához szükséges memóriaerőforrásokat, ha nincs alkalmazás az adatbázis használatával. Az adatbázis megnyitásakor szükség van néhány alapértelmezett memóriafoglalásra (például belső struktúrákra, amelyek különböző adatbázis-metaadat-objektumokat és tranzakciónapló-puffereket jelölnek).
AUTO_CREATE_STATISTICS { ON | KI }
RA
A Lekérdezésoptimalizáló szükség szerint statisztikai adatokat hoz létre a lekérdezési predikátumokban lévő egyetlen oszlopokról a lekérdezéstervek és a lekérdezési teljesítmény javítása érdekében. Ezek az egyoszlopos statisztikák akkor jönnek létre, amikor a Lekérdezésoptimalizáló lekérdezéseket fordít le. Az egyoszlopos statisztikák csak olyan oszlopokon jönnek létre, amelyek még nem egy meglévő statisztikai objektum első oszlopa.
Az alapértelmezett beállítás be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.
KI
A Lekérdezésoptimalizáló nem hoz létre statisztikát a lekérdezési predikátumok egyetlen oszlopáról, amikor lekérdezéseket állít össze. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.
A beállítás állapotát a is_auto_create_stats_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoCreateStatistics
függvény tulajdonságának vizsgálatával is meghatározhatja.
További információ: "Az adatbázis-szintű statisztikák beállításainak használata" című szakasz Statisztika.
NÖVEKMÉNYES = BE | KI
A következővonatkozik: SQL Server (SQL Server 2014 (12.x)) és Azure SQL Database
Állítsa a AUTO_CREATE_STATISTICS BE értékre, és állítsa a Növekményes értéket BE értékre. Ez a készlet automatikusan növekményes statisztikát hozott létre, amikor a növekményes statisztikák támogatottak. Az alapértelmezett érték ki van kapcsolva. További információ: CREATE STATISTICS.
AUTO_SHRINK { ON | KI }
RA
Az adatbázisfájlok rendszeres zsugorodásra alkalmasak. Ha nincs konkrét követelménye, ne állítsa be a AUTO_SHRINK adatbázis beállítását ON értékre. További információ: Adatbázis zsugorítása.
Az adatfájlok és a naplófájlok is automatikusan lebomlhatnak. AUTO_SHRINK csak akkor csökkenti a tranzakciónapló méretét, ha egyszerű helyreállítási modellre állítja be az adatbázist, vagy ha biztonsági másolatot készít a naplóról. Ha ki AUTO_SHRINK állítani, az adatbázisfájlok nem zsugorodnak automatikusan a nem használt terület rendszeres ellenőrzése során.
A AUTO_SHRINK beállítás csökkenti a fájlméretet, ha a fájl több mint 25 százaléka nem használt területet tartalmaz. Két méretre zsugorítja a fájlt (amelyik nagyobb):
- Az a méret, amelyen a fájl 25 százaléka nem használt terület
- A fájl mérete a létrehozáskor
Írásvédett adatbázisok nem zsugorodhatnak.
KI
Az adatbázisfájlok nem zsugorulnak automatikusan a nem használt terület rendszeres ellenőrzése során.
A beállítás állapotát a is_auto_shrink_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoShrink
függvény tulajdonságának vizsgálatával is meghatározhatja.
Jegyzet
A AUTO_SHRINK beállítás nem érhető el a tartalmazott adatbázisokban.
AUTO_UPDATE_STATISTICS { ON | KI }
RA
Megadja, hogy a Lekérdezésoptimalizáló frissíti a statisztikákat, amikor egy lekérdezés használja őket, és hogy mikor lehetnek elavultak. A statisztikák elavulttá válnak, miután a beszúrási, frissítési, törlési vagy egyesítési műveletek megváltoztatták az adateloszlást a táblázatban vagy indexelt nézetben. A Lekérdezésoptimalizáló úgy határozza meg, hogy a statisztikák mikor lehetnek elavultak, ha megszámolja az adatmódosítások számát az utolsó statisztikai frissítés óta, és összehasonlítja a módosítások számát egy küszöbértékhez. A küszöbérték a tábla vagy indexelt nézetben lévő sorok számán alapul.
A Lekérdezésoptimalizáló a lekérdezés fordítása előtt ellenőrzi a elavult statisztikákat, és gyorsítótárazott lekérdezési tervet futtat. A Lekérdezésoptimalizáló a lekérdezési predikátum oszlopait, tábláit és indexelt nézeteit használja annak meghatározására, hogy mely statisztikák lehetnek elavultak. A Lekérdezésoptimalizáló ezt az információt a lekérdezés fordítása előtt határozza meg. A gyorsítótárazott lekérdezési terv futtatása előtt az adatbázismotor ellenőrzi, hogy a lekérdezésterv hivatkozik-e up-todátumstatisztikákra.
A AUTO_UPDATE_STATISTICS beállítás az indexekhez, egyoszlopos lekérdezési predikátumokhoz és a CREATE STATISTICS utasítással létrehozott statisztikákhoz készült statisztikákra vonatkozik. Ez a beállítás a szűrt statisztikákra is vonatkozik.
Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.
A AUTO_UPDATE_STATISTICS_ASYNC beállítással megadhatja, hogy a statisztikák szinkronban vagy aszinkron módon frissülnek-e.
KI
Azt adja meg, hogy a Lekérdezésoptimalizáló nem frissíti a statisztikákat, amikor egy lekérdezés használja őket. A Lekérdezésoptimalizáló nem frissíti a statisztikákat, ha esetleg elavultak. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.
A beállítás állapotát a is_auto_update_stats_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoUpdateStatistics
függvény tulajdonságának vizsgálatával is meghatározhatja.
További információ: "Az adatbázis-szintű statisztikák beállításainak használata" című szakasz Statisztika.
AUTO_UPDATE_STATISTICS_ASYNC { ON | KI }
RA
Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései aszinkronok- e. A Lekérdezésoptimalizáló nem várja meg, hogy a statisztikai frissítések befejeződjenek a lekérdezések fordítása előtt.
Ha ezt a beállítást ON értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.
Alapértelmezés szerint a AUTO_UPDATE_STATISTICS_ASYNC beállítás ki van kapcsolva, és a Lekérdezésoptimalizáló szinkronizálva frissíti a statisztikákat.
KI
Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései szinkronban legyenek. A lekérdezésoptimalizáló megvárja, amíg a statisztikai frissítések befejeződnek a lekérdezések fordítása előtt.
Jegyzet
Ha ezt a beállítást KI értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.
A beállítás állapotát a is_auto_update_stats_async_on
katalógusnézet oszlopának vizsgálatával határozhatja meg.
A szinkron vagy aszinkron statisztikai frissítések használatának időpontjáról további információt az Statistics"Statisztika beállításai" című szakaszában talál.
< > automatic_tuning_option ::=
A következővonatkozik: SQL Server (SQL Server 2017-től kezdve (14.x))
Engedélyezi vagy letiltja FORCE_LAST_GOOD_PLAN
automatikus finomhangolási beállítást. Ennek a beállításnak az állapotát sys.database_automatic_tuning_options
nézetben tekintheti meg.
FORCE_LAST_GOOD_PLAN = { DEFAULT | BE | KI }
ALAPÉRTELMEZETT
Az SQL Server alapértelmezett értéke ki van kapcsolva.
RA
Az adatbázismotor automatikusan kényszeríti az utolsó ismert jó tervet az Transact-SQL lekérdezésekre, ahol az új lekérdezési terv teljesítményregressziót okoz. Az adatbázismotor folyamatosan figyeli a Transact-SQL lekérdezés lekérdezési teljesítményét a kényszerített tervvel.
Ha teljesítménynövekedés tapasztalható, az adatbázismotor a legutóbbi ismert jó tervet használja. Ha a rendszer nem észlel teljesítménynövekedést, az adatbázismotor létrehoz egy új lekérdezési tervet. Az utasítás meghiúsul, ha a Lekérdezéstár nincs engedélyezve, vagy ha a lekérdezéstár nincs írásvédett módban.
KI
Az adatbázismotor sys.dm_db_tuning_recommendations nézetben a lekérdezésterv változásai által okozott lehetséges lekérdezési teljesítményregressziókat jelenti. Ezek a javaslatok azonban nem lesznek automatikusan alkalmazva. A felhasználók figyelhetik az aktív javaslatokat, és megoldhatják az azonosított problémákat a nézetben megjelenő Transact-SQL szkriptek alkalmazásával. Az alapértelmezett érték ki van kapcsolva.
< > change_tracking_option ::=
A következővonatkozik: SQL Server és Azure SQL Database
A vezérlők módosítják a követési beállításokat. Engedélyezheti a változáskövetést, beállíthatja a beállításokat, módosíthatja a beállításokat, és letilthatja a változáskövetést. Példákért lásd a cikk későbbi, Példák szakaszát.
RA
Engedélyezi az adatbázis változáskövetését. Ha engedélyezi a változáskövetést, beállíthatja az AUTOMATIKUS TÖRLÉS és A MÓDOSÍTÁS MEGŐRZÉSE beállítást is.
AUTO_CLEANUP = { ON | KI }
RA
A változáskövetési adatok a megadott megőrzési időszak után automatikusan törlődnek.
KI
A változáskövetési adatok nem törlődnek automatikusan az adatbázisból.
CHANGE_RETENTION = retention_period { DAYS | ÓRA | PERC }
Meghatározza a változáskövetési adatok adatbázisban való megőrzésének minimális időtartamát. Az adatok csak akkor lesznek eltávolítva, ha a AUTO_CLEANUP érték be van kapcsolva.
retention_period egy egész szám, amely a megőrzési időszak numerikus összetevőjét adja meg.
Az alapértelmezett megőrzési időszak 2 nap. A minimális megőrzési idő 1 perc. Az alapértelmezett adatmegőrzési típus DAYS.
OFF letiltja az adatbázis változáskövetését. Tiltsa le a változáskövetést az összes táblán, mielőtt letiltja a változáskövetést az adatbázisból.
< > containment_option ::=
A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))
Az adatbázis-elszigetelési beállításokat szabályozza.
CONTAINMENT = { NONE | RÉSZLEGES}
Egyik sem
Az adatbázis nem tartalmazott adatbázist.
RÉSZLEGES
Az adatbázis tartalmazott adatbázis. Az adatbázis-elszigetelés részlegesre állítása meghiúsul, ha az adatbázis rendelkezik replikációval, adatrögzítéssel vagy változáskövetéssel. A hibaellenőrzés egy hiba után leáll. A tartalmazott adatbázisokról további információt a Tartalmazott adatbázisokcímű témakörben talál.
< > cursor_option ::=
A kurzor beállításait szabályozza.
CURSOR_CLOSE_ON_COMMIT { ON | KI }
RA
A tranzakciók véglegesítésekor vagy visszagörgetésekor megnyíló kurzorok bezáródnak.
KI
A kurzorok nyitva maradnak a tranzakció véglegesítésekor; A tranzakciók visszagördítése bezárja a kurzorokat, kivéve az INSENSITIVE vagy STATIC néven definiált kurzorokat.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CURSOR_CLOSE_ON_COMMIT alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint ki CURSOR_CLOSE_ON_COMMIT állítani a kapcsolatszintű SET utasítást a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET CURSOR_CLOSE_ON_COMMIT.
A beállítás állapotát a is_cursor_close_on_commit_on
katalógusnézet oszlopának vagy a IsCloseCursorsOnCommitEnabled
függvény tulajdonságának vizsgálatával határozhatja meg.
CURSOR_DEFAULT { LOCAL | GLOBAL }
A következővonatkozik: SQL Server
Azt szabályozza, hogy a kurzor hatóköre a LOCAL vagy a GLOBAL függvényt használja-e.
HELYI
Ha a HELYI értéket adja meg, és a kurzor létrehozásakor nem globálisként definiálja a kurzort, a kurzor hatóköre helyi. A hatókör pontosabban annak a kötegnek, tárolt eljárásnak vagy eseményindítónak a helyi része, amelyben a kurzort létrehozta. A kurzornév csak ezen a hatókörön belül érvényes.
A kurzorra a köteg helyi kurzorváltozói, a tárolt eljárás vagy az eseményindító, illetve a tárolt eljárás OUTPUT paramétere hivatkozhat. A kurzor implicit módon lesz felszabadítva, amikor a köteg, a tárolt eljárás vagy az eseményindító véget ér. A kurzor csak akkor lesz felszabadítva, ha a kurzort vissza nem adták egy OUTPUT paraméterben. Előfordulhat, hogy a kurzor visszakerül egy OUTPUT paraméterbe. Ha a kurzor így halad vissza, a kurzor felszabadítva lesz, amikor a kurzorra hivatkozó utolsó változó felszabadítva van, vagy kimegy a hatókörből.
GLOBÁLIS
Ha a GLOBAL paraméter meg van adva, és a kurzor létrehozásakor a kurzor nem HELYI értékként van definiálva, a kurzor hatóköre globális a kapcsolathoz. A kurzor nevére bármely tárolt eljárásban vagy kötegben hivatkozhat, amelyet a kapcsolat hajt végre.
A kurzor implicit módon csak leválasztáskor van felszabadítva. További információ: KURZOR DEKLARÁLÁSA.
A beállítás állapotát a is_local_cursor_default
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsLocalCursorsDefault
függvény tulajdonságának vizsgálatával is meghatározhatja.
< > temporal_history_retention ::=
TEMPORAL_HISTORY_RETENTION { ON | KI }
Alapértelmezés szerint be van kapcsolva, de automatikusan kikapcsolja az időkorlát utáni visszaállítási műveletet. A beállítás engedélyezéséről további információt Adatmegőrzési szabályzatcímű témakörben talál.
RA
Alapértelmezett. 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.
KI
Ne végezzen időbeli előzménymegőrzési szabályzatot.
< > data_retention_policy ::=
Csak az Azure SQL Edgevonatkozik.
DATA_RETENTION { ON | KI }
RA
Engedélyezi az adatmegőrzési szabályzaton alapuló törlést egy adatbázisban.
KI
Letiltja az adatmegőrzési szabályzaton alapuló törlést egy adatbázisban.
<database_mirroring>
A következővonatkozik: SQL Server
Az argumentum leírásáért lásd ALTER DATABASE Adatbázis-tükrözési.
< > date_correlation_optimization_option ::=
A következővonatkozik: SQL Server
A date_correlation_optimization beállítást vezérli.
DATE_CORRELATION_OPTIMIZATION { ON | KI }
RA
Az SQL Server olyan korrelációs statisztikákat tart fenn, amelyekben egy IDEGEN KULCS kényszer az adatbázis két táblájának összekapcsolása, a táblák pedig datetime oszlopokkal rendelkeznek.
KI
A korrelációs statisztikák nem maradnak fenn.
Az DATE_CORRELATION_OPTIMIZATION ON értékre állításához az ALTER DATABASE utasítást végrehajtó kapcsolaton kívül nem lehet aktív kapcsolat az adatbázishoz. Ezt követően több kapcsolat is támogatott.
Ennek a beállításnak az aktuális beállítása a is_date_correlation_on
katalógusnézet oszlopának vizsgálatával határozható meg.
< > db_encryption_option ::=
Az adatbázis titkosítási állapotát szabályozza.
TITKOSÍTÁS { BE | KI | FELFÜGGESZTÉS | ÖNÉLETRAJZ }
RA
Beállítja az adatbázis titkosítását.
KI
Beállítja, hogy az adatbázis ne legyen titkosítva.
FELFÜGGESZT
A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))
A titkosítási vizsgálat szüneteltetésére használható a transzparens adattitkosítás engedélyezése vagy letiltása, illetve a titkosítási kulcs módosítása után.
ÚJRAKEZD
A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))
A korábban szüneteltetett titkosítási vizsgálat folytatásához használható.
További információ az adatbázis-titkosításról: Transzparens adattitkosítás (TDE), és Transzparens adattitkosítás az Azure SQL Database, az Azure SQL Managed Instance és az Azure Synapse Analytics.
Ha az adatbázis szintjén engedélyezve van a titkosítás, az összes fájlcsoport titkosítva lesz. Minden új fájlcsoport örökli a titkosított tulajdonságot. Ha az adatbázis bármely fájlcsoportja ÍRÁSVÉDETT értékre van állítva, az adatbázis titkosítási művelete meghiúsul.
Az adatbázis titkosítási állapotát és a titkosítási vizsgálat állapotát a sys.dm_database_encryption_keys dinamikus felügyeleti nézet használatával tekintheti meg.
< > db_state_option ::=
A következővonatkozik: SQL Server
Az adatbázis állapotát szabályozza.
Offline
Az adatbázis le van zárva, le van állítva, és offline állapotban van megjelölve. Az adatbázis offline állapotban nem módosítható.
ONLINE
Az adatbázis meg van nyitva és használható.
SÜRGŐSSÉGI
Az adatbázis READ_ONLY van megjelölve, a naplózás le van tiltva, és a hozzáférés a sysadmin rögzített kiszolgálói szerepkör tagjaira korlátozódik. A VÉSZHELYZET elsősorban hibaelhárítási célokra használatos. Egy sérült naplófájl miatt gyanúsként megjelölt adatbázis például a VÉSZHELYZET állapotra állítható be. Ezzel a beállítással a rendszergazda írásvédett hozzáférést adhat az adatbázishoz. Az adatbázist csak a sysadmin rögzített kiszolgálói szerepkör tagjai állíthatják be vészhelyzeti állapotra.
A tulajdonos adatbázisának ALTER DATABASE
engedélyére van szüksége, hogy az adatbázist offline vagy vészhelyzeti állapotra módosítsa, a kiszolgálószint pedig ALTER ANY DATABASE
engedélyt az adatbázis offline állapotból online állapotba helyezéséhez.
A beállítás állapotát a state
katalógusnézet state_desc
és oszlopainak vizsgálatával határozhatja meg. Az állapotot az Status
függvény tulajdonságának vizsgálatával is meghatározhatja. További információ: Adatbázisállapotok.
A VISSZAÁLLÍTÁSként megjelölt adatbázisok nem állíthatók BE OFFLINE, ONLINE vagy VÉSZHELYZET értékre. Egy adatbázis lehet VISSZAÁLLÍTÁS állapotban egy aktív visszaállítási művelet során, vagy ha egy adatbázis vagy naplófájl visszaállítási művelete meghiúsul egy sérült biztonsági mentési fájl miatt.
< > db_update_option ::=
Azt szabályozza, hogy a frissítések engedélyezve legyenek-e az adatbázisban.
READ_ONLY
A felhasználók adatokat olvashatnak az adatbázisból, de nem módosíthatják őket.
Jegyzet
A lekérdezési teljesítmény javítása érdekében frissítse a statisztikákat, mielőtt egy adatbázist READ_ONLY állít be. Ha az adatbázis READ_ONLY beállítása után további statisztikákra van szükség, az adatbázismotor statisztikákat hoz létre a
tempdb
rendszeradatbázisban. További információ a csak olvasható adatbázisok statisztikáiról: Statistics.OLVASÁS_ÍRÁS
Az adatbázis olvasási és írási műveletekhez érhető el.
Az állapot módosításához kizárólagos hozzáféréssel kell rendelkeznie az adatbázishoz. További információ: SINGLE_USER záradék.
Jegyzet
Az Összevont Azure SQL Database-adatbázisokon a SET { READ_ONLY | READ_WRITE }
le van tiltva.
< > db_user_access_option ::=
Szabályozza a felhasználók hozzáférését az adatbázishoz.
SINGLE_USER
A következővonatkozik: SQL Server
Megadja, hogy egyszerre csak egy felhasználó férhessen hozzá az adatbázishoz. Ha SINGLE_USER ad meg, és egy másik felhasználó csatlakozik az adatbázishoz, az ALTER DATABASE utasítás le lesz tiltva, amíg az összes felhasználó nem csatlakozik a megadott adatbázishoz. A viselkedés felülbírálásához tekintse meg a WITH <végződési> záradékot.
Az adatbázis akkor is SINGLE_USER módban marad, ha a beállítást beállítva felhasználó kijelentkezik. Ekkor egy másik felhasználó, de csak egy csatlakozhat az adatbázishoz.
Mielőtt az adatbázist SINGLE_USER értékre állítja, ellenőrizze, hogy a AUTO_UPDATE_STATISTICS_ASYNC beállítás ki van-e kapcsolva. Ha be van kapcsolva, a statisztikák frissítéséhez használt háttérszál kapcsolatot létesít az adatbázissal, és nem fér hozzá az adatbázishoz egyfelhasználós módban. A beállítás állapotának megtekintéséhez kérdezze le a is_auto_update_stats_async_on
oszlopot a sys.databases katalógusnézetében. Ha a beállítás be van kapcsolva, hajtsa végre a következő feladatokat:
Állítsa AUTO_UPDATE_STATISTICS_ASYNC KI értékre.
Ellenőrizze az aktív aszinkron statisztikai feladatokat a sys.dm_exec_background_job_queue dinamikus felügyeleti nézet lekérdezésével.
Ha vannak aktív feladatok, engedélyezze a feladatok befejezését vagy manuális leállítását KILL STATS JOBhasználatával.
KORLÁTOZOTT_FELHASZNÁLÓ
Csak a db_owner
rögzített adatbázis-szerepkör, valamint dbcreator
és sysadmin
rögzített kiszolgálói szerepkörök tagjai csatlakozhatnak az adatbázishoz. RESTRICTED_USER nem korlátozza a számukat. Az ALTER DATABASE utasítás záró záradékában megadott időkeret használatával bontsa le az adatbázishoz való összes kapcsolatot. Miután az adatbázis a RESTRICTED_USER állapotra váltott, a rendszer elutasítja a nem minősített felhasználók csatlakozási kísérleteit.
többfelhasználós
Minden olyan felhasználó, aki rendelkezik a megfelelő engedélyekkel az adatbázishoz való csatlakozáshoz. A beállítás állapotát a user_access
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az UserAccess
függvény tulajdonságának vizsgálatával is meghatározhatja.
< > delayed_durability_option ::=
A következővonatkozik: SQL Server (SQL Server 2014-től kezdve (12.x))
Azt szabályozza, hogy a tranzakciók teljesen tartósak vagy késleltetettek-e.
FOGYATÉKOS
Az
SET DISABLED
utáni tranzakciók teljes mértékben tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.MEGENGEDETT
Az
SET ALLOWED
utáni összes tranzakció teljesen tartós vagy késleltetett, az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítástól függően.ERŐLTETETT
A
SET FORCED
követő tranzakciók tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.
< > external_access_option ::=
A következővonatkozik: SQL Server
Azt szabályozza, hogy az adatbázis külső erőforrások, például egy másik adatbázis objektumai által elérhető-e.
DB_CHAINING { ON | KI }
RA
Az adatbázis lehet egy adatbázisközi tulajdonosi lánc forrása vagy célja.
KI
Az adatbázis nem vehet részt az adatbázis-tulajdonjogok közötti láncolásban.
Fontos
Az SQL Server példánya akkor ismeri fel ezt a beállítást, ha a tulajdonosközi láncoló kiszolgáló beállítás értéke 0 (KI). Ha a több adatbázis tulajdonjogának láncolása 1 (ON), minden felhasználói adatbázis részt vehet adatbázisközi tulajdonjogi láncokban, függetlenül a lehetőség értékétől. Ez a beállítás a sp_configurehasználatával van beállítva.
A beállítás beállításához CONTROL SERVER
engedély szükséges az adatbázishoz.
A DB_CHAINING beállítás nem állítható be a master
, model
és tempdb
rendszeradatbázisokon.
A beállítás állapotát a is_db_chaining_on
katalógusnézet oszlopának vizsgálatával határozhatja meg.
TRUSTWORTHY { ON | KI }
RA
A megszemélyesítési környezetet használó adatbázismodulok (például felhasználó által definiált függvények vagy tárolt eljárások) hozzáférhetnek az adatbázison kívüli erőforrásokhoz.
KI
A megszemélyesítési környezet adatbázismoduljai nem férnek hozzá az adatbázison kívüli erőforrásokhoz.
A TRUSTWORTHY ki van kapcsolva az adatbázis csatolásakor.
Alapértelmezés szerint az msdb
adatbázis kivételével az összes rendszeradatbázisNÁL KI van kapcsolva a TRUSTWORTHY beállítás. Az érték nem módosítható a model
és tempdb
adatbázisok esetében. Azt javasoljuk, hogy soha ne állítsa be a TRUSTWORTHY beállítást a master
adatbázishoz.
A beállítás beállításához CONTROL SERVER
engedély szükséges az adatbázishoz.
A beállítás állapotát a is_trustworthy_on
katalógusnézet oszlopának vizsgálatával határozhatja meg.
DEFAULT_FULLTEXT_LANGUAGE
A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))
A teljes szövegű indexelt oszlopok alapértelmezett nyelvi értékét adja meg.
Fontos
Ez a beállítás csak akkor engedélyezett, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.
DEFAULT_LANGUAGE
A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))
Az újonnan létrehozott bejelentkezések alapértelmezett nyelvét adja meg. A nyelv a helyi azonosító (lcid), a nyelvnév vagy a nyelvi alias megadásával adható meg. Az elfogadható nyelvnevek és aliasok listáját a sys.syslanguagescímű témakörben találja. Ez a beállítás csak akkor engedélyezett, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.
NESTED_TRIGGERS
A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))
Megadja, hogy egy AFTER-eseményindító kaszkádolt-e; vagyis egy másik eseményindítót kezdeményező műveletet hajt végre, amely egy másik eseményindítót indít el stb. Ez a beállítás csak akkor engedélyezett, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.
TRANSFORM_NOISE_WORDS
A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))
A hibaüzenetek letiltására szolgál, ha a zajszavak vagy stopszavak logikai műveletet okoznak egy teljes szöveges lekérdezésen. Ez a beállítás csak akkor engedélyezett, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.
TWO_DIGIT_YEAR_CUTOFF
A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))
Az 1753 és 9999 közötti egész számot adja meg, amely a kétjegyű évek négyjegyű évként való értelmezésének kivágási évét jelöli. Ez a beállítás csak akkor engedélyezett, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.
< > FILESTREAM_option ::=
A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))
Szabályozza a FileTables beállításait.
NON_TRANSACTED_ACCESS = { KI | READ_ONLY | FULL }
KI
A FileTable-adatokhoz való nem tranzakciós hozzáférés le van tiltva.
READ_ONLY
Az adatbázisban található FileTables FILESTREAM-adatai nem tranzakciós folyamatok által olvashatók.
TELE
Engedélyezi a FILESTREAM-adatok teljes, nem tranzakciós elérését a FileTablesban.
DIRECTORY_NAME = <directory_name>
Windows-kompatibilis címtárnév. Ennek a névnek egyedinek kell lennie az SQL Server-példány összes adatbázisszintű címtárneve között. Az egyediség-összehasonlítás a rendezési beállításoktól függetlenül érzéketlen a kis- és nagybetűk között. Ezt a beállítást be kell állítani, mielőtt létrehoz egy Fájltáblát ebben az adatbázisban.
< > HADR_options ::=
A következővonatkozik: SQL Server
Lásd ALTER DATABASE SET HADR.
< > mixed_page_allocation_option ::=
A következővonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))
Azt szabályozza, hogy az adatbázis létrehozhat-e kezdeti oldalakat vegyes mértékben egy tábla vagy index első nyolc oldalához.
MIXED_PAGE_ALLOCATION { KI | ON }
KI
Az adatbázis mindig egységes terjedelmével hozza létre a kezdeti oldalakat. A KI az alapértelmezett érték.
RA
Az adatbázis vegyes mértékben hozhat létre kezdeti oldalakat.
Ez a beállítás mindig be van kapcsolva az összes rendszeradatbázishoz, kivéve tempdb
, ahol mindig ki van kapcsolva. A beállítás a rendszeradatbázisok esetében nem módosítható.
< > PARAMETERIZATION_option ::=
A paraméterezési beállítást szabályozza. A paraméterezésről további információt a lekérdezésfeldolgozási architektúra útmutatójábantalál.
PARAMÉTEREZÉS { SIMPLE | KÉNYSZERÍTETT }
EGYSZERŰ
A lekérdezések az adatbázis alapértelmezett viselkedése alapján vannak paraméterezve.
ERŐLTETETT
Az SQL Server paraméterezi az adatbázis összes lekérdezését.
Ennek a beállításnak az aktuális beállítása a is_parameterization_forced
katalógusnézet oszlopának vizsgálatával határozható meg.
< > query_store_options ::=
A következővonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))
BE | KI [ ( KÉNYSZERÍTETT ) ] | CLEAR [ ALL ]
Azt szabályozza, hogy a lekérdezéstár engedélyezve van-e az adatbázisban, és a lekérdezéstár tartalmának eltávolítását is szabályozza. További információ: Lekérdezéstár használati forgatókönyvei.
RA
Engedélyezi a lekérdezéstárat.
Az SQL Server 2022 (16.x) számos új teljesítményfunkciója, például a lekérdezéstár-tippek, a CE-visszajelzések, a párhuzamosság foka (DOP) és a memóriahasználati visszajelzések (MGF) megőrzéséhez engedélyezni kellett a Lekérdezéstárat. A más SQL Server-példányokból visszaállított adatbázisok és az SQL Server 2022-re (16.x) frissített adatbázisok esetében ezek az adatbázisok megőrzik a lekérdezéstár korábbi beállításait. Ha aggodalomra ad okot a terheléses lekérdezéstár bevezetése, a rendszergazdák egyéni rögzítési szabályzatokat használhatnak
QUERY_CAPTURE_MODE = CUSTOM
. A lekérdezéstár egyéni rögzítési házirend-beállításokkal való engedélyezésére vonatkozó példákért tekintse meg a cikk későbbi, Példák szakaszát.KI [ ( KÉNYSZERÍTETT ) ]
Letiltja a lekérdezéstárat. A KÉNYSZERÍTETT nem kötelező. A KÉNYSZERÍTETT megszakítja az összes futó Lekérdezéstár háttérfeladatot, és kihagyja a szinkron kiürítést, amikor a Lekérdezéstár ki van kapcsolva. A lekérdezéstár a lehető leggyorsabban leáll. A FORCED az SQL Server 2016 (13.x) SP2 CU14, az SQL Server 2017 (14.x) CU21, az SQL Server 2019 (15.x) CU6 és újabb buildekre vonatkozik.
Jegyzet
A Lekérdezéstár nem tiltható le az Azure SQL Database-ben. A
ALTER DATABASE [database] SET QUERY_STORE = OFF
végrehajtása a figyelmeztetési'QUERY_STORE=OFF' is not supported in this version of SQL Server.
.CLEAR [ ALL ]
Eltávolítja a lekérdezéssel kapcsolatos adatokat a Lekérdezéstárból. Az ALL nem kötelező. Az ALL eltávolítja a lekérdezéssel kapcsolatos adatokat és metaadatokat a Lekérdezéstárból.
OPERATION_MODE { READ_ONLY | READ_WRITE }
A lekérdezéstár működési módját ismerteti.
OLVASÁS_ÍRÁS
A Lekérdezéstár összegyűjti és megőrzi a lekérdezésterv és a futtatókörnyezet végrehajtási statisztikáinak adatait.
READ_ONLY
Az információk olvashatók a lekérdezéstárból, de nem adnak hozzá új információkat. Ha a lekérdezéstár maximális kiadott területe kimerült, a lekérdezéstár a működési módját READ_ONLY értékre módosítja.
CLEANUP_POLICY
A lekérdezéstár adatmegőrzési szabályzatát ismerteti. STALE_QUERY_THRESHOLD_DAYS határozza meg, hogy hány napig őrizhetők meg a lekérdezés adatai a Lekérdezéstárban. STALE_QUERY_THRESHOLD_DAYS biginttípus. Az alapértelmezett érték 30.
ADAT_FLUSH_INTERVALLUM_MÁSODPERCBEN
Meghatározza a lekérdezéstárba írt adatok lemezen való megőrzésének gyakoriságát. A teljesítmény optimalizálása érdekében a lekérdezéstár által gyűjtött adatok aszinkron módon lesznek megírva a lemezre. Az aszinkron átvitel gyakorisága a DATA_FLUSH_INTERVAL_SECONDS argumentum használatával van konfigurálva. DATA_FLUSH_INTERVAL_SECONDS biginttípus. Az alapértelmezett érték 900 (15 perc).
MAX_STORAGE_SIZE_MB
Meghatározza a lekérdezéstárnak kibocsátott területet. MAX_STORAGE_SIZE_MB biginttípus. Az alapértelmezett érték az SQL Server (SQL Server 2016 (13.x) és az SQL Server 2017 (14.x) 100 MB-os. Az SQL Server 2019 -től kezdve (15.x) az alapértelmezett érték 1000 MB.
MAX_STORAGE_SIZE_MB
korlát nem szigorúan érvényes. A tárterület méretét csak akkor ellenőrzi a rendszer, ha a Lekérdezéstár adatokat ír lemezre. Ezt az időközt a DATA_FLUSH_INTERVAL_SECONDS
beállítás vagy a Management Studio Lekérdezéstár párbeszédpanel adatöblítési időközállítja be. Az intervallum alapértelmezett értéke 900 másodperc (vagy 15 perc).
Ha a lekérdezéstár túllépte a tárméret-ellenőrzések közötti MAX_STORAGE_SIZE_MB
korlátot, akkor írásvédett üzemmódra vált. Ha SIZE_BASED_CLEANUP_MODE
engedélyezve van, a MAX_STORAGE_SIZE_MB
korlátot kényszerítő törlési mechanizmus is aktiválódik.
Ha már nincs elég szabad terület, a Lekérdezéstár mód automatikusan visszavált olvasási-írási módra.
Fontos
Ha úgy gondolja, hogy a számítási feladatok rögzítéséhez több mint 10 GB lemezterületre van szükség, érdemes újragondolnia és optimalizálnia a számítási feladatot a lekérdezési tervek újrafelhasználására (például kényszerített paraméterezési, vagy módosítania kell a lekérdezéstár konfigurációit.
Az SQL Server 2019 -től (15.x) és az Azure SQL Database-ben QUERY_CAPTURE_MODE
EGYÉNI értékre állíthatja a lekérdezésrögzítési szabályzat további szabályozásához.
INTERVALLUM_HOSSZA_PERCEKBEN
Azt az időintervallumot határozza meg, amikor a futtatókörnyezet végrehajtási statisztikáinak adatai összesítve lesznek a lekérdezéstárban. A helyhasználat optimalizálása érdekében a futtatókörnyezeti stats store futtatókörnyezeti végrehajtási statisztikái rögzített időkeretben vannak összesítve. Ez a rögzített időkeret a INTERVAL_LENGTH_MINUTES argumentum használatával van konfigurálva. INTERVAL_LENGTH_MINUTES biginttípus. Az alapértelmezett érték 60.
SIZE_BASED_CLEANUP_MODE { AUTO | KI }
Azt szabályozza, hogy a törlés automatikusan aktiválódik-e, ha az adatok teljes mennyisége megközelíti a maximális méretet.
KOCSI
A méretalapú törlés automatikusan aktiválódik, ha a lemez mérete eléri a MAX_STORAGE_SIZE_MB90%. A méretalapú törlés először a legkevésbé költséges és legrégebbi lekérdezéseket távolítja el. Körülbelül 80% MAX_STORAGE_SIZE_MBáll meg. Ez az alapértelmezett konfigurációs érték.
KI
A méretalapú törlés nem aktiválódik automatikusan.
SIZE_BASED_CLEANUP_MODE nvarchartípus.
QUERY_CAPTURE_MODE { ALL | AUTO | EGYÉNI | NONE }
A jelenleg aktív lekérdezésrögzítési módot jelöli ki. Minden mód meghatározott lekérdezésrögzítési szabályzatokat határoz meg. QUERY_CAPTURE_MODE nvarchartípus.
Jegyzet
A kurzorok, a tárolt eljárásokon belüli lekérdezések és a natívan lefordított lekérdezések mindig rögzítve lesznek, ha a lekérdezésrögzítési mód ALL, AUTO vagy CUSTOM értékre van állítva.
ÖSSZES
Az összes lekérdezést rögzíti. AZ ÖSSZES az SQL Server (SQL Server 2016 (13.x) és az SQL Server 2017 (14.x) alapértelmezett konfigurációs értéke.
KOCSI
Rögzítse a releváns lekérdezéseket a végrehajtások száma és az erőforrás-felhasználás alapján. Ez az SQL Server (AZ SQL Server 2019 (15.x)) és az Azure SQL Database alapértelmezett konfigurációs értéke.
Egyik sem
Új lekérdezések rögzítésének leállítása. A Lekérdezéstár továbbra is gyűjti a már rögzített lekérdezések fordítási és futásidejű statisztikáit. Körültekintően használja ezt a konfigurációt, mivel előfordulhat, hogy nem rögzíti a fontos lekérdezéseket.
SZOKÁS
A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))
Lehetővé teszi a QUERY_CAPTURE_POLICY beállításokvezérlését. Az egyéni rögzítési szabályzatok segítségével a Lekérdezéstár rögzítheti a számítási feladat legfontosabb lekérdezéseit. A testre szabható lehetőségekért tekintse meg a <query_capture_policy_option_list>.
MAX_PLANS_PER_QUERY
Meghatározza az egyes lekérdezésekhez fenntartott tervek maximális számát. MAX_PLANS_PER_QUERY inttípus. Az alapértelmezett érték 200.
WAIT_STATS_CAPTURE_MODE { ON | KI }
A következővonatkozik: SQL Server (SQL Server 2017-től kezdve (14.x))
Azt határozza meg, hogy a rendszer lekérdezésenként rögzíti-e a várakozási statisztikákat.
RA
A lekérdezésenkénti várakozási statisztikák adatai rögzítve lesznek. Ez az alapértelmezett konfigurációs érték.
KI
A lekérdezésenkénti várakozási statisztikai adatok nincsenek rögzítve.
< > query_capture_policy_option_list :: =
A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))
A Lekérdezéstár rögzítési házirend beállításait szabályozza. A STALE_CAPTURE_POLICY_THRESHOLD kivételével ezek a beállítások határozzák meg azokat az OR feltételeket, amelyek szükségesek ahhoz, hogy a lekérdezések rögzítve legyenek a meghatározott elavult rögzítési szabályzat küszöbértékében.
Az SQL Server 2019 -től (15.x) kezdődően a QUERY_CAPTURE_MODE = AUTO
beállítás rögzíti a Lekérdezéstár adatait, ha a következő küszöbértékek bármelyikét eléri:
- EXECUTION_COUNT = 30 végrehajtás = végrehajtások száma
- TOTAL_COMPILE_CPU_TIME_MS = 1 másodperc = fordítási idő ezredmásodpercben
- TOTAL_EXECUTION_CPU_TIME_MS = 100 ms = végrehajtási processzoridő ezredmásodpercben
Például:
EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100
Ezeket a beállításokat a következő QUERY_CAPTURE_MODE = CUSTOM
szabhatja testre:
STALE_CAPTURE_POLICY_THRESHOLD = egész szám { DAYS | ÓRA }
Meghatározza a kiértékelési időközt annak megállapításához, hogy egy lekérdezést rögzíteni kell-e. Az alapértelmezett érték 1 nap, és 1 órától hét napig állítható be.
EXECUTION_COUNT = egész szám
Azt határozza meg, hogy a lekérdezések hányszor lesznek végrehajtva a kiértékelési időszakban. Az alapértelmezett érték 30, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén egy lekérdezésnek legalább 30 alkalommal kell végrehajtania egy nap alatt, hogy a lekérdezéstárban megmaradjon. EXECUTION_COUNT inttípus.
TOTAL_COMPILE_CPU_TIME_MS = egész szám
Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes fordítási CPU-időt. Az alapértelmezett érték 1000, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén a lekérdezésnek egy nap alatt a lekérdezés-fordítás során eltöltött processzoridőnek legalább egy másodpercével kell rendelkeznie ahhoz, hogy a lekérdezéstárban megmaradjon. TOTAL_COMPILE_CPU_TIME_MS inttípus.
TOTAL_EXECUTION_CPU_TIME_MS = egész szám
Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes végrehajtási CPU-időt. Az alapértelmezett érték 100, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén a lekérdezésnek legalább 100 ms processzoridővel kell rendelkeznie, amelyet egy nap alatt a lekérdezéstárban kell tárolnia. TOTAL_EXECUTION_CPU_TIME_MS inttípus.
< > recovery_option ::=
A következővonatkozik: SQL Server
Szabályozza az adatbázis-helyreállítási beállításokat és a lemez I/O-hibaellenőrzését.
TELE
Teljes helyreállítást biztosít a médiahiba után a tranzakciónapló biztonsági másolatainak használatával. Ha egy adatfájl sérült, a média helyreállítása visszaállíthatja az összes véglegesített tranzakciót. További információ: Recovery-modellek.
BULK_LOGGED
Médiahiba utáni helyreállítást biztosít. Kombinálja a legjobb teljesítményt és a minimális mennyiségű naplóterületet bizonyos nagy léptékű vagy tömeges műveletekhez. A minimálisan naplózható műveletekről a A tranzakciónaplócímű témakörben talál további információt. A BULK_LOGGED helyreállítási modellben ezeknek a műveleteknek a naplózása minimális. További információ: Recovery-modellek.
EGYSZERŰ
A rendszer egy egyszerű biztonsági mentési stratégiát biztosít, amely minimális naplóterületet használ. A naplóterület automatikusan újra felhasználható, ha már nincs rá szükség a kiszolgálóhibák helyreállításához. További információ: Recovery-modellek.
Fontos
Az egyszerű helyreállítási modell könnyebben kezelhető, mint a másik két modell, de az adatfájlok sérülése esetén nagyobb adatveszteség-kockázat rovására. A legutóbbi adatbázis- vagy különbözeti adatbázis biztonsági mentése óta bekövetkezett összes módosítás elveszik, és manuálisan újra kell újra beírni.
Az alapértelmezett helyreállítási modellt a model
rendszeradatbázis helyreállítási modellje határozza meg. A megfelelő helyreállítási modell kiválasztásáról további információt Helyreállítási modellekcímű témakörben talál.
A beállítás állapotát a recovery_model
katalógusnézet recovery_model_desc
és oszlopainak vizsgálatával határozhatja meg. Az állapotot az Recovery
függvény tulajdonságának vizsgálatával is meghatározhatja.
TORN_PAGE_DETECTION { ON | KI }
RA
A hiányos oldalakat az adatbázismotor észlelheti.
KI
Az adatbázismotor nem képes hiányos lapokat észlelni.
Fontos
A szintaxis struktúrája TORN_PAGE_DETECTION ON | A kikapcsolva az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a szintaxisstruktúrát az új fejlesztési munkában, és tervezze meg a szintaxisstruktúrát jelenleg használó alkalmazások módosítását. Használja inkább a PAGE_VERIFY lehetőséget.
PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
Felderíti a lemez I/O elérési útjának hibái által okozott sérült adatbázislapokat. A lemez I/O elérési útjának hibái okozhatják az adatbázis sérülését. Ezeket a hibákat leggyakrabban az áramkimaradások vagy a lemez hardverhibái okozzák, amelyek a lap lemezre írásakor fordulnak elő.
ELLENŐRZŐÖSSZEG
Kiszámítja az ellenőrzőösszeget a teljes oldal tartalmának felett, és az értéket az oldalfejlécben tárolja, amikor egy lap lemezre van írva. Amikor a lap lemezről olvasható, az ellenőrzőösszeg újrafordításra kerül, és összehasonlítja az oldalfejlécben tárolt ellenőrzőösszeg-értékkel. Ha az értékek nem egyeznek, a rendszer a 824-et (ellenőrzőösszeg-hibát jelző) hibaüzenetet jelenti mind az SQL Server hibanaplójában, mind a Windows eseménynaplójában. Az ellenőrzőösszeg hibája az I/O elérési út problémáját jelzi. A kiváltó ok meghatározásához meg kell vizsgálni a hardvert, a belső vezérlőprogram-illesztőprogramokat, a BIOS-t, a szűrőillesztőket (például a vírusszoftvereket) és más I/O-elérési utak összetevőit.
TORN_PAGE_DETECTION
A 8 kilobájtos (KB) adatbázislap minden egyes 512 bájtos szektorához egy adott 2 bites mintát ment, és az adatbázis oldalfejlécében tárolja, amikor a lap lemezre van írva. Amikor a lap lemezről olvasható, az oldalfejlécben tárolt szakadt biteket a rendszer összehasonlítja a lap tényleges szektoradataival.
A nem egyező értékek azt jelzik, hogy a lapnak csak egy része lett lemezre írva. Ebben az esetben a rendszer a 824-ben megjelenő hibaüzenetet (amely egy laptöréses hibát jelez) az SQL Server hibanaplójában és a Windows eseménynaplójában is megjelenik. A szakadt oldalakat általában az adatbázis-helyreállítás észleli, ha az valóban hiányosan ír egy lapot. Az I/O elérési útjának egyéb hibái azonban bármikor megszakíthatják a lapokat.
Egyik sem
Az adatbázisoldal-írások nem hoznak létre ELLENŐRZŐÖSSZEGet vagy TORN_PAGE_DETECTION értéket. Az SQL Server nem ellenőrzi az ellenőrzőösszeget vagy a szétszakadt oldalt az olvasás során, még akkor sem, ha egy ELLENŐRZŐÖSSZEG vagy TORN_PAGE_DETECTION érték szerepel az oldal fejlécében.
A PAGE_VERIFY beállítás használatakor vegye figyelembe a következő fontos szempontokat:
Az alapértelmezett érték CHECKSUM.
Ha egy felhasználó vagy rendszeradatbázis SQL Server 2005 (9.x) vagy újabb verzióra frissül, a PAGE_VERIFY érték (NONE vagy TORN_PAGE_DETECTION) nem módosul. Javasoljuk, hogy váltson a CHECKSUM-ra.
Jegyzet
Az SQL Server korábbi verzióiban a PAGE_VERIFY adatbázis beállítása NONE értékre van állítva a
tempdb
adatbázishoz, és nem módosítható. Az SQL Server 2008 -tól kezdve (10.0.x) atempdb
adatbázis alapértelmezett értéke az SQL Server új telepítéseihez tartozó CHECKSUM. A telepítési SQL Server frissítésekor az alapértelmezett érték nem változik. A beállítás módosítható. Javasoljuk, hogy használja a CHECKSUM függvényt atempdb
adatbázishoz.TORN_PAGE_DETECTION kevesebb erőforrást használhat, de a CHECKSUM-védelem minimális részhalmazát biztosítja.
PAGE_VERIFY az adatbázis offline állapotba helyezése, az adatbázis zárolása vagy más módon az adatbázis egyidejűségének akadályozása nélkül állítható be.
A CHECKSUM kölcsönösen kizárja TORN_PAGE_DETECTION. Mindkét beállítás egyszerre nem engedélyezhető.
Szakadt oldal vagy ellenőrzőösszeg észlelésekor helyreállíthatja az adatokat, vagy újraépítheti az indexet, ha a hiba csak az indexoldalakra korlátozódik. Ha ellenőrzőösszeg-hibát tapasztal, az érintett adatbázislap vagy lapok típusának meghatározásához futtassa a DBCC CHECKDB parancsot. A visszaállítási beállításokról további információt VISSZAÁLLÍTÁS argumentumokcímű témakörben talál. Bár az adatok visszaállítása megoldja az adatsérülési problémát, a folyamatos hibák elkerülése érdekében a kiváltó okot (például a lemez hardverhibáját) a lehető leghamarabb diagnosztizálni és kijavítani kell.
Az SQL Server négy alkalommal újrapróbálkozza az ellenőrzőösszeggel, az oldaltöréssel vagy más I/O-hibával meghiúsuló olvasásokat. Ha az újrapróbálkozási kísérletek bármelyikében sikeres az olvasás, a rendszer egy üzenetet ír a hibanaplóba. Az olvasást aktiváló parancs folytatódik. Ha az újrapróbálkozási kísérletek sikertelenek, a parancs a 824-s hibaüzenettel hiúsul meg.
A 823-ról, a 824-ről és a 825-ről a következő témakörben talál további információt:
- 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 a beállításnak az aktuális beállítását a page_verify_option
katalógusnézet oszlopának vagy a IsTornPageDetectionEnabled
függvény tulajdonságának vizsgálatával lehet meghatározni.
< > remote_data_archive_option ::=
A következővonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))
Engedélyezi vagy letiltja a Stretch Database használatát az adatbázishoz. További információ: Stretch Database.
Fontos
A Stretch Database elavult az SQL Server 2022 -ben (16.x) és az Azure SQL Database-ben. Ez a funkció az adatbázismotor egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.
REMOTE_DATA_ARCHIVE = { ON ( SERVER = <server_name>, { CREDENTIAL = <db_scoped_credential_name> | FEDERATED_SERVICE_ACCOUNT = BE | OFF } ) | KI
RA
Engedélyezi a Stretch Database-t az adatbázishoz. További információkért, beleértve a további előfeltételeket is, olvassa el Stretch Database engedélyezése adatbázis-.
A Stretch Database táblához való engedélyezéséhez
db_owner
engedély szükséges. A Stretch Database adatbázishoz való engedélyezéséhezdb_owner
ésCONTROL DATABASE
engedélyek szükségesek.KISZOLGÁLÓ = <server_name>
Az Azure-kiszolgáló címét adja meg. Adja meg a név
.database.windows.net
részét. Példá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,
dbmanager
vagysysadmin
fiókként kell konfigurálni a távoli Azure-kiszolgálón.
Ha azt adja meg, hogy az összevont szolgáltatásfiók be van kapcsolva, akkor a HITELESÍTŐ ADATOK argumentumot sem adhatja meg. Adja meg a HITELESÍTŐ ADATOK argumentumot, ha KI értéket ad meg.
KI
Letiltja az adatbázis Stretch Database szolgáltatását. További információ: Stretch Database letiltása és távoli adatok visszahozása.
A Stretch Database csak akkor tiltható le egy adatbázis esetében, ha az adatbázis már nem tartalmaz olyan táblákat, amelyek engedélyezve vannak a Stretch Database-hez. A Stretch Database letiltása után az adatmigrálás leáll. Emellett a lekérdezési eredmények már nem tartalmazzák a távoli táblák eredményeit.
A Stretch Database letiltása nem távolítja el a távoli adatbázist. A távoli adatbázis törléséhez használja az Azure Portalt.
PERSISTENT_LOG_BUFFER
A következővonatkozik: SQL Server 2017 (14.x) és újabb.
Ha ez a beállítás meg van adva, a tranzakciónapló-puffer egy olyan köteten jön létre, amely a Storage Class Memory (NVDIMM-N nemvolatile storage) által támogatott lemezeszközön található, más néven állandó naplópufferen. További információ: Tranzakció véglegesítés késésének gyorsítása a Tárosztály memória és Állandó naplópuffer hozzáadása adatbázishoz.
< > service_broker_option ::=
A következővonatkozik: SQL Server
A következő Service Broker-beállításokat szabályozza: engedélyezi vagy letiltja az üzenetek kézbesítését, beállít egy új Service Broker-azonosítót, vagy beállítja a beszélgetési prioritásokat BE vagy KI értékre.
ENABLE_BROKER
Megadja, hogy a Szolgáltatásközvetítő engedélyezve van-e a megadott adatbázishoz. Az üzenetkézbesítés elindult, és a is_broker_enabled
jelző igaz értékre van állítva a sys.databases katalógusnézetben. Az adatbázis megőrzi a meglévő Service Broker-azonosítót. A szolgáltatásközvetítő nem engedélyezhető, amíg az adatbázis az adatbázis tükrözési konfigurációjának főkiszolgálója.
Jegyzet
ENABLE_BROKER kizárólagos adatbázis-zárolást igényel. Ha más munkamenetek zárolt erőforrásokat tárolnak az adatbázisban, ENABLE_BROKER megvárja, amíg a többi munkamenet feloldja a zárolásokat. A Service Broker felhasználói adatbázisban való engedélyezéséhez győződjön meg arról, hogy a ALTER DATABASE SET ENABLE_BROKER
utasítás futtatása előtt más munkamenetek nem használják az adatbázist, például úgy, hogy az adatbázist egyfelhasználós módban helyezi el. A Service Broker msdb
-adatbázisban való engedélyezéséhez először állítsa le az SQL Server Agentet, hogy a Service Broker beszerezhesse a szükséges zárolást.
DISABLE_BROKER
Megadja, hogy a Szolgáltatásközvetítő le van tiltva a megadott adatbázishoz. Az üzenetkézbesítés leáll, és a is_broker_enabled
jelző hamis értékre van állítva a sys.databases katalógusnézetben. Az adatbázis megőrzi a meglévő Service Broker-azonosítót.
NEW_BROKER
Megadja, hogy az adatbázisnak új közvetítőazonosítót kell kapnia. Az adatbázis új szolgáltatásközvetítőként működik. Így az adatbázis összes meglévő beszélgetése azonnal el lesz távolítva anélkül, hogy befejező párbeszédpanel-üzeneteket hoz létre. A régi Service Broker-azonosítóra hivatkozó útvonalakat újra létre kell hozni az új azonosítóval.
ERROR_BROKER_CONVERSATIONS
Megadja, hogy a Service Broker üzenetkézbesítés engedélyezve van-e. Ez a beállítás megőrzi az adatbázis meglévő Service Broker-azonosítóit. A Service Broker egy hibával zárja le az adatbázis összes beszélgetését. Ez a beállítás lehetővé teszi az alkalmazások számára a meglévő beszélgetések rendszeres törlését.
HONOR_BROKER_PRIORITY { ON | KI }
RA
A küldési műveletek figyelembe veszik a beszélgetésekhez rendelt prioritási szinteket. A magas prioritású beszélgetésekből érkező üzeneteket a rendszer az alacsony prioritású szintekhez rendelt beszélgetések üzenetei előtt küldi el.
KI
A küldési műveletek úgy futnak, mintha minden beszélgetés rendelkezik az alapértelmezett prioritási szinttel.
A HONOR_BROKER_PRIORITY beállítás módosításai azonnal érvénybe lépnek az olyan új párbeszédpaneleken vagy párbeszédpaneleken, amelyeken nem várnak üzenetek az elküldésre. Az ALTER DATABASE futtatásakor küldendő üzeneteket tartalmazó párbeszédpanelek nem fogják felvenni az új beállítást, amíg el nem küldik a párbeszédpanel egyes üzeneteit. Az az idő, amíg az összes párbeszédpanel elkezdi használni az új beállítást, jelentősen eltérhet.
Ennek a tulajdonságnak az aktuális beállítását a rendszer a is_broker_priority_honored
katalógusnézet oszlopában jelenti.
< > snapshot_option ::=
Kiszámítja a tranzakcióelkülönítési szintet.
ALLOW_SNAPSHOT_ISOLATION { ON | KI }
RA
Engedélyezi a Pillanatkép beállítást az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. Ha ez a beállítás engedélyezve van, a tranzakciók meg tudják adni a SNAPSHOT tranzakció elkülönítési szintjét. Amikor egy tranzakció a SNAPSHOT elkülönítési szinten fut, az összes utasítás pillanatképet lát az adatokról a tranzakció elején. Ha a SNAPSHOT elkülönítési szinten futó tranzakciók több adatbázisban férnek hozzá az adatokhoz, akkor vagy ALLOW_SNAPSHOT_ISOLATION be kell állítani az összes adatbázisban, vagy a tranzakció minden utasítása használjon zárolási tippeket egy FROM záradékban található hivatkozáshoz egy olyan adatbázis táblájára, ahol a ALLOW_SNAPSHOT_ISOLATION ki van kapcsolva.
KI
Kikapcsolja a Pillanatkép beállítást az adatbázis szintjén. A tranzakciók nem adhatja meg a SNAPSHOT tranzakció elkülönítési szintjét.
Ha új állapotra állítja be a ALLOW_SNAPSHOT_ISOLATION (be- és kikapcsolt állapotba, illetve KI és BE) az ALTER DATABASE mindaddig nem adja vissza az irányítást a hívónak, amíg az adatbázis összes meglévő tranzakciója le nem véglegesül. Ha az adatbázis már az ALTER DATABASE utasításban megadott állapotban van, a rendszer azonnal visszaadja a vezérlőt a hívónak. Ha az ALTER DATABASE utasítás nem ad vissza gyorsan, a sys.dm_tran_active_snapshot_database_transactions segítségével állapítsa meg, hogy vannak-e hosszú ideig futó tranzakciók. Ha az ALTER DATABASE utasítás megszakad, az adatbázis abban az állapotban marad, amelyben az ALTER DATABASE indításakor volt. A sys.databases katalógusnézet a pillanatkép-elkülönítési tranzakciók állapotát jelzi az adatbázisban. Ha snapshot_isolation_state_desc
= IN_TRANSITION_TO_ON, a parancs ALTER DATABASE ... ALLOW_SNAPSHOT_ISOLATION OFF
hat másodpercet szünetel, és újrapróbálkozza a műveletet.
Ha az adatbázis OFFLINE állapotú, nem módosíthatja a ALLOW_SNAPSHOT_ISOLATION állapotát.
Ha ALLOW_SNAPSHOT_ISOLATION állít be egy READ_ONLY-adatbázisban, a beállítás megmarad, ha az adatbázis később READ_WRITE lesz.
Módosíthatja a master
, model
, msdb
és tempdb
adatbázisok ALLOW_SNAPSHOT_ISOLATION beállításait. A beállítás minden alkalommal megmarad, amikor az adatbázismotor példánya le van állítva, és újraindul, ha módosítja a tempdb
beállításait. Ha módosítja a model
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ázisok esetében.
Ennek a beállításnak az aktuális beállítása a snapshot_isolation_state
katalógusnézet oszlopának vizsgálatával határozható meg.
READ_COMMITTED_SNAPSHOT { ON | KI }
RA
Engedélyezi Read-Committed pillanatkép beállítását az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. Ha ez a beállítás engedélyezve van, az olvasási lekötött elkülönítési szintet meghatározó tranzakciók zárolás helyett sorverziót használnak. Minden utasítás lát egy pillanatképet az adatokról az utasítás elején, amikor egy tranzakció a READ COMMITTED elkülönítési szinten fut.
KI
Az adatbázis szintjén kikapcsolja Read-Committed Pillanatkép lehetőséget. A READ COMMITTED elkülönítési szintet meghatározó tranzakciók zárolást használnak.
A READ_COMMITTED_SNAPSHOT be- vagy kikapcsolásához nem lehet aktív kapcsolat az adatbázishoz, kivéve az ALTER DATABASE parancsot futtató kapcsolatot. Az adatbázisnak azonban nem kell egyfelhasználós módban lennie. Ha az adatbázis OFFLINE állapotú, nem módosíthatja ennek a beállításnak az állapotát.
Ha READ_COMMITTED_SNAPSHOT állít be egy READ_ONLY-adatbázisban, a beállítás megmarad, amikor az adatbázis később READ_WRITE lesz.
READ_COMMITTED_SNAPSHOT nem kapcsolható be a master
, tempdb
vagy msdb
rendszeradatbázisokhoz. Ha módosítja a model
beállítását, akkor ez a beállítás lesz az alapértelmezett a létrehozott új adatbázisok esetében, kivéve a tempdb
.
Ennek a beállításnak az aktuális beállítása a is_read_committed_snapshot_on
katalógusnézet oszlopának vizsgálatával határozható meg.
Figyelmeztetés
Ha TARTÓSSÁG = SCHEMA_ONLY, majd READ_COMMITTED_SNAPSHOTALTER DATABASEhasználatával hoz létre egy táblát, a tábla adatai elvesznek.
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | KI }
A következővonatkozik: SQL Server (SQL Server 2014-től kezdve (12.x))
RA
Ha a tranzakcióelkülönítési szint bármely, a SNAPSHOT-nál alacsonyabb elkülönítési szintre van beállítva, a rendszer a memóriaoptimalizált táblák összes értelmezett Transact-SQL műveletét PILLANATKÉP-elkülönítés alatt futtatja. A pillanatképnél alacsonyabb elkülönítési szintek például a READ COMMITTED vagy a READ UNCOMMITTED. Ezek a műveletek azt futtatják, hogy a tranzakcióelkülönítési szint explicit módon van-e beállítva a munkamenet szintjén, vagy az alapértelmezettet implicit módon használja a rendszer.
KI
Nem emeli fel a tranzakcióelkülönítési szintet a memóriaoptimalizált táblákon Transact-SQL műveletek értelmezéséhez.
Ha az adatbázis OFFLINE állapotú, nem módosíthatja a MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT állapotát.
Az alapértelmezett beállítás ki van kapcsolva.
Ennek a beállításnak az aktuális beállítása a is_memory_optimized_elevate_to_snapshot_on
katalógusnézet oszlopának vizsgálatával határozható meg.
< > sql_option ::=
Az ANSI-megfelelőségi beállításokat az adatbázis szintjén szabályozza.
ANSI_NULL_DEFAULT { ON | KI }
Meghatározza egy olyan oszlop vagy felhasználó által definiált CLR-típusú alapértelmezett értékét, amelynek nullképessége nincs explicit módon definiálva a CREATE TABLE vagy AZ ALTER TABLE utasításban. A korlátozásokkal definiált oszlopok a beállítástól függetlenül a kényszerszabályokat követik.
RA
A nem definiált oszlopok alapértelmezett értéke NULL.
KI
A nem definiált oszlopok alapértelmezett értéke NEM NULL.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULL_DEFAULT alapértelmezett adatbázisszintű beállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_NULL_DEFAULT on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULL_DFLT_ON.
Az ANSI-kompatibilitás érdekében az adatbázis beállításának ANSI_NULL_DEFAULT on értékre állításával az adatbázis alapértelmezett értéke NULL.
A beállítás állapotát a is_ansi_null_default_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullDefault
függvény tulajdonságának vizsgálatával is meghatározhatja.
ANSI_NULLS { ON | KI }
RA
A null értékekkel való összes összehasonlítás ISMERETLEN értékre van kiértékelve.
KI
A nem Unicode-értékek és a null értékek összehasonlítása IGAZ értékre van kiértékelve, ha mindkét érték NULL.
Fontos
Az SQL Server egy későbbi verziójában a ANSI_NULLS mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULLS alapértelmezett adatbázisbeállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_NULLS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULLS.
Fontos
A SET ANSI_NULLS akkor is BE értékre kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
A beállítás állapotát a is_ansi_nulls_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullsEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
ANSI_PADDING { ON | KI }
RA
A sztringek az átalakítás előtt azonos hosszúságúra vannak kipárnázva. A varchar vagy nvarchar adattípusba való beszúrás előtt is azonos hosszúságúra van beszúrva.
KI
A karakterértékek záró üres értékeit szúrja be varchar vagy nvarchar oszlopokba. A bináris értékek záró nulláit is hagyja, amelyek varbináris oszlopokba vannak beszúrva. Az értékek nem az oszlop hosszára lesznek kipárnázva.
Ha ki van kapcsolva, ez a beállítás csak az új oszlopok definícióját érinti.
Fontos
Az SQL Server egy későbbi verziójában a ANSI_PADDING mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Javasoljuk, hogy mindig állítsa be a ANSI_PADDING ON értékre. ANSI_PADDING be kell kapcsolnia, ha számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
karakter (n) és bináris (n) oszlop, amely lehetővé teszi a null értékeket, akkor a ANSI_PADDING be van kapcsolva. Ha ANSI_PADDING ki van kapcsolva, a rendszer levágja a záró üreseket és nullákat. karakter (n) és bináris (n) oszlopokat, amelyek nem teszik lehetővé a null értékeket, mindig az oszlop hosszára vannak kipárnázva.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_PADDING alapértelmezett adatbázisszintű beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_PADDING on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_PADDING.
A beállítás állapotát a is_ansi_padding_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiPaddingEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
ANSI_WARNINGS { ON | KI }
RA
Hibák vagy figyelmeztetések jelennek meg, ha olyan feltételek lépnek fel, mint az osztás nullával. Hibák és figyelmeztetések is megjelennek, ha null értékek jelennek meg az összesítő függvényekben.
KI
A rendszer nem ad vissza figyelmeztetést, és null értékeket ad vissza, ha olyan feltételek lépnek fel, mint az osztás nullával.
Fontos
A SET ANSI_WARNINGS be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_WARNINGS alapértelmezett adatbázisbeállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_WARNINGS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_WARNINGS.
A beállítás állapotát a is_ansi_warnings_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiWarningsEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
ARITHABORT { ON | KI }
RA
A lekérdezés akkor fejeződik be, ha a lekérdezés végrehajtása során túlcsordulás vagy osztási zéró hiba lép fel.
KI
Figyelmeztető üzenet jelenik meg az ilyen hibák egyike esetén. A lekérdezés, köteg vagy tranzakció továbbra is úgy működik, mintha nem történt volna hiba, még akkor sem, ha figyelmeztetés jelenik meg.
Fontos
A SET ARITHABORT értéknek BE értékre kell állítania, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
A beállítás állapotát a is_arithabort_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsArithmeticAbortEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
COMPATIBILITY_LEVEL = { 160 | 150 | 140 | 130 | 120 | 110 | 100 }
További információ: ALTER DATABASE kompatibilitási szintje.
CONCAT_NULL_YIELDS_NULL { ON | KI }
RA
Az összefűzési művelet eredménye NULL, ha bármelyik operandus NULL. Például az "Ez" karaktersztring összefűzésével a NULL értéket adja vissza a "This is" érték helyett.
KI
A null érték üres karaktersorozatként lesz kezelve.
Fontos
CONCAT_NULL_YIELDS_NULL be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
Az SQL Server közelgő verzióiban a CONCAT_NULL_YIELDS_NULL mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog kiváltani. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CONCAT_NULL_YIELDS_NULL alapértelmezett adatbázis-beállítását. Alapértelmezés szerint az ODBC és az OLE DB-ügyfelek egy kapcsolatszintű SET utasításbeállítást adnak ki, CONCAT_NULL_YIELDS_NULL on értékre az SQL Server egy példányához való csatlakozáskor. További információ: SET CONCAT_NULL_YIELDS_NULL.
A beállítás állapotát a is_concat_null_yields_null_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsNullConcat
függvény tulajdonságának vizsgálatával is meghatározhatja.
NUMERIC_ROUNDABORT { ON | KI }
RA
Hiba akkor jön létre, ha egy kifejezés pontosságvesztése következik be.
KI
A pontosságvesztés nem hoz létre hibaüzenetet, és az eredmény az eredményt tároló oszlop vagy változó pontosságára kerekítve lesz.
Fontos
NUMERIC_ROUNDABORT kikapcsolva kell lennie, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
Ennek a beállításnak az állapotát a is_numeric_roundabort_on
katalógusnézet oszlopában határozhatja meg. Az állapotot az IsNumericRoundAbortEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
QUOTED_IDENTIFIER { ON | KI }
RA
A kettős idézőjelek elválasztott azonosítók beágyazására használhatók.
A kettős idézőjelekkel tagolt összes sztring objektumazonosítóként lesz értelmezve. Az idézett azonosítóknak nem kell követniük az azonosítók Transact-SQL szabályait. Lehetnek kulcsszavak, és tartalmazhatnak olyan karaktereket, amelyek nem engedélyezettek Transact-SQL azonosítókban. Ha a kettős idézőjel (
"
) az azonosító része, akkor két idézőjel (""
) is jelölhető.KI
Az azonosítók nem lehetnek idézőjelekben, és az azonosítókra vonatkozó összes Transact-SQL szabályt be kell tartaniuk. A literálok egy vagy két idézőjellel elválaszthatók.
Az SQL Server lehetővé teszi az azonosítók szögletes zárójelek ([
és ]
) szerinti tagolását is. A szögletes azonosítók mindig használhatók, függetlenül a QUOTED_IDENTIFIER beállítástól. További információ: Adatbázis-azonosítók.
Amikor létrehoz egy táblát, az IDÉZŐJELES AZONOSÍTÓ beállítás mindig ON formátumban lesz tárolva a tábla metaadataiban. A beállítás akkor is tárolódik, ha a beállítás ki van kapcsolva a tábla létrehozásakor.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a QUOTED_IDENTIFIER alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, QUOTED_IDENTIFIER on értékre. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET QUOTED_IDENTIFIER.
A beállítás állapotát a is_quoted_identifier_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsQuotedIdentifiersEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
RECURSIVE_TRIGGERS { ON | KI }
RA
A AFTER-triggerek rekurzív tüzelése engedélyezett.
KI
A beállítás állapotát a
is_recursive_triggers_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot azIsRecursiveTriggersEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
Jegyzet
Csak a közvetlen rekurziót akadályozza meg, ha RECURSIVE_TRIGGERS KI értékre van állítva. A közvetett rekurzió letiltásához a beágyazott eseményindítók kiszolgálójának beállítását is 0 értékre kell állítania.
A beállítás állapotát a is_recursive_triggers_on
katalógusnézet oszlopának vagy a IsRecursiveTriggersEnabled
függvény tulajdonságának vizsgálatával határozhatja meg.
< > suspend_for_snapshot_backup ::=
A következővonatkozik: SQL Server (SQL Server 2022-től kezdve (16.x))
Felfüggeszti az adatbázisokat pillanatképek biztonsági mentéséhez. Definiálhat egy vagy több adatbáziscsoportot. Csak másolási módot jelölhet ki.
SET SUSPEND_FOR_SNAPSHOT_BACKUP = { ON | KI }
Felfüggeszti vagy megszünteti az adatbázisok felfüggesztését. Alapértelmezett kikapcsolva.
MODE = COPY_ONLY
Szabadon választható. COPY_ONLY módot használ.
< > target_recovery_time_option ::=
A következővonatkozik: SQL Server (SQL Server 2012-től kezdve (11.x))
A közvetett ellenőrzőpontok gyakoriságát határozza meg adatbázisonként. Az SQL Server 2016 -tól (13.x) kezdődően az új adatbázisok alapértelmezett értéke 1 perc, ami azt jelzi, hogy az adatbázis közvetett ellenőrzőpontokat használ. A régebbi verziók esetében az alapértelmezett érték 0, ami azt jelzi, hogy az adatbázis automatikus ellenőrzőpontokat használ, amelyek gyakorisága a kiszolgálópéldány helyreállítási időközének beállításától függ. A Microsoft a legtöbb rendszer esetében 1 percet javasol.
TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | PERC }
target_recovery_time
Megadja a megadott adatbázis összeomlás esetén történő helyreállításának időpontjára vonatkozó maximális korlátot. target_recovery_timeinttípus.
REPETA
Azt jelzi, hogy a target_recovery_time másodpercek számaként van kifejezve.
JEGYZŐKÖNYV
Azt jelzi, hogy a target_recovery_time a percek számaként van kifejezve.
További információ a közvetett ellenőrzőpontokról: Adatbázis-ellenőrzőpontok.
OPTIMIZED_LOCKING { ON | KI }
A következőre vonatkozik: SQL Server (az SQL Server 2025 (17.x) előzetes verziójától kezdve)
Lehetővé teszi az optimalizált zárolást. Az optimalizált zárolás alapértelmezés szerint KI értékre van állítva.
A OPTIMIZED_LOCKING be- vagy kikapcsolásához nem lehet aktív kapcsolat az adatbázishoz, kivéve az ALTER DATABASE parancsot futtató kapcsolatot. Az adatbázisnak azonban nem kell egyfelhasználós módban lennie. A beállítás állapotát csak akkor módosíthatja, ha az adatbázis ONLINE állapotú.
WITH <termination> ::=
Megadja, hogy mikor kell visszagörgetni a hiányos tranzakciókat, amikor az adatbázis egyik állapotból a másikba kerül. Ha a megszüntetési záradék nincs megadva, az ALTER DATABASE utasítás határozatlan ideig várakozik, ha az adatbázis zárolva van. Csak egy megszüntetési záradék adható meg, és a SET záradékokat követi.
Jegyzet
Nem minden adatbázis-beállítás használja a WITH <megszüntetési> záradékot. További információt a cikk "Megjegyzések" szakaszának
VISSZAÁLLÍTÁS egész szám [MÁSODPERC] | AZONNALI VISSZAÁLLÍTÁS
Megadja, hogy a megadott számú másodperc után vagy azonnal vissza kell-e állítani.
NO_WAIT
Azt adja meg, hogy a kérés meghiúsul, ha a kért adatbázis állapota vagy beállításának módosítása nem fejezhető be azonnal. Az azonnali végrehajtás azt jelenti, hogy nem kell megvárni a tranzakciók véglegesítését vagy önálló visszaállítását.
Beállítások megadása
Az adatbázis-beállítások aktuális beállításainak lekéréséhez használja a sys.databases katalógusnézetet vagy DATABASEPROPERTYEX
Az adatbázis-beállítás beállítása után az új beállítás azonnal érvénybe lép.
Az összes újonnan létrehozott adatbázis adatbázis-beállításainak bármelyikéhez módosíthatja az alapértelmezett értékeket. Ehhez módosítsa a megfelelő adatbázis-beállítást a model
adatbázisban.
Nem minden adatbázis-beállítás használja a WITH <végződési> záradékot, vagy más beállításokkal együtt adható meg. Az alábbi táblázat felsorolja ezeket a beállításokat, valamint azok beállítási és felmondási állapotát.
Beállítások kategória | Más beállításokkal is megadható | Használhatja a WITH <megszüntetési> záradékot |
---|---|---|
<db_state_option> | Igen | Igen |
<db_user_access_option> | Igen | Igen |
<db_update_option> | Igen | Igen |
<delayed_durability_option> | Igen | Igen |
<external_access_option> | Igen | Nem |
<cursor_option> | Igen | Nem |
<auto_option> | Igen | Nem |
<sql_option> | Igen | Nem |
<recovery_option> | Igen | Nem |
<target_recovery_time_option> | Nem | Igen |
<database_mirroring_option> | Nem | Nem |
ALLOW_SNAPSHOT_ISOLATION | Nem | Nem |
READ_COMMITTED_SNAPSHOT | Nem | Igen |
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT | Igen | Igen |
<service_broker_option> | Igen | Nem |
DATE_CORRELATION_OPTIMIZATION | Igen | Igen |
<parameterization_option> | Igen | Igen |
<change_tracking_option> | Igen | Igen |
<db_encryption_option> | Igen | Nem |
<accelerated_database_recovery> | Nem | Igen |
<optimized_locking> | Nem | Igen |
Az SQL Server-példány csomaggyorsítótára az alábbi lehetőségek egyikének beállításával törlődik:
Offline
ONLINE
MODIFY_NAME
EGYEZTET
READ_ONLY
OLVASÁS_ÍRÁS
A FILEGROUP ALAPÉRTELMEZETT MÓDOSÍTÁSA
A FILEGROUP READ_WRITE MÓDOSÍTÁSA
A FILEGROUP READ_ONLY MÓDOSÍTÁSA
A tervgyorsítótár a következő forgatókönyvekben is ki van ürítve.
- Az adatbázisokban a AUTO_CLOSE adatbázis beállítása BE értékre van állítva. Ha nincs felhasználói kapcsolat hivatkozása, vagy nem használja az adatbázist, a háttérfeladat automatikusan megpróbálja bezárni és leállítani az adatbázist.
- Egy alapértelmezett beállítással rendelkező adatbázison több lekérdezést is futtathat. Ezután az adatbázis el lesz dobva.
- A rendszer elveti a forrásadatbázis adatbázis-pillanatképét.
- Sikeresen újraépíti a tranzakciónaplót egy adatbázishoz.
- Visszaállítja az adatbázis biztonsági mentését.
- Leválaszthat egy adatbázist.
A tervgyorsítótár törlése az összes későbbi végrehajtási terv újrafordítását okozza, és a lekérdezési teljesítmény hirtelen, átmeneti csökkenését okozhatja. A csomaggyorsítótárban lévő összes törölt gyorsítótár esetében az SQL Server hibanaplója a következő tájékoztató üzenetet tartalmazza: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations
. Ezt az üzenetet öt percenként naplózza a rendszer, amíg a gyorsítótárat az adott időintervallumon belül kiüríti a rendszer.
Példák
Egy. Beállítások megadása adatbázison
Az alábbi példa a AdventureWorks2022
mintaadatbázis helyreállítási modelljét és adatlap-ellenőrzési beállításait állítja be.
USE master;
GO
ALTER DATABASE [database_name]
SET RECOVERY FULL PAGE_VERIFY CHECKSUM;
GO
B. Az adatbázis beállítása READ_ONLY
Az adatbázis vagy fájlcsoport állapotának READ_ONLY vagy READ_WRITE történő módosítása kizárólagos hozzáférést igényel az adatbázishoz. Az alábbi példa az adatbázist SINGLE_USER
módra állítja, hogy kizárólagos hozzáférést kapjon. A példa ezután beállítja a AdventureWorks2022
adatbázis állapotát READ_ONLY
, és az adatbázishoz való hozzáférést minden felhasználónak visszaadja.
Jegyzet
Ez a példa az első WITH ROLLBACK IMMEDIATE
utasításban ALTER DATABASE
megszüntetési lehetőséget használja. Az összes hiányos tranzakció vissza lesz állítva, és a AdventureWorks2022
adatbázishoz való bármely más kapcsolat azonnal megszakad.
USE master;
GO
ALTER DATABASE [database_name]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO
C. Pillanatkép-elkülönítés engedélyezése adatbázison
Az alábbi példa lehetővé teszi a pillanatkép-elkülönítési keretrendszer beállítását a AdventureWorks2022
-adatbázishoz.
USE [database_name];
USE master;
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'[database_name]';
GO
Az eredményhalmaz azt mutatja, hogy a pillanatkép-elkülönítési keretrendszer engedélyezve van.
név | snapshot_isolation_state | leírás |
---|---|---|
[database_name] | 1 | RA |
D. Változáskövetés engedélyezése, módosítása vagy letiltása
Az alábbi példa lehetővé teszi az AdventureWorks2022
adatbázis változáskövetését, és a megőrzési időtartamot 2
napra állítja.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);
Az alábbi példa bemutatja, hogyan módosíthatja a megőrzési időtartamot 3
napra.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);
Az alábbi példa bemutatja, hogyan tilthatja le a változáskövetést a AdventureWorks2022
adatbázishoz.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;
E. A lekérdezéstár engedélyezése
A következővonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))
Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
(
OPERATION_MODE = READ_WRITE,
CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
DATA_FLUSH_INTERVAL_SECONDS = 900,
QUERY_CAPTURE_MODE = AUTO,
MAX_STORAGE_SIZE_MB = 1024,
INTERVAL_LENGTH_MINUTES = 60
);
F. A lekérdezéstár engedélyezése várakozási statisztikákkal
A következővonatkozik: SQL Server (SQL Server 2017-től kezdve (14.x))
Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
(
OPERATION_MODE = READ_WRITE,
CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
DATA_FLUSH_INTERVAL_SECONDS = 900,
MAX_STORAGE_SIZE_MB = 1024,
INTERVAL_LENGTH_MINUTES = 60,
SIZE_BASED_CLEANUP_MODE = AUTO,
MAX_PLANS_PER_QUERY = 200,
WAIT_STATS_CAPTURE_MODE = ON,
);
G. A Lekérdezéstár engedélyezése egyéni rögzítési házirend-beállításokkal
A következővonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))
Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
(
OPERATION_MODE = READ_WRITE,
CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
DATA_FLUSH_INTERVAL_SECONDS = 900,
MAX_STORAGE_SIZE_MB = 1024,
INTERVAL_LENGTH_MINUTES = 60,
SIZE_BASED_CLEANUP_MODE = AUTO,
MAX_PLANS_PER_QUERY = 200,
WAIT_STATS_CAPTURE_MODE = ON,
QUERY_CAPTURE_MODE = CUSTOM,
QUERY_CAPTURE_POLICY = (
STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100
)
);
Kapcsolódó tartalom
- Statisztika
- 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 Database *
SQL-adatbázis
A kompatibilitási szintek SET
lehetőségek, de ALTER DATABASE kompatibilitási szintje.
Jegyzet
Számos adatbáziskészlet-beállítás konfigurálható az aktuális munkamenethez SET Utasítások használatával, és az alkalmazások gyakran konfigurálják őket csatlakozáskor. A munkamenetszintű beállítási beállítások felülbírálják a ALTER DATABASE SET
értékeket. Az alábbi szakaszokban ismertetett adatbázis-beállítások olyan értékek, amelyek olyan munkamenetekhez állíthatók be, amelyek nem adnak meg explicit módon más beállítási értékeket.
Szintaxis
ALTER DATABASE { database_name | Current }
SET
{
<option_spec> [ ,...n ] [ WITH <termination> ]
}
;
<option_spec> ::=
{
<auto_option>
| <automatic_tuning_option>
| <change_tracking_option>
| <cursor_option>
| <db_encryption_option>
| <db_update_option>
| <db_user_access_option>
| <delayed_durability_option>
| <parameterization_option>
| <query_store_options>
| <snapshot_option>
| <sql_option>
| <target_recovery_time_option>
| <termination>
| <temporal_history_retention>
}
;
<auto_option> ::=
{
AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
| AUTO_SHRINK { ON | OFF }
| AUTO_UPDATE_STATISTICS { ON | OFF }
| AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}
<automatic_tuning_option> ::=
{
AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
| AUTOMATIC_TUNING ( CREATE_INDEX = { DEFAULT | ON | OFF } )
| AUTOMATIC_TUNING ( DROP_INDEX = { DEFAULT | ON | OFF } )
| AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}
<change_tracking_option> ::=
{
CHANGE_TRACKING
{
= OFF
| = ON [ ( <change_tracking_option_list > [,...n] ) ]
| ( <change_tracking_option_list> [,...n] )
}
}
<change_tracking_option_list> ::=
{
AUTO_CLEANUP = { ON | OFF }
| CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
}
<cursor_option> ::=
{
CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}
<db_encryption_option> ::=
ENCRYPTION { ON | OFF }
<db_update_option> ::=
{ READ_ONLY | READ_WRITE }
<db_user_access_option> ::=
{ RESTRICTED_USER | MULTI_USER }
<delayed_durability_option> ::= DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }
<parameterization_option> ::=
PARAMETERIZATION { SIMPLE | FORCED }
<query_store_options> ::=
{
QUERY_STORE
{
= OFF
| = ON [ ( <query_store_option_list> [,... n] ) ]
| ( < query_store_option_list> [,... n] )
| CLEAR [ ALL ]
}
}
<query_store_option_list> ::=
{
OPERATION_MODE = { READ_WRITE | READ_ONLY }
| CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
| DATA_FLUSH_INTERVAL_SECONDS = number
| MAX_STORAGE_SIZE_MB = number
| INTERVAL_LENGTH_MINUTES = number
| SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
| QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
| MAX_PLANS_PER_QUERY = number
| WAIT_STATS_CAPTURE_MODE = { ON | OFF }
| QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}
<query_capture_policy_option_list> :: =
{
STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
| EXECUTION_COUNT = number
| TOTAL_COMPILE_CPU_TIME_MS = number
| TOTAL_EXECUTION_CPU_TIME_MS = number
}
<snapshot_option> ::=
{
ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
| READ_COMMITTED_SNAPSHOT { ON | OFF }
| MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
}
<sql_option> ::=
{
ANSI_NULL_DEFAULT { ON | OFF }
| ANSI_NULLS { ON | OFF }
| ANSI_PADDING { ON | OFF }
| ANSI_WARNINGS { ON | OFF }
| ARITHABORT { ON | OFF }
| COMPATIBILITY_LEVEL = { 160 | 150 | 140 | 130 | 120 | 110 | 100 }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }
}
<termination>::=
{
ROLLBACK AFTER integer [ SECONDS ]
| ROLLBACK IMMEDIATE
| NO_WAIT
}
<temporal_history_retention>::=TEMPORAL_HISTORY_RETENTION { ON | OFF }
Érvek
database_name
A módosítani kívánt adatbázis neve.
AKTUÁLIS
CURRENT
futtatja a műveletet az aktuális adatbázisban.CURRENT
nem támogatott minden beállítás minden környezetben. HaCURRENT
sikertelen, adja meg az adatbázis nevét.
< > auto_option ::=
Automatikus beállításokat vezérel.
AUTO_CREATE_STATISTICS { ON | KI }
RA
A Lekérdezésoptimalizáló szükség szerint statisztikai adatokat hoz létre a lekérdezési predikátumokban lévő egyes oszlopokról a lekérdezéstervek és a lekérdezési teljesítmény javítása érdekében. Ezek az egyoszlopos statisztikák akkor jönnek létre, amikor a Lekérdezésoptimalizáló lekérdezéseket fordít le. Az egyoszlopos statisztikák csak olyan oszlopokon jönnek létre, amelyek még nem egy meglévő statisztikai objektum első oszlopa.
Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.
KI
A Lekérdezésoptimalizáló nem hoz létre statisztikákat a lekérdezési predikátumokban lévő egyetlen oszlopokra, amikor lekérdezéseket állít össze. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.
A beállítás állapotát a is_auto_create_stats_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoCreateStatistics
függvény tulajdonságának vizsgálatával is meghatározhatja.
További információ: "Statisztika beállításai" szakasz Statisztika.
NÖVEKMÉNYES = BE | KI
Állítsa a AUTO_CREATE_STATISTICS BE értékre, és állítsa a Növekményes értéket BE értékre. Ez a beállítás automatikusan létrehozott statisztikákat hoz létre növekményes állapotként, amikor a növekményes statisztikák támogatottak. Az alapértelmezett érték ki van kapcsolva. További információ: CREATE STATISTICS.
AUTO_SHRINK { ON | KI }
RA
Az adatbázisfájlok rendszeres zsugorodásra alkalmasak. Ha nincs konkrét követelménye, ne állítsa be a AUTO_SHRINK adatbázis beállítását ON értékre. További információ: Adatbázis zsugorítása.
Az adatfájlok és a naplófájlok is automatikusan lebomlhatnak. AUTO_SHRINK csak akkor csökkenti a tranzakciónapló méretét, ha egyszerű helyreállítási modellre állítja be az adatbázist, vagy ha biztonsági másolatot készít a naplóról. Ha ki van kapcsolva, az adatbázisfájlok nem zsugorodnak automatikusan a nem használt terület rendszeres ellenőrzése során.
A AUTO_SHRINK beállítás hatására a fájlok akkor zsugorulnak, ha a fájl több mint 25 százaléka nem használt területet tartalmaz. A beállítás hatására a fájl két méret egyikére zsugorodik. A nagyobb méretre zsugorodik:
- Az a méret, ahol a fájl 25 százaléka nem használt terület
- A fájl mérete a létrehozáskor
Írásvédett adatbázisok nem zsugorodhatnak.
KI
Az adatbázisfájlok nem zsugorulnak automatikusan a nem használt terület rendszeres ellenőrzése során.
A beállítás állapotát a is_auto_shrink_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoShrink
függvény tulajdonságának vizsgálatával is meghatározhatja.
Jegyzet
A AUTO_SHRINK lehetőség nem érhető el egy tartalmazott adatbázisban.
AUTO_UPDATE_STATISTICS { ON | KI }
RA
Megadja, hogy a Lekérdezésoptimalizáló frissíti a statisztikákat, amikor egy lekérdezés használja őket, és hogy mikor lehetnek elavultak. A statisztikák elavulttá válnak, miután a beszúrási, frissítési, törlési vagy egyesítési műveletek megváltoztatták az adateloszlást a táblázatban vagy indexelt nézetben. A Lekérdezésoptimalizáló úgy határozza meg, hogy a statisztikák mikor lehetnek elavultak, ha megszámolja az adatmódosítások számát az utolsó statisztikai frissítés óta, és összehasonlítja a módosítások számát egy küszöbértékhez. A küszöbérték a tábla vagy indexelt nézetben lévő sorok számán alapul.
A Lekérdezésoptimalizáló a lekérdezés fordítása előtt ellenőrzi a elavult statisztikákat, és gyorsítótárazott lekérdezési tervet futtat. A Lekérdezésoptimalizáló a lekérdezési predikátum oszlopait, tábláit és indexelt nézeteit használja annak meghatározására, hogy mely statisztikák lehetnek elavultak. A Lekérdezésoptimalizáló ezt az információt a lekérdezés fordítása előtt határozza meg. A gyorsítótárazott lekérdezési terv futtatása előtt az adatbázismotor ellenőrzi, hogy a lekérdezésterv hivatkozik-e up-todátumstatisztikákra.
A AUTO_UPDATE_STATISTICS beállítás az indexekhez, egyoszlopos lekérdezési predikátumokhoz és a CREATE STATISTICS utasítással létrehozott statisztikákhoz készült statisztikákra vonatkozik. Ez a beállítás a szűrt statisztikákra is vonatkozik.
Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.
A AUTO_UPDATE_STATISTICS_ASYNC beállítással megadhatja, hogy a statisztikák szinkronban vagy aszinkron módon frissülnek-e.
KI
Azt adja meg, hogy a Lekérdezésoptimalizáló nem frissíti a statisztikákat, amikor egy lekérdezés használja őket. A Lekérdezésoptimalizáló nem frissíti a statisztikákat, ha esetleg elavultak. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.
A beállítás állapotát a
is_auto_update_stats_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot azIsAutoUpdateStatistics
függvény tulajdonságának vizsgálatával is meghatározhatja.További információ: "Statisztika beállításai" szakasz Statisztika.
AUTO_UPDATE_STATISTICS_ASYNC { ON | KI }
RA
Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései aszinkronok- e. A Lekérdezésoptimalizáló nem várja meg, hogy a statisztikai frissítések befejeződjenek a lekérdezések fordítása előtt.
Ha ezt a beállítást ON értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.
Alapértelmezés szerint a AUTO_UPDATE_STATISTICS_ASYNC beállítás ki van kapcsolva, és a Lekérdezésoptimalizáló szinkronizálva frissíti a statisztikákat.
KI
Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései szinkronban legyenek. A lekérdezésoptimalizáló megvárja, amíg a statisztikai frissítések befejeződnek a lekérdezések fordítása előtt.
Ha ezt a beállítást KI értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.
A beállítás állapotát a is_auto_update_stats_async_on
katalógusnézet oszlopának vizsgálatával határozhatja meg.
A szinkron vagy aszinkron statisztikai frissítések használatának időpontjáról további információt az Statistics"Statisztika beállításai" című szakaszában talál.
< > automatic_tuning_option ::=
A automatikus finomhangolásiautomatikus beállításait szabályozza. A következő beállítások beállításait az Azure Portalon vagy a T-SQL-en keresztül tekintheti meg a sys.database_automatic_tuning_options
nézetben.
AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
KOCSI
Az Automatikus finomhangolási érték automatikus beállításával az Azure-konfiguráció alapértelmezett értékeit alkalmazza az automatikus finomhangoláshoz. Az Azure Portalon ez az "Öröklődés: Az Azure alapértelmezett beállításai" lehetőséget tükrözi.
ÖRÖKÖL
Az INHERIT érték használata örökli az alapértelmezett konfigurációt a szülőkiszolgálótól. Az Azure Portalon ez az "Öröklődés a kiszolgálótól" lehetőséget tükrözi. Ez különösen akkor hasznos, ha testre szeretné szabni az automatikus hangolási konfigurációt egy szülőkiszolgálón, és az ilyen kiszolgálón lévő összes adatbázis örökli ezeket az egyéni beállításokat. Ahhoz, hogy az öröklés működjön, a három egyéni hangolási beállítást FORCE_LAST_GOOD_PLAN, CREATE_INDEX és DROP_INDEX alapértelmezett értékre kell állítani az adatbázisokon.
SZOKÁS
Az EGYÉNI érték használatával egyénileg kell konfigurálnia az adatbázisokban elérhető automatikus hangolási beállításokat. Az Azure Portalon ez az "Öröklődés: Nem örököl" lehetőséget tükrözi.
CREATE_INDEX = { DEFAULT | BE | KI }
Engedélyezi vagy letiltja az automatikus indexkezelést, CREATE_INDEX
automatikus finomhangolásilehetőséget. Ennek a beállításnak az állapotát az Azure Portalon vagy a T-SQL-en keresztül tekintheti meg a sys.database_automatic_tuning_options
nézetben.
ALAPÉRTELMEZETT
Örökli az alapértelmezett beállításokat a kiszolgálótól. Ebben az esetben az egyes automatikus hangolási funkciók engedélyezésére vagy letiltására vonatkozó beállítások a kiszolgáló szintjén vannak meghatározva.
RA
Ha engedélyezve van, a hiányzó indexek automatikusan létrejönnek egy adatbázisban. Az index létrehozását követően a rendszer ellenőrzi a számítási feladat teljesítményét. Ha az ilyen létrehozott index már nem nyújt előnyöket a számítási feladatok teljesítményének, a rendszer automatikusan visszaállítja azt. Az automatikusan létrehozott indexek rendszer által létrehozott indexként vannak megjelölve.
KI
Nem hoz létre automatikusan hiányzó indexeket az adatbázisban.
DROP_INDEX = { DEFAULT | BE | KI }
Engedélyezi vagy letiltja az automatikus indexkezelést, DROP_INDEX
automatikus finomhangolásilehetőséget. Ennek a beállításnak az állapotát az Azure Portalon vagy a T-SQL-en keresztül tekintheti meg a sys.database_automatic_tuning_options
nézetben.
ALAPÉRTELMEZETT
Örökli az alapértelmezett beállításokat a kiszolgálótól. Ebben az esetben az egyes automatikus hangolási funkciók engedélyezésére vagy letiltására vonatkozó beállítások a kiszolgáló szintjén vannak meghatározva.
RA
Automatikusan elveti a duplikált vagy már nem hasznos indexeket a teljesítményterhelésbe.
KI
Nem dobja automatikusan a hiányzó indexeket az adatbázisba.
FORCE_LAST_GOOD_PLAN = { DEFAULT | BE | KI }
Engedélyezi vagy letiltja az automatikus tervkorrekciót, FORCE_LAST_GOOD_PLAN
automatikus finomhangolásilehetőséget. Ennek a beállításnak az állapotát az Azure Portalon vagy a T-SQL-en keresztül tekintheti meg a sys.database_automatic_tuning_options
nézetben.
ALAPÉRTELMEZETT
Örökli az alapértelmezett beállításokat a kiszolgálótól. Ebben az esetben az egyes automatikus hangolási funkciók engedélyezésére vagy letiltására vonatkozó beállítások a kiszolgáló szintjén vannak meghatározva. Ez az alapértelmezett érték. Az új Azure SQL-kiszolgálók alapértelmezett értéke ON, ami azt jelenti, hogy alapértelmezés szerint az új adatbázisok öröklik az ON beállítást.
RA
Az adatbázismotor automatikusan kényszeríti az utolsó ismert jó tervet az Transact-SQL lekérdezésekre, ahol az új lekérdezési terv teljesítményregressziót okoz. Az adatbázismotor folyamatosan figyeli a Transact-SQL lekérdezés lekérdezési teljesítményét a kényszerített tervvel. Ha teljesítménynövekedés tapasztalható, az adatbázismotor a legutóbbi ismert jó tervet használja. Ha a rendszer nem észlel teljesítménynövekedést, az adatbázismotor létrehoz egy új lekérdezési tervet. Az utasítás meghiúsul, ha a lekérdezéstár nincs engedélyezve, vagy nincs Írás-olvasás módban.
KI
Az adatbázismotor sys.dm_db_tuning_recommendations nézetben a lekérdezésterv változásai által okozott lehetséges lekérdezési teljesítményregressziókat jelenti. Ezek a javaslatok azonban nem lesznek automatikusan alkalmazva. A felhasználók figyelhetik az aktív javaslatokat, és megoldhatják az azonosított problémákat a nézetben megjelenő Transact-SQL szkriptek alkalmazásával.
< > change_tracking_option ::=
A vezérlők módosítják a követési beállításokat. Engedélyezheti a változáskövetést, beállíthatja a beállításokat, módosíthatja a beállításokat, és letilthatja a változáskövetést. Példákért lásd a cikk későbbi, Példák szakaszát.
RA
Engedélyezi az adatbázis változáskövetését. Ha engedélyezi a változáskövetést, beállíthatja az AUTOMATIKUS TÖRLÉS és A MÓDOSÍTÁS MEGŐRZÉSE beállítást is.
AUTO_CLEANUP = { ON | KI }
RA
A változáskövetési adatok a megadott megőrzési időszak után automatikusan törlődnek.
KI
A változáskövetési adatok nem törlődnek az adatbázisból.
CHANGE_RETENTION = retention_period { DAYS | ÓRA | PERC }
Meghatározza a változáskövetési adatok adatbázisban való megőrzésének minimális időtartamát. Az adatok csak akkor lesznek eltávolítva, ha a AUTO_CLEANUP érték be van kapcsolva.
retention_period egy egész szám, amely a megőrzési időszak numerikus összetevőjét adja meg.
Az alapértelmezett megőrzési időszak 2 nap. A minimális megőrzési idő 1 perc. Az alapértelmezett adatmegőrzési típus DAYS.
KI
Letiltja az adatbázis változáskövetését. Tiltsa le a változáskövetést az összes táblán, mielőtt letiltja a változáskövetést az adatbázisból.
< > cursor_option ::=
A kurzor beállításait szabályozza.
CURSOR_CLOSE_ON_COMMIT { ON | KI }
RA
A tranzakciók véglegesítésekor vagy visszagörgetésekor megnyíló kurzorok bezáródnak.
KI
A kurzorok nyitva maradnak a tranzakció véglegesítésekor; A tranzakciók visszagördítése bezárja a kurzorokat, kivéve az INSENSITIVE vagy STATIC néven definiált kurzorokat.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CURSOR_CLOSE_ON_COMMIT alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint ki CURSOR_CLOSE_ON_COMMIT állítani a kapcsolatszintű SET utasítást a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET CURSOR_CLOSE_ON_COMMIT.
A beállítás állapotát a is_cursor_close_on_commit_on
katalógusnézet oszlopának vagy a IsCloseCursorsOnCommitEnabled
függvény tulajdonságának vizsgálatával határozhatja meg. A kurzor implicit módon csak leválasztáskor van felszabadítva. További információ: KURZOR DEKLARÁLÁSA.
< > db_encryption_option ::=
Az adatbázis titkosítási állapotát szabályozza.
TITKOSÍTÁS { BE | KI }
Beállítja, hogy az adatbázis titkosítva legyen (BE) vagy ne legyen titkosítva (KI). További információ az adatbázis-titkosításról: Transzparens adattitkosítás (TDE), és Transzparens adattitkosítás az Azure SQL Database, az Azure SQL Managed Instance és az Azure Synapse Analytics.
Ha az adatbázis szintjén engedélyezve van a titkosítás, az összes fájlcsoport titkosítva lesz. Minden új fájlcsoport örökli a titkosított tulajdonságot. Ha az adatbázis bármely fájlcsoportja ÍRÁSVÉDETT értékre van állítva, az adatbázis titkosítási művelete meghiúsul.
Az adatbázis titkosítási állapotát a sys.dm_database_encryption_keys dinamikus felügyeleti nézet használatával tekintheti meg.
< > db_update_option ::=
Azt szabályozza, hogy a frissítések engedélyezve legyenek-e az adatbázisban.
READ_ONLY
A felhasználók adatokat olvashatnak az adatbázisból, de nem módosíthatják őket.
Jegyzet
A lekérdezési teljesítmény javítása érdekében frissítse a statisztikákat, mielőtt egy adatbázist READ_ONLY állít be. Ha az adatbázis READ_ONLY beállítása után további statisztikákra van szükség, az adatbázismotor statisztikákat hoz létre
tempdb
. További információ a csak olvasható adatbázisok statisztikáiról: Statistics.OLVASÁS_ÍRÁS
Az adatbázis olvasási és írási műveletekhez érhető el.
Az állapot módosításához kizárólagos hozzáféréssel kell rendelkeznie az adatbázishoz. További információ: SINGLE_USER záradék.
Jegyzet
Az Összevont Azure SQL Database-adatbázisokon a SET { READ_ONLY | READ_WRITE }
le van tiltva.
< > db_user_access_option ::=
Szabályozza a felhasználók hozzáférését az adatbázishoz.
KORLÁTOZOTT_FELHASZNÁLÓ
Az adatbázishoz csak a
db_owner
rögzített adatbázis-szerepkör ésdbcreator
éssysadmin
rögzített kiszolgálói szerepkörök tagjai csatlakozhatnak, de nem korlátozzák a számukat. Az adatbázishoz való minden kapcsolat megszakad az ALTER DATABASE utasítás megszakítási záradékában megadott időkeretben. Miután az adatbázis a RESTRICTED_USER állapotra váltott, a rendszer elutasítja a nem minősített felhasználók csatlakozási kísérleteit. Az Azure SQL Database-ben a felhasználói adatbázisból kell végrehajtani. Azmaster
adatbá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##'.'.
többfelhasználós
Minden olyan felhasználó, aki rendelkezik a megfelelő engedélyekkel az adatbázishoz való csatlakozáshoz. A beállítás állapotát a
user_access
katalógusnézet oszlopának vagy aUserAccess
függvény tulajdonságának vizsgálatával határozhatja meg. Az Azure SQL Database-ben a felhasználói adatbázisból kell végrehajtani. Azmaster
adatbá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.
FOGYATÉKOS
Az
SET DISABLED
utáni tranzakciók teljes mértékben tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.MEGENGEDETT
Az
SET ALLOWED
utáni összes tranzakció teljesen tartós vagy késleltetett, az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítástól függően.ERŐLTETETT
A
SET FORCED
követő tranzakciók tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.
< > PARAMETERIZATION_option ::=
A paraméterezési beállítást szabályozza.
PARAMÉTEREZÉS { SIMPLE | KÉNYSZERÍTETT }
EGYSZERŰ
A lekérdezések az adatbázis alapértelmezett viselkedése alapján vannak paraméterezve.
ERŐLTETETT
Az SQL Server paraméterezi az adatbázis összes lekérdezését.
Ennek a beállításnak az aktuális beállítása a is_parameterization_forced
katalógusnézet oszlopának vizsgálatával határozható meg.
< > query_store_options ::=
BE | KI | CLEAR [ ALL ]
Azt szabályozza, hogy a lekérdezéstár engedélyezve van-e az adatbázisban, és a lekérdezéstár tartalmának eltávolítását is szabályozza.
RA
Engedélyezi a lekérdezéstárat. A BE az alapértelmezett érték.
KI
Letiltja a lekérdezéstárat.
Jegyzet
A Lekérdezéstár nem tiltható le egyetlen Azure SQL Database-adatbázisban és rugalmas készletben. A
ALTER DATABASE [database] SET QUERY_STORE = OFF
végrehajtása a figyelmeztetési'QUERY_STORE=OFF' is not supported in this version of SQL Server.
.VILÁGOS
Távolítsa el a lekérdezéstár tartalmát.
OPERATION_MODE
A lekérdezéstár működési módját ismerteti. Az érvényes értékek READ_ONLY és READ_WRITE. READ_WRITE módban a Lekérdezéstár összegyűjti és megőrzi a lekérdezésterv és a futtatókörnyezet végrehajtási statisztikáinak adatait. READ_ONLY módban az információk beolvashatók a Lekérdezéstárból, de nem adnak hozzá új információkat. Ha a lekérdezéstár maximális lefoglalt területe kimerült, a lekérdezéstár a működési módját READ_ONLY értékre módosítja.
CLEANUP_POLICY
A lekérdezéstár adatmegőrzési szabályzatát ismerteti. STALE_QUERY_THRESHOLD_DAYS határozza meg, hogy hány napig őrizhetők meg a lekérdezés adatai a Lekérdezéstárban. STALE_QUERY_THRESHOLD_DAYS biginttípus. Az alapértelmezett érték 30. Az SQL Database Basic kiadás esetében az alapértelmezett érték 7 nap.
ADAT_FLUSH_INTERVALLUM_MÁSODPERCBEN
Meghatározza a lekérdezéstárba írt adatok lemezen való megőrzésének gyakoriságát. A teljesítmény optimalizálása érdekében a lekérdezéstár által gyűjtött adatok aszinkron módon lesznek megírva a lemezre. Az aszinkron átvitel gyakorisága a DATA_FLUSH_INTERVAL_SECONDS argumentum használatával van konfigurálva. DATA_FLUSH_INTERVAL_SECONDS biginttípus. Az alapértelmezett érték 900 (15 perc).
MAX_STORAGE_SIZE_MB
Meghatározza a lekérdezéstár számára lefoglalt területet. MAX_STORAGE_SIZE_MB biginttípus.
Jegyzet
Az Azure SQL Database-ben az alapértelmezett MAX_STORAGE_SIZE_MB
érték szolgáltatási szint szerint különbözik, az alábbiak szerint: Prémium, Üzletileg kritikus és Rugalmas skálázás: 1024 MB; Standard és általános célú: 100 MB; Alapszintű: 10 MB A megengedett maximális MAX_STORAGE_SIZE_MB
érték 10 240 MB.
Jegyzet
MAX_STORAGE_SIZE_MB
korlát nem szigorúan érvényes. A tárterület méretét csak akkor ellenőrzi a rendszer, ha a Lekérdezéstár adatokat ír lemezre. Ezt az időközt a DATA_FLUSH_INTERVAL_SECONDS
beállítás vagy a Management Studio Lekérdezéstár párbeszédpanel adatöblítési időközállítja be. Az intervallum alapértelmezett értéke 900 másodperc (vagy 15 perc).
Ha a lekérdezéstár túllépte a tárméret-ellenőrzések közötti MAX_STORAGE_SIZE_MB
korlátot, akkor írásvédett üzemmódra vált. Ha SIZE_BASED_CLEANUP_MODE
engedélyezve van, a MAX_STORAGE_SIZE_MB
korlátot kényszerítő törlési mechanizmus is aktiválódik.
Ha már nincs elég szabad terület, a Lekérdezéstár mód automatikusan visszavált olvasási-írási módra.
Fontos
Ha úgy gondolja, hogy a számítási feladatok rögzítéséhez több mint 10 GB lemezterületre van szükség, érdemes újragondolnia és optimalizálnia a számítási feladatot a lekérdezési tervek újrafelhasználására (például kényszerített paraméterezési, vagy módosítania kell a lekérdezéstár konfigurációit.
Az SQL Server 2019 -től (15.x) és az Azure SQL Database-ben QUERY_CAPTURE_MODE
EGYÉNI értékre állíthatja a lekérdezésrögzítési szabályzat további szabályozásához.
INTERVALLUM_HOSSZA_PERCEKBEN
Azt az időintervallumot határozza meg, amikor a futtatókörnyezet végrehajtási statisztikáinak adatai összesítve lesznek a lekérdezéstárban. A helyhasználat optimalizálása érdekében a futtatókörnyezeti stats store futtatókörnyezeti végrehajtási statisztikái rögzített időkeretben vannak összesítve. Ez a rögzített időkeret a INTERVAL_LENGTH_MINUTES argumentum használatával van konfigurálva. INTERVAL_LENGTH_MINUTES biginttípus. Az alapértelmezett érték 60.
SIZE_BASED_CLEANUP_MODE = { AUTO | KI }
Azt szabályozza, hogy a rendszer automatikusan aktiválja-e a törlést, ha az adatok teljes mennyisége megközelíti a maximális méretet.
KI
A méretalapú törlés nem aktiválódik automatikusan.
KOCSI
A méretalapú törlés automatikusan aktiválódik, ha a lemez mérete eléri a 90% max_storage_size_mb. A méretalapú törlés először a legkevésbé költséges és legrégebbi lekérdezéseket távolítja el. Körülbelül 80% max_storage_size_mbáll meg . Ez az alapértelmezett konfigurációs érték.
SIZE_BASED_CLEANUP_MODE nvarchartípus.
QUERY_CAPTURE_MODE { ALL | AUTO | EGYÉNI | NONE }
A jelenleg aktív lekérdezésrögzítési módot jelöli ki. Minden mód meghatározott lekérdezésrögzítési szabályzatokat határoz meg.
Jegyzet
A kurzorok, a tárolt eljárásokon belüli lekérdezések és a natívan lefordított lekérdezések mindig rögzítve lesznek, ha a lekérdezésrögzítési mód ALL, AUTO vagy CUSTOM értékre van állítva.
ÖSSZES
Az összes lekérdezést rögzíti.
KOCSI
Rögzítse a releváns lekérdezéseket a végrehajtások száma és az erőforrás-felhasználás alapján. Ez az Azure SQL Database alapértelmezett konfigurációs értéke.
Egyik sem
Új lekérdezések rögzítésének leállítása. A Lekérdezéstár továbbra is gyűjti a már rögzített lekérdezések fordítási és futásidejű statisztikáit. Körültekintően használja ezt a konfigurációt, mivel előfordulhat, hogy nem rögzíti a fontos lekérdezéseket.
SZOKÁS
Lehetővé teszi a QUERY_CAPTURE_POLICY beállításainak vezérlését.
QUERY_CAPTURE_MODE nvarchartípus.
MAX_PLANS_PER_QUERY
Meghatározza az egyes lekérdezésekhez fenntartott tervek maximális számát. MAX_PLANS_PER_QUERY inttípus. Az alapértelmezett érték 200.
WAIT_STATS_CAPTURE_MODE { ON | KI }
Azt határozza meg, hogy a rendszer lekérdezésenként rögzíti-e a várakozási statisztikákat.
RA
A lekérdezésenkénti várakozási statisztikák adatai rögzítve lesznek. Ez az alapértelmezett konfigurációs érték.
KI
A lekérdezésenkénti várakozási statisztikai adatok nincsenek rögzítve.
< > query_capture_policy_option_list :: =
Szabályozza a Lekérdezéstár rögzítési szabályzatának beállításait. A STALE_CAPTURE_POLICY_THRESHOLD kivételével ezek a beállítások határozzák meg azokat az OR feltételeket, amelyek szükségesek ahhoz, hogy a lekérdezések rögzítve legyenek a meghatározott elavult rögzítési szabályzat küszöbértékében.
STALE_CAPTURE_POLICY_THRESHOLD = egész szám { DAYS | ÓRA }
Meghatározza a kiértékelési időközt annak megállapításához, hogy egy lekérdezést rögzíteni kell-e. Az alapértelmezett érték 1 nap, és 1 órától hét napig állítható be. száminttípus.
EXECUTION_COUNT = egész szám
Azt határozza meg, hogy a lekérdezések hányszor lesznek végrehajtva a kiértékelési időszakban. Az alapértelmezett érték 30, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén egy lekérdezésnek legalább 30 alkalommal kell végrehajtania egy nap alatt, hogy a lekérdezéstárban megmaradjon. EXECUTION_COUNT inttípus.
TOTAL_COMPILE_CPU_TIME_MS = egész szám
Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes fordítási CPU-időt. Az alapértelmezett érték 1000, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén a lekérdezésnek egy nap alatt a lekérdezés-fordítás során eltöltött processzoridőnek legalább egy másodpercével kell rendelkeznie ahhoz, hogy a lekérdezéstárban megmaradjon. TOTAL_COMPILE_CPU_TIME_MS inttípus.
TOTAL_EXECUTION_CPU_TIME_MS = egész szám
Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes végrehajtási CPU-időt. Az alapértelmezett érték 100, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén a lekérdezésnek legalább 100 ms processzoridővel kell rendelkeznie, amelyet egy nap alatt a lekérdezéstárban kell tárolnia. TOTAL_EXECUTION_CPU_TIME_MS inttípus.
< > snapshot_option ::=
Meghatározza a tranzakcióelkülönítés szintjét.
ALLOW_SNAPSHOT_ISOLATION { ON | KI }
RA
Engedélyezi a Pillanatkép beállítást az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. Ha ez a beállítás engedélyezve van, a tranzakciók meg tudják adni a SNAPSHOT tranzakció elkülönítési szintjét. Amikor egy tranzakció a SNAPSHOT elkülönítési szinten fut, az összes utasítás pillanatképet lát az adatokról a tranzakció elején. Ha a SNAPSHOT elkülönítési szinten futó tranzakciók több adatbázisban férnek hozzá az adatokhoz, akkor vagy ALLOW_SNAPSHOT_ISOLATION be kell állítani az összes adatbázisban, vagy a tranzakció minden utasítása használjon zárolási tippeket egy FROM záradékban található hivatkozáshoz egy olyan adatbázis táblájára, ahol a ALLOW_SNAPSHOT_ISOLATION ki van kapcsolva.
KI
Kikapcsolja a Pillanatkép beállítást az adatbázis szintjén. A tranzakciók nem adhatja meg a SNAPSHOT tranzakció elkülönítési szintjét.
Ha új állapotra állítja be a ALLOW_SNAPSHOT_ISOLATION (be- és kikapcsolt állapotba, illetve KI és BE) az ALTER DATABASE mindaddig nem adja vissza az irányítást a hívónak, amíg az adatbázis összes meglévő tranzakciója le nem véglegesül. Ha az adatbázis már az ALTER DATABASE utasításban megadott állapotban van, a rendszer azonnal visszaadja a vezérlőt a hívónak. Ha az ALTER DATABASE utasítás nem ad vissza gyorsan, a sys.dm_tran_active_snapshot_database_transactions segítségével állapítsa meg, hogy vannak-e hosszú ideig futó tranzakciók. Ha az ALTER DATABASE utasítás megszakad, az adatbázis abban az állapotban marad, amelyben az ALTER DATABASE indításakor volt. A sys.databases katalógusnézet a pillanatkép-elkülönítési tranzakciók állapotát jelzi az adatbázisban. Ha snapshot_isolation_state_desc = IN_TRANSITION_TO_ON
, az utasítás ALTER DATABASE .... ALLOW_SNAPSHOT_ISOLATION OFF
hat másodpercet szünetel, és újrapróbálkozza a műveletet.
Ha az adatbázis OFFLINE állapotú, nem módosíthatja a ALLOW_SNAPSHOT_ISOLATION állapotát.
Ha ALLOW_SNAPSHOT_ISOLATION állít be egy READ_ONLY-adatbázisban, a beállítás megmarad, ha az adatbázis később READ_WRITE lesz.
Ennek a beállításnak az aktuális beállítása a snapshot_isolation_state
katalógusnézet oszlopának vizsgálatával határozható meg.
READ_COMMITTED_SNAPSHOT { ON | KI }
RA
Engedélyezi Read-Committed pillanatkép beállítását az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. Ha ez a beállítás engedélyezve van, a READ COMMITTED elkülönítési szintet meghatározó tranzakciók zárolás helyett sorverziót használnak. Minden utasítás lát egy pillanatképet az adatokról az utasítás elején, amikor egy tranzakció a READ COMMITTED elkülönítési szinten fut.
KI
Az adatbázis szintjén kikapcsolja Read-Committed Pillanatkép lehetőséget. A READ COMMITTED elkülönítési szintet meghatározó tranzakciók zárolást használnak.
A READ_COMMITTED_SNAPSHOT be- vagy kikapcsolásához nem lehet aktív kapcsolat az adatbázishoz, kivéve az ALTER DATABASE parancsot futtató kapcsolatot. Az adatbázisnak azonban nem kell egyfelhasználós módban lennie. Ha az adatbázis OFFLINE állapotú, nem módosíthatja ennek a beállításnak az állapotát.
Ha READ_COMMITTED_SNAPSHOT állít be egy READ_ONLY-adatbázisban, a beállítás megmarad, amikor az adatbázis később READ_WRITE lesz.
READ_COMMITTED_SNAPSHOT nem kapcsolható be a master
, tempdb
vagy msdb
rendszeradatbázisokhoz. Ha módosítja a model
beállítását, akkor ez a beállítás lesz az alapértelmezett a létrehozott új adatbázisok esetében, kivéve a tempdb
.
Ennek a beállításnak az aktuális beállítása a is_read_committed_snapshot_on
katalógusnézet oszlopának vizsgálatával határozható meg.
Figyelmeztetés
Ha egy táblát DURABILITY = SCHEMA_ONLY
hoz létre, és a READ_COMMITTED_SNAPSHOT később ALTER DATABASE
használatával módosítja, a tábla adatai elvesznek.
Borravaló
Az Azure SQL Database-ben a READ_COMMITTED_SNAPSHOT be- vagy kikapcsolásához szükséges ALTER DATABASE
parancsot az master
adatbázisban kell végrehajtani.
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | KI }
RA
Ha a tranzakcióelkülönítési szint bármely, a SNAPSHOT-nál alacsonyabb elkülönítési szintre van beállítva, a rendszer a memóriaoptimalizált táblák összes értelmezett Transact-SQL műveletét PILLANATKÉP-elkülönítés alatt futtatja. A pillanatképnél alacsonyabb elkülönítési szintek például a READ COMMITTED vagy a READ UNCOMMITTED. Ezek a műveletek azt futtatják, hogy a tranzakcióelkülönítési szint explicit módon van-e beállítva a munkamenet szintjén, vagy az alapértelmezettet implicit módon használja a rendszer.
KI
Nem emeli fel a tranzakcióelkülönítési szintet a memóriaoptimalizált táblákon Transact-SQL műveletek értelmezéséhez.
Ha az adatbázis OFFLINE állapotú, nem módosíthatja a MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT állapotát.
Az alapértelmezett érték ki van kapcsolva.
Ennek a beállításnak az aktuális beállítása a is_memory_optimized_elevate_to_snapshot_on
katalógusnézet oszlopának vizsgálatával határozható meg.
< > sql_option ::=
Az ANSI-megfelelőségi beállításokat az adatbázis szintjén szabályozza.
ANSI_NULL_DEFAULT { ON | KI }
Meghatározza egy olyan oszlop vagy felhasználó által definiált CLR-típusú alapértelmezett értékét, amelynek nullképessége nincs explicit módon definiálva a CREATE TABLE vagy AZ ALTER TABLE utasításban. A korlátozásokkal definiált oszlopok a beállítástól függetlenül a kényszerszabályokat követik.
RA
Az alapértelmezett érték NULL.
KI
Az alapértelmezett érték NEM NULL.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULL_DEFAULT alapértelmezett adatbázisszintű beállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_NULL_DEFAULT on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULL_DFLT_ON.
Az ANSI-kompatibilitás érdekében az adatbázis beállításának ANSI_NULL_DEFAULT on értékre állításával az adatbázis alapértelmezett értéke NULL.
A beállítás állapotát a is_ansi_null_default_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullDefault
függvény tulajdonságának vizsgálatával is meghatározhatja.
ANSI_NULLS { ON | KI }
RA
A null értékekkel való összes összehasonlítás ISMERETLEN értékre van kiértékelve.
KI
A nem Unicode-értékek és a null értékek összehasonlítása IGAZ értékre van kiértékelve, ha mindkét érték NULL.
Fontos
Az SQL Server egy későbbi verziójában a ANSI_NULLS mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULLS alapértelmezett adatbázisbeállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_NULLS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULLS.
Jegyzet
A SET ANSI_NULLS akkor is BE értékre kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
A beállítás állapotát a is_ansi_nulls_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullsEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
ANSI_PADDING { ON | KI }
RA
A sztringek az átalakítás előtt azonos hosszúságúra vannak kipárnázva. A varchar vagy nvarchar adattípusba való beszúrás előtt is azonos hosszúságúra van beszúrva.
KI
A karakterértékek záró üres értékeit szúrja be varchar vagy nvarchar oszlopokba. A bináris értékek záró nulláit is hagyja, amelyek varbináris oszlopokba vannak beszúrva. Az értékek nem az oszlop hosszára lesznek kipárnázva.
Ha ki van kapcsolva, ez a beállítás csak az új oszlopok definícióját érinti.
Fontos
Az SQL Server egy későbbi verziójában a ANSI_PADDING mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Javasoljuk, hogy mindig állítsa be a ANSI_PADDING ON értékre. ANSI_PADDING be kell kapcsolnia, ha számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
karakter (n) és bináris (n) oszlop, amely lehetővé teszi a null értékeket, akkor a ANSI_PADDING be van kapcsolva. Ha ANSI_PADDING ki van kapcsolva, a rendszer levágja a záró üreseket és nullákat. karakter (n) és bináris (n) oszlopokat, amelyek nem teszik lehetővé a null értékeket, mindig az oszlop hosszára vannak kipárnázva.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_PADDING alapértelmezett adatbázisszintű beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_PADDING on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_PADDING.
A beállítás állapotát a is_ansi_padding_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiPaddingEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
ANSI_WARNINGS { ON | KI }
RA
Hibák vagy figyelmeztetések jelennek meg, ha olyan feltételek lépnek fel, mint az osztás nullával. Hibák és figyelmeztetések is megjelennek, ha null értékek jelennek meg az összesítő függvényekben.
KI
A rendszer nem ad vissza figyelmeztetést, és null értékeket ad vissza, ha olyan feltételek lépnek fel, mint az osztás nullával.
Jegyzet
A SET ANSI_WARNINGS be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_WARNINGS alapértelmezett adatbázisbeállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_WARNINGS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_WARNINGS.
A beállítás állapotát a is_ansi_warnings_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiWarningsEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
ARITHABORT { ON | KI }
RA
A lekérdezés akkor fejeződik be, ha a lekérdezés végrehajtása során túlcsordulás vagy osztási zéró hiba lép fel.
KI
Figyelmeztető üzenet jelenik meg az ilyen hibák egyike esetén. A lekérdezés, köteg vagy tranzakció továbbra is úgy működik, mintha nem történt volna hiba, még akkor sem, ha figyelmeztetés jelenik meg.
Jegyzet
A SET ARITHABORT értéknek BE értékre kell állítania, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
A beállítás állapotát a is_arithabort_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsArithmeticAbortEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
COMPATIBILITY_LEVEL = { 160 | 150 | 140 | 130 | 120 | 110 | 100 }
További információ: ALTER DATABASE kompatibilitási szintje.
CONCAT_NULL_YIELDS_NULL { ON | KI }
RA
Az összefűzési művelet eredménye NULL, ha bármelyik operandus NULL. Ha például összefűzi az "Ez" karaktersztringet, a NULL pedig a NULL értéket okozza az "Ez az" érték helyett.
KI
A null érték üres karaktersorozatként lesz kezelve.
Jegyzet
CONCAT_NULL_YIELDS_NULL be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
Az SQL Server egy későbbi verziójában a CONCAT_NULL_YIELDS_NULL mindig be van kapcsolva, és minden olyan alkalmazás, amely explicit módon KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CONCAT_NULL_YIELDS_NULL alapértelmezett adatbázis-beállítását. Alapértelmezés szerint az ODBC és az OLE DB-ügyfelek egy kapcsolatszintű SET utasításbeállítást adnak ki, CONCAT_NULL_YIELDS_NULL on értékre az SQL Server egy példányához való csatlakozáskor. További információ: SET CONCAT_NULL_YIELDS_NULL.
A beállítás állapotát a is_concat_null_yields_null_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsNullConcat
függvény tulajdonságának vizsgálatával is meghatározhatja.
NUMERIC_ROUNDABORT { ON | KI }
RA
Hiba akkor jön létre, ha egy kifejezés pontosságvesztése következik be.
KI
A pontosságvesztés nem hoz létre hibaüzenetet, és az eredmény az eredményt tároló oszlop vagy változó pontosságára kerekítve lesz.
Fontos
NUMERIC_ROUNDABORT kikapcsolva kell lennie, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
Ennek a beállításnak az állapotát a is_numeric_roundabort_on
katalógusnézet oszlopában határozhatja meg. Az állapotot az IsNumericRoundAbortEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
QUOTED_IDENTIFIER { ON | KI }
RA
A kettős idézőjelek elválasztott azonosítók beágyazására használhatók.
A kettős idézőjelekkel tagolt összes sztring objektumazonosítóként lesz értelmezve. Az idézett azonosítóknak nem kell követniük az azonosítók Transact-SQL szabályait. Lehetnek kulcsszavak, és tartalmazhatnak olyan karaktereket, amelyek nem engedélyezettek Transact-SQL azonosítókban. Ha a kettős idézőjel (
"
) az azonosító része, akkor két idézőjel (""
) is jelölhető.KI
Az azonosítók nem lehetnek idézőjelekben, és az azonosítókra vonatkozó összes Transact-SQL szabályt be kell tartaniuk. A literálok egy vagy két idézőjellel elválaszthatók.
Az SQL Server lehetővé teszi az azonosítók szögletes zárójelek ([
és ]
) szerinti tagolását is. A szögletes azonosítók mindig használhatók, függetlenül a QUOTED_IDENTIFIER beállítástól. További információ: Adatbázis-azonosítók.
Amikor létrehoz egy táblát, az IDÉZŐJELES AZONOSÍTÓ beállítás mindig ON formátumban lesz tárolva a tábla metaadataiban. A beállítás akkor is tárolódik, ha a beállítás ki van kapcsolva a tábla létrehozásakor.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a QUOTED_IDENTIFIER alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, QUOTED_IDENTIFIER on értékre. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET QUOTED_IDENTIFIER.
A beállítás állapotát a is_quoted_identifier_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsQuotedIdentifiersEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
RECURSIVE_TRIGGERS { ON | KI }
RA
A AFTER-triggerek rekurzív tüzelése engedélyezett.
KI
A beállítás állapotát a
is_recursive_triggers_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot azIsRecursiveTriggersEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
Jegyzet
Csak a közvetlen rekurziót akadályozza meg, ha RECURSIVE_TRIGGERS KI értékre van állítva. A közvetett rekurzió letiltásához a beágyazott eseményindítók kiszolgálójának beállítását is 0 értékre kell állítania.
A beállítás állapotát a is_recursive_triggers_on
katalógusnézet oszlopának vagy a IsRecursiveTriggersEnabled
függvény tulajdonságának vizsgálatával határozhatja meg.
< > target_recovery_time_option ::=
A közvetett ellenőrzőpontok gyakoriságát határozza meg adatbázisonként. Az SQL Server 2016 -tól (13.x) kezdődően az új adatbázisok alapértelmezett értéke 1 perc, ami azt jelzi, hogy az adatbázis közvetett ellenőrzőpontokat használ. A régebbi verziók esetében az alapértelmezett érték 0, ami azt jelzi, hogy az adatbázis automatikus ellenőrzőpontokat használ, amelyek gyakorisága a kiszolgálópéldány helyreállítási időközének beállításától függ. A Microsoft a legtöbb rendszer esetében 1 percet javasol.
TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | PERC }
target_recovery_time
Megadja a megadott adatbázis összeomlás esetén történő helyreállításának időpontjára vonatkozó maximális korlátot. target_recovery_timeinttípus.
REPETA
Azt jelzi, hogy a target_recovery_time másodpercek számaként van kifejezve.
JEGYZŐKÖNYV
Azt jelzi, hogy a target_recovery_time a percek számaként van kifejezve.
További információ a közvetett ellenőrzőpontokról: Adatbázis-ellenőrzőpontok.
WITH <termination> ::=
Megadja, hogy mikor kell visszagörgetni a hiányos tranzakciókat, amikor az adatbázis egyik állapotból a másikba kerül. Ha a megszüntetési záradék nincs megadva, az ALTER DATABASE utasítás határozatlan ideig várakozik, ha az adatbázis zárolva van. Csak egy megszüntetési záradék adható meg, és a SET záradékokat követi.
Jegyzet
Nem minden adatbázis-beállítás használja a WITH <megszüntetési> záradékot. További információt a cikk "Megjegyzések" szakaszának
VISSZAÁLLÍTÁS egész szám [MÁSODPERC] | AZONNALI VISSZAÁLLÍTÁS
Megadja, hogy a megadott számú másodperc után vagy azonnal vissza kell-e állítani.
NO_WAIT
Azt adja meg, hogy a kérés meghiúsul, ha a kért adatbázis állapota vagy beállításának módosítása nem fejezhető be azonnal. Az azonnali végrehajtás azt jelenti, hogy nem kell megvárni a tranzakciók véglegesítését vagy önálló visszaállítását.
< > temporal_history_retention ::=
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.
RA
Alapértelmezett. 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.
KI
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 DATABASEPROPERTYEX
Az adatbázis-beállítás beállítása után az új beállítás azonnal érvénybe lép.
Az összes újonnan létrehozott adatbázis adatbázis-beállításainak bármelyikéhez módosíthatja az alapértelmezett értékeket. Ehhez módosítsa a megfelelő adatbázis-beállítást a model
adatbázisban.
Nem minden adatbázis-beállítás használja a WITH <végződési> záradékot, vagy más beállításokkal együtt adható meg. Az alábbi táblázat felsorolja ezeket a beállításokat, valamint azok beállítási és felmondási állapotát.
Beállítások kategória | Más beállításokkal is megadható | Használhatja a WITH <megszüntetési> záradékot |
---|---|---|
<auto_option> | Igen | Nem |
<change_tracking_option> | Igen | Igen |
<cursor_option> | Igen | Nem |
<db_encryption_option> | Igen | Nem |
<db_update_option> | Igen | Igen |
<db_user_access_option> | Igen | Igen |
<delayed_durability_option> | Igen | Igen |
<parameterization_option> | Igen | Igen |
ALLOW_SNAPSHOT_ISOLATION | Nem | Nem |
READ_COMMITTED_SNAPSHOT | Nem | Igen |
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT | Igen | Igen |
DATE_CORRELATION_OPTIMIZATION | Igen | Igen |
<sql_option> | Igen | Nem |
<target_recovery_time_option> | Nem | Igen |
Példák
Egy. Az adatbázis beállítása READ_ONLY
Egy adatbázis vagy fájlcsoport állapotának READ_ONLY vagy READ_WRITE történő módosítása kizárólagos hozzáférést igényel az adatbázishoz, és eltarthat néhány másodpercig. Az alábbi példa RESTRICTED_USER
módra állítja az adatbázist a hozzáférés korlátozásához. A példa ezután beállítja a AdventureWorks2022
adatbázis állapotát READ_ONLY
, és az adatbázishoz való hozzáférést minden felhasználónak visszaadja.
--Connect to [database_name];
GO
ALTER DATABASE [database_name]
SET RESTRICTED_USER;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
--`SET READ_ONLY` command might take a few seconds to complete.
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO
Ha vissza szeretné állítani az adatbázist olvasási-írási módra:
--Connect to [database_name];
GO
ALTER DATABASE [database_name]
SET READ_WRITE
GO
Ellenőrzés:
SELECT [name], user_access_desc, is_read_only FROM sys.databases
WHERE [name] = 'database_name'
GO
B. Pillanatkép-elkülönítés engedélyezése adatbázison
Az alábbi példa lehetővé teszi a pillanatkép-elkülönítési keretrendszer beállítását a AdventureWorks2022
-adatbázishoz.
--Connect to [database_name]
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
Ellenőrizze a snapshot_isolation_framework
állapotát az adatbázisban.
--Connect to [database_name]
SELECT name, snapshot_isolation_state,
snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'database_name';
GO
Az eredményhalmaz azt mutatja, hogy a pillanatkép-elkülönítési keretrendszer engedélyezve van.
név | snapshot_isolation_state | leírás |
---|---|---|
[database_name] | 1 | RA |
C. Változáskövetés engedélyezése, módosítása vagy letiltása
Az alábbi példa lehetővé teszi az AdventureWorks2022
adatbázis változáskövetését, és a megőrzési időtartamot 2
napra állítja.
--Connect to [database_name]
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);
Az alábbi példa bemutatja, hogyan módosíthatja a megőrzési időtartamot 3 napra.
--Connect to [database_name]
ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);
Az alábbi példa bemutatja, hogyan tilthatja le a változáskövetést a AdventureWorks2022
adatbázishoz.
--Connect to [database_name]
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;
D. A lekérdezéstár engedélyezése
Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja a lekérdezéstár paramétereit.
--Connect to [database_name]
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
(
OPERATION_MODE = READ_WRITE,
CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
DATA_FLUSH_INTERVAL_SECONDS = 900,
QUERY_CAPTURE_MODE = AUTO,
MAX_STORAGE_SIZE_MB = 1024,
INTERVAL_LENGTH_MINUTES = 60
);
E. A lekérdezéstár engedélyezése várakozási statisztikákkal
Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.
--Connect to [database_name]
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
(
OPERATION_MODE = READ_WRITE,
CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
DATA_FLUSH_INTERVAL_SECONDS = 900,
MAX_STORAGE_SIZE_MB = 1024,
INTERVAL_LENGTH_MINUTES = 60,
SIZE_BASED_CLEANUP_MODE = AUTO,
MAX_PLANS_PER_QUERY = 200,
WAIT_STATS_CAPTURE_MODE = ON
);
F. A Lekérdezéstár engedélyezése egyéni rögzítési házirend-beállításokkal
Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.
--Connect to [database_name]
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
(
OPERATION_MODE = READ_WRITE,
CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
DATA_FLUSH_INTERVAL_SECONDS = 900,
MAX_STORAGE_SIZE_MB = 1024,
INTERVAL_LENGTH_MINUTES = 60,
SIZE_BASED_CLEANUP_MODE = AUTO,
MAX_PLANS_PER_QUERY = 200,
WAIT_STATS_CAPTURE_MODE = ON,
QUERY_CAPTURE_MODE = CUSTOM,
QUERY_CAPTURE_POLICY = (
STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100
)
);
Kapcsolódó tartalom
- Statisztika
- 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 *
Felügyelt Azure SQL-példány
A kompatibilitási szintek SET
lehetőségek, de ALTER DATABASE kompatibilitási szintje.
Jegyzet
Számos adatbáziskészlet-beállítás konfigurálható az aktuális munkamenethez SET Utasítások használatával, és az alkalmazások gyakran konfigurálják őket csatlakozáskor. A munkamenetszintű beállítási beállítások felülbírálják a ALTER DATABASE SET
értékeket. Az alábbi szakaszokban ismertetett adatbázis-beállítások olyan értékek, amelyek olyan munkamenetekhez állíthatók be, amelyek nem adnak meg explicit módon más beállítási értékeket.
Szintaxis
ALTER DATABASE { database_name | Current }
SET
{
<optionspec> [ ,...n ]
}
;
<optionspec> ::=
{
<auto_option>
| <change_tracking_option>
| <cursor_option>
| <db_encryption_option>
| <delayed_durability_option>
| <parameterization_option>
| <query_store_options>
| <snapshot_option>
| <sql_option>
| <target_recovery_time_option>
| <termination>
| <temporal_history_retention>
}
;
<auto_option> ::=
{
AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
| AUTO_SHRINK { ON | OFF }
| AUTO_UPDATE_STATISTICS { ON | OFF }
| AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}
<automatic_tuning_option> ::=
{
AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}
<change_tracking_option> ::=
{
CHANGE_TRACKING
{
= OFF
| = ON [ ( <change_tracking_option_list > [,...n] ) ]
| ( <change_tracking_option_list> [,...n] )
}
}
<change_tracking_option_list> ::=
{
AUTO_CLEANUP = { ON | OFF }
| CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
}
<cursor_option> ::=
{
CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}
<db_encryption_option> ::=
ENCRYPTION { ON | OFF }
<delayed_durability_option> ::=DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }
<parameterization_option> ::=
PARAMETERIZATION { SIMPLE | FORCED }
<query_store_options> ::=
{
QUERY_STORE
{
= OFF
| = ON [ ( <query_store_option_list> [,... n] ) ]
| ( < query_store_option_list> [,... n] )
| CLEAR [ ALL ]
}
}
<query_store_option_list> ::=
{
OPERATION_MODE = { READ_WRITE | READ_ONLY }
| CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
| DATA_FLUSH_INTERVAL_SECONDS = number
| MAX_STORAGE_SIZE_MB = number
| INTERVAL_LENGTH_MINUTES = number
| SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
| QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
| MAX_PLANS_PER_QUERY = number
| WAIT_STATS_CAPTURE_MODE = { ON | OFF }
| QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}
<query_capture_policy_option_list> :: =
{
STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
| EXECUTION_COUNT = number
| TOTAL_COMPILE_CPU_TIME_MS = number
| TOTAL_EXECUTION_CPU_TIME_MS = number
}
<snapshot_option> ::=
{
ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
| READ_COMMITTED_SNAPSHOT { ON | OFF }
| MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
}
<sql_option> ::=
{
ANSI_NULL_DEFAULT { ON | OFF }
| ANSI_NULLS { ON | OFF }
| ANSI_PADDING { ON | OFF }
| ANSI_WARNINGS { ON | OFF }
| ARITHABORT { ON | OFF }
| COMPATIBILITY_LEVEL = { 160 | 150 | 140 | 130 | 120 | 110 | 100 }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }
}
<temporal_history_retention>::= TEMPORAL_HISTORY_RETENTION { ON | OFF }
Érvek
database_name
A módosítani kívánt adatbázis neve.
AKTUÁLIS
CURRENT
futtatja a műveletet az aktuális adatbázisban.
CURRENT
nem támogatott minden beállítás minden környezetben. Ha CURRENT
sikertelen, adja meg az adatbázis nevét.
< > auto_option ::=
Automatikus beállításokat vezérel.
AUTO_CREATE_STATISTICS { ON | KI }
RA
A Lekérdezésoptimalizáló szükség szerint statisztikai adatokat hoz létre a lekérdezési predikátumokban lévő egyes oszlopokról a lekérdezéstervek és a lekérdezési teljesítmény javítása érdekében. Ezek az egyoszlopos statisztikák akkor jönnek létre, amikor a Lekérdezésoptimalizáló lekérdezéseket fordít le. Az egyoszlopos statisztikák csak olyan oszlopokon jönnek létre, amelyek még nem egy meglévő statisztikai objektum első oszlopa.
Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.
KI
A Lekérdezésoptimalizáló nem hoz létre statisztikákat a lekérdezési predikátumokban lévő egyetlen oszlopokra, amikor lekérdezéseket állít össze. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.
A beállítás állapotát a
is_auto_create_stats_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot azIsAutoCreateStatistics
függvény tulajdonságának vizsgálatával is meghatározhatja.További információ: "Statisztika beállításai" szakasz Statisztika.
NÖVEKMÉNYES = BE | KI
Állítsa a AUTO_CREATE_STATISTICS BE értékre, és állítsa a Növekményes értéket BE értékre. Ez a beállítás automatikusan létrehozott statisztikákat hoz létre növekményes állapotként, amikor a növekményes statisztikák támogatottak. Az alapértelmezett érték ki van kapcsolva. További információ: CREATE STATISTICS.
AUTO_SHRINK { ON | KI }
RA
Az adatbázisfájlok rendszeres zsugorodásra alkalmasak. Ha nincs konkrét követelménye, ne állítsa be a AUTO_SHRINK adatbázis beállítását ON értékre. További információ: Adatbázis zsugorítása.
Az adatfájlok és a naplófájlok is automatikusan lebomlhatnak. AUTO_SHRINK csak akkor csökkenti a tranzakciónapló méretét, ha egyszerű helyreállítási modellre állítja be az adatbázist, vagy ha biztonsági másolatot készít a naplóról. Ha ki van kapcsolva, az adatbázisfájlok nem zsugorodnak automatikusan a nem használt terület rendszeres ellenőrzése során.
A AUTO_SHRINK beállítás hatására a fájlok akkor zsugorulnak, ha a fájl több mint 25 százaléka nem használt területet tartalmaz. A beállítás hatására a fájl két méret egyikére zsugorodik. A nagyobb méretre zsugorodik:
- Az a méret, ahol a fájl 25 százaléka nem használt terület
- A fájl mérete a létrehozáskor
Írásvédett adatbázisok nem zsugorodhatnak.
KI
Az adatbázisfájlok nem zsugorulnak automatikusan a nem használt terület rendszeres ellenőrzése során.
A beállítás állapotát a is_auto_shrink_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoShrink
függvény tulajdonságának vizsgálatával is meghatározhatja.
Jegyzet
A AUTO_SHRINK beállítás nem érhető el a tartalmazott adatbázisokban.
AUTO_UPDATE_STATISTICS { ON | KI }
RA
Megadja, hogy a Lekérdezésoptimalizáló frissíti a statisztikákat, amikor egy lekérdezés használja őket, és hogy mikor lehetnek elavultak. A statisztikák elavulttá válnak, miután a beszúrási, frissítési, törlési vagy egyesítési műveletek megváltoztatták az adateloszlást a táblázatban vagy indexelt nézetben. A Lekérdezésoptimalizáló úgy határozza meg, hogy a statisztikák mikor lehetnek elavultak, ha megszámolja az adatmódosítások számát az utolsó statisztikai frissítés óta, és összehasonlítja a módosítások számát egy küszöbértékhez. A küszöbérték a tábla vagy indexelt nézetben lévő sorok számán alapul.
A Lekérdezésoptimalizáló a lekérdezés fordítása előtt ellenőrzi a elavult statisztikákat, és gyorsítótárazott lekérdezési tervet futtat. A Lekérdezésoptimalizáló a lekérdezési predikátum oszlopait, tábláit és indexelt nézeteit használja annak meghatározására, hogy mely statisztikák lehetnek elavultak. A Lekérdezésoptimalizáló ezt az információt a lekérdezés fordítása előtt határozza meg. A gyorsítótárazott lekérdezési terv futtatása előtt az adatbázismotor ellenőrzi, hogy a lekérdezésterv hivatkozik-e up-todátumstatisztikákra.
A AUTO_UPDATE_STATISTICS beállítás az indexekhez, egyoszlopos lekérdezési predikátumokhoz és a CREATE STATISTICS utasítással létrehozott statisztikákhoz készült statisztikákra vonatkozik. Ez a beállítás a szűrt statisztikákra is vonatkozik.
Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.
A AUTO_UPDATE_STATISTICS_ASYNC beállítással megadhatja, hogy a statisztikák szinkronban vagy aszinkron módon frissülnek-e.
KI
Azt adja meg, hogy a Lekérdezésoptimalizáló nem frissíti a statisztikákat, amikor egy lekérdezés használja őket. A Lekérdezésoptimalizáló nem frissíti a statisztikákat, ha esetleg elavultak. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.
A beállítás állapotát a is_auto_update_stats_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoUpdateStatistics
függvény tulajdonságának vizsgálatával is meghatározhatja.
További információ: "Az adatbázis-szintű statisztikai beállítások használata" című szakasz a Statisticscímű témakörben.
AUTO_UPDATE_STATISTICS_ASYNC { ON | KI }
RA
Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései aszinkronok- e. A Lekérdezésoptimalizáló nem várja meg, hogy a statisztikai frissítések befejeződjenek a lekérdezések fordítása előtt.
Ha ezt a beállítást ON értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.
Alapértelmezés szerint a AUTO_UPDATE_STATISTICS_ASYNC beállítás ki van kapcsolva, és a Lekérdezésoptimalizáló szinkronizálva frissíti a statisztikákat.
KI
Megadja, hogy a AUTO_UPDATE_STATISTICS beállítás statisztikai frissítései szinkronban legyenek. A lekérdezésoptimalizáló megvárja, amíg a statisztikai frissítések befejeződnek a lekérdezések fordítása előtt.
Ha ezt a beállítást KI értékre állítja, az csak akkor lép érvénybe, ha AUTO_UPDATE_STATISTICS be van kapcsolva.
A beállítás állapotát a is_auto_update_stats_async_on
katalógusnézet oszlopának vizsgálatával határozhatja meg.
A szinkron vagy aszinkron statisztikai frissítések használatának időpontjáról további információt az Statistics"Az adatbázis-szintű statisztikai beállítások használata" című szakaszában talál.
< > automatic_tuning_option ::=
A automatikus finomhangolásiautomatikus beállításait szabályozza.
FORCE_LAST_GOOD_PLAN = { DEFAULT | BE | KI }
Engedélyezi vagy letiltja FORCE_LAST_GOOD_PLAN
automatikus finomhangolási beállítást.
ALAPÉRTELMEZETT
A felügyelt Azure SQL-példány alapértelmezett értéke be van kapcsolva.
RA
Az adatbázismotor automatikusan kényszeríti az utolsó ismert jó tervet az Transact-SQL lekérdezésekre, ahol az új lekérdezési terv teljesítményregressziót okoz. Az adatbázismotor folyamatosan figyeli a Transact-SQL lekérdezés lekérdezési teljesítményét a kényszerített tervvel. Ha teljesítménynövekedés tapasztalható, az adatbázismotor a legutóbbi ismert jó tervet használja. Ha a rendszer nem észlel teljesítménynövekedést, az adatbázismotor létrehoz egy új lekérdezési tervet. Az utasítás meghiúsul, ha a lekérdezéstár nincs engedélyezve, vagy nincs Írás-olvasás módban. Ez az alapértelmezett érték.
KI
Az adatbázismotor sys.dm_db_tuning_recommendations nézetben a lekérdezésterv változásai által okozott lehetséges lekérdezési teljesítményregressziókat jelenti. Ezek a javaslatok azonban nem lesznek automatikusan alkalmazva. A felhasználók figyelhetik az aktív javaslatokat, és megoldhatják az azonosított problémákat a nézetben megjelenő Transact-SQL szkriptek alkalmazásával.
< > change_tracking_option ::=
A vezérlők módosítják a követési beállításokat. Engedélyezheti a változáskövetést, beállíthatja a beállításokat, módosíthatja a beállításokat, és letilthatja a változáskövetést. Példákért lásd a cikk későbbi, Példák szakaszát.
RA
Engedélyezi az adatbázis változáskövetését. Ha engedélyezi a változáskövetést, beállíthatja az AUTOMATIKUS TÖRLÉS és A MÓDOSÍTÁS MEGŐRZÉSE beállítást is.
AUTO_CLEANUP = { ON | KI }
RA
A változáskövetési adatok a megadott megőrzési időszak után automatikusan törlődnek.
KI
A változáskövetési adatok nem törlődnek az adatbázisból.
CHANGE_RETENTION = retention_period { DAYS | ÓRA | PERC }
Meghatározza a változáskövetési adatok adatbázisban való megőrzésének minimális időtartamát. Az adatok csak akkor lesznek eltávolítva, ha a AUTO_CLEANUP érték be van kapcsolva.
retention_period egy egész szám, amely a megőrzési időszak numerikus összetevőjét adja meg.
Az alapértelmezett megőrzési időszak 2 nap. A minimális megőrzési idő 1 perc. Az alapértelmezett adatmegőrzési típus DAYS.
KI
Letiltja az adatbázis változáskövetését. Tiltsa le a változáskövetést az összes táblán, mielőtt letiltja a változáskövetést az adatbázisból.
< > cursor_option ::=
A kurzor beállításait szabályozza.
CURSOR_CLOSE_ON_COMMIT { ON | KI }
RA
A tranzakciók véglegesítésekor vagy visszagörgetésekor megnyíló kurzorok bezáródnak.
KI
A kurzorok nyitva maradnak a tranzakció véglegesítésekor; A tranzakció visszagördítése bezárja a kurzorokat, kivéve az INSENSITIVE vagy a STATIC definíciót.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CURSOR_CLOSE_ON_COMMIT alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint ki CURSOR_CLOSE_ON_COMMIT állítani a kapcsolatszintű SET utasítást a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET CURSOR_CLOSE_ON_COMMIT.
A beállítás állapotát a is_cursor_close_on_commit_on
katalógusnézet oszlopának vagy a DATABASEPROPERTYEX függvény IsCloseCursorsOnCommitEnabled tulajdonságának vizsgálatával határozhatja meg. A kurzor implicit módon csak leválasztáskor van felszabadítva. További információ: KURZOR DEKLARÁLÁSA.
< > db_encryption_option ::=
Az adatbázis titkosítási állapotát szabályozza.
TITKOSÍTÁS { BE | KI }
Beállítja, hogy az adatbázis titkosítva legyen (BE) vagy ne legyen titkosítva (KI). További információ az adatbázis-titkosításról: Transzparens adattitkosítás (TDE), és Transzparens adattitkosítás az Azure SQL Database, az Azure SQL Managed Instance és az Azure Synapse Analytics.
Ha az adatbázis szintjén engedélyezve van a titkosítás, az összes fájlcsoport titkosítva lesz. Minden új fájlcsoport örökli a titkosított tulajdonságot. Ha az adatbázis bármely fájlcsoportja ÍRÁSVÉDETT értékre van állítva, az adatbázis titkosítási művelete meghiúsul.
Az adatbázis titkosítási állapotát a sys.dm_database_encryption_keys dinamikus felügyeleti nézet használatával tekintheti meg.
< > delayed_durability_option ::=
Azt szabályozza, hogy a tranzakciók teljesen tartósak vagy késleltetettek-e.
FOGYATÉKOS
Az
SET DISABLED
utáni tranzakciók teljes mértékben tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.MEGENGEDETT
Az
SET ALLOWED
utáni összes tranzakció teljesen tartós vagy késleltetett, az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítástól függően.ERŐLTETETT
A
SET FORCED
követő tranzakciók tartósak. Az atomblokkban vagy véglegesítési utasításban beállított tartóssági beállítások figyelmen kívül lesznek hagyva.
< > PARAMETERIZATION_option ::=
A paraméterezési beállítást szabályozza.
PARAMÉTEREZÉS { SIMPLE | KÉNYSZERÍTETT }
EGYSZERŰ
A lekérdezések az adatbázis alapértelmezett viselkedése alapján vannak paraméterezve.
ERŐLTETETT
Az SQL Server paraméterezi az adatbázis összes lekérdezését.
Ennek a beállításnak az aktuális beállítása a is_parameterization_forced
katalógusnézet oszlopának vizsgálatával határozható meg.
< > query_store_options ::=
BE | KI | CLEAR [ ALL ]
Azt szabályozza, hogy a lekérdezéstár engedélyezve van-e az adatbázisban, és a lekérdezéstár tartalmának eltávolítását is szabályozza.
RA
Engedélyezi a lekérdezéstárat.
KI
Letiltja a lekérdezéstárat. Ez az alapértelmezett érték.
VILÁGOS
Távolítsa el a lekérdezéstár tartalmát.
OPERATION_MODE
A lekérdezéstár működési módját ismerteti. Az érvényes értékek READ_ONLY és READ_WRITE. READ_WRITE módban a Lekérdezéstár összegyűjti és megőrzi a lekérdezésterv és a futtatókörnyezet végrehajtási statisztikáinak adatait. READ_ONLY módban az információk beolvashatók a Lekérdezéstárból, de nem adnak hozzá új információkat. Ha a lekérdezéstár maximális lefoglalt területe kimerült, a lekérdezéstár a működési módját READ_ONLY értékre módosítja.
CLEANUP_POLICY
A lekérdezéstár adatmegőrzési szabályzatát ismerteti. STALE_QUERY_THRESHOLD_DAYS határozza meg, hogy hány napig őrizhetők meg a lekérdezés adatai a Lekérdezéstárban. STALE_QUERY_THRESHOLD_DAYS biginttípus. Az alapértelmezett érték 30. Az SQL Database Basic kiadás esetében az alapértelmezett érték 7 nap.
ADAT_FLUSH_INTERVALLUM_MÁSODPERCBEN
Meghatározza a lekérdezéstárba írt adatok lemezen való megőrzésének gyakoriságát. A teljesítmény optimalizálása érdekében a lekérdezéstár által gyűjtött adatok aszinkron módon lesznek megírva a lemezre. Az aszinkron átvitel gyakorisága a DATA_FLUSH_INTERVAL_SECONDS argumentum használatával van konfigurálva. DATA_FLUSH_INTERVAL_SECONDS biginttípus. Az alapértelmezett érték 900 (15 perc).
MAX_STORAGE_SIZE_MB
Meghatározza a lekérdezéstár számára lefoglalt területet. MAX_STORAGE_SIZE_MB biginttípus. Az alapértelmezett érték 100 MB.
MAX_STORAGE_SIZE_MB
korlát nem szigorúan érvényes. A tárterület méretét csak akkor ellenőrzi a rendszer, ha a Lekérdezéstár adatokat ír lemezre. Ezt az időközt a DATA_FLUSH_INTERVAL_SECONDS
beállítás vagy a Management Studio Lekérdezéstár párbeszédpanel adatöblítési időközállítja be. Az intervallum alapértelmezett értéke 900 másodperc (vagy 15 perc).
Ha a lekérdezéstár túllépte a tárméret-ellenőrzések közötti MAX_STORAGE_SIZE_MB
korlátot, akkor írásvédett üzemmódra vált. Ha SIZE_BASED_CLEANUP_MODE
engedélyezve van, a MAX_STORAGE_SIZE_MB
korlátot kényszerítő törlési mechanizmus is aktiválódik.
Ha már nincs elég szabad terület, a Lekérdezéstár mód automatikusan visszavált olvasási-írási módra.
Fontos
- Ha úgy gondolja, hogy a számítási feladatok rögzítéséhez több mint 10 GB lemezterületre van szükség, érdemes újragondolnia és optimalizálnia a számítási feladatot a lekérdezési tervek újrafelhasználására (például kényszerített paraméterezési, vagy módosítania kell a lekérdezéstár konfigurációit.
- Az SQL Server 2019 -től (15.x) és az Azure SQL Database-ben
QUERY_CAPTURE_MODE
EGYÉNI értékre állíthatja a lekérdezésrögzítési szabályzat további szabályozásához. -
MAX_STORAGE_SIZE_MB
beállítási korlát 10 240 MB a felügyelt Azure SQL-példányon.
INTERVALLUM_HOSSZA_PERCEKBEN
Azt az időintervallumot határozza meg, amikor a futtatókörnyezet végrehajtási statisztikáinak adatai összesítve lesznek a lekérdezéstárban. A helyhasználat optimalizálása érdekében a futtatókörnyezeti stats store futtatókörnyezeti végrehajtási statisztikái rögzített időkeretben vannak összesítve. Ez a rögzített időkeret a INTERVAL_LENGTH_MINUTES argumentum használatával van konfigurálva. INTERVAL_LENGTH_MINUTES biginttípus. Az alapértelmezett érték 60.
SIZE_BASED_CLEANUP_MODE = { AUTO | KI }
Azt szabályozza, hogy a rendszer automatikusan aktiválja-e a törlést, ha az adatok teljes mennyisége megközelíti a maximális méretet.
KI
A méretalapú törlés nem aktiválódik automatikusan.
KOCSI
A méretalapú törlés automatikusan aktiválódik, ha a lemez mérete eléri a 90% max_storage_size_mb. A méretalapú törlés először a legkevésbé költséges és legrégebbi lekérdezéseket távolítja el. Körülbelül 80% max_storage_size_mbáll meg . Ez az alapértelmezett konfigurációs érték.
SIZE_BASED_CLEANUP_MODE nvarchartípus.
QUERY_CAPTURE_MODE { ALL | AUTO | EGYÉNI | NONE }
A jelenleg aktív lekérdezésrögzítési módot jelöli ki.
ÖSSZES
Minden lekérdezés rögzítve van.
KOCSI
Rögzítse a releváns lekérdezéseket a végrehajtások száma és az erőforrás-felhasználás alapján. Ez az Azure SQL Database alapértelmezett konfigurációs értéke.
Egyik sem
Új lekérdezések rögzítésének leállítása. A Lekérdezéstár továbbra is gyűjti a már rögzített lekérdezések fordítási és futásidejű statisztikáit. Körültekintően használja ezt a konfigurációt, mivel előfordulhat, hogy nem rögzíti a fontos lekérdezéseket.
QUERY_CAPTURE_MODE nvarchartípus.
MAX_PLANS_PER_QUERY
Az egyes lekérdezésekhez fenntartott tervek maximális számát jelölő egész szám. MAX_PLANS_PER_QUERY inttípus. Az alapértelmezett érték 200.
WAIT_STATS_CAPTURE_MODE { ON | KI }
Azt határozza meg, hogy a rendszer lekérdezésenként rögzíti-e a várakozási statisztikákat.
RA
A lekérdezésenkénti várakozási statisztikák adatai rögzítve lesznek. Ez az alapértelmezett konfigurációs érték.
KI
A lekérdezésenkénti várakozási statisztikai adatok nincsenek rögzítve.
< > query_capture_policy_option_list :: =
Szabályozza a Lekérdezéstár rögzítési szabályzatának beállításait. A STALE_CAPTURE_POLICY_THRESHOLD kivételével ezek a beállítások határozzák meg azokat az OR feltételeket, amelyek szükségesek ahhoz, hogy a lekérdezések rögzítve legyenek a meghatározott elavult rögzítési szabályzat küszöbértékében.
STALE_CAPTURE_POLICY_THRESHOLD = egész szám { DAYS | ÓRA }
Meghatározza a kiértékelési időközt annak megállapításához, hogy egy lekérdezést rögzíteni kell-e. Az alapértelmezett érték 1 nap, és 1 órától hét napig állítható be.
EXECUTION_COUNT = egész szám
Azt határozza meg, hogy a lekérdezések hányszor lesznek végrehajtva a kiértékelési időszakban. Az alapértelmezett érték 30, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén egy lekérdezésnek legalább 30 alkalommal kell végrehajtania egy nap alatt, hogy a lekérdezéstárban megmaradjon. EXECUTION_COUNT inttípus.
TOTAL_COMPILE_CPU_TIME_MS = egész szám
Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes fordítási CPU-időt. Az alapértelmezett érték 1000, ami azt jelenti, hogy az alapértelmezett elavult rögzítési szabályzat küszöbértéke esetén a lekérdezésnek egy nap alatt a lekérdezés-fordítás során eltöltött processzoridőnek legalább egy másodpercével kell rendelkeznie ahhoz, hogy a lekérdezéstárban megmaradjon. TOTAL_COMPILE_CPU_TIME_MS inttípus.
TOTAL_EXECUTION_CPU_TIME_MS = egész szám
Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes végrehajtási CPU-időt. Az alapértelmezett érték 100, ami azt jelenti, hogy az alapértelmezett elavult rögzítési házirend küszöbértéke esetén a lekérdezésnek legalább 100 ms processzoridővel kell rendelkeznie, amelyet egy nap alatt a lekérdezéstárban kell tárolnia. TOTAL_EXECUTION_CPU_TIME_MS inttípus.
< > snapshot_option ::=
Meghatározza a tranzakcióelkülönítés szintjét.
ALLOW_SNAPSHOT_ISOLATION { ON | KI }
RA
Engedélyezi a Pillanatkép beállítást az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. Ha ez a beállítás engedélyezve van, a tranzakciók meg tudják adni a SNAPSHOT tranzakció elkülönítési szintjét. Amikor egy tranzakció a SNAPSHOT elkülönítési szinten fut, az összes utasítás pillanatképet lát az adatokról a tranzakció elején. Ha a SNAPSHOT elkülönítési szinten futó tranzakciók több adatbázisban férnek hozzá az adatokhoz, akkor vagy ALLOW_SNAPSHOT_ISOLATION be kell állítani az összes adatbázisban, vagy a tranzakció minden utasítása használjon zárolási tippeket egy FROM záradékban található hivatkozáshoz egy olyan adatbázis táblájára, ahol a ALLOW_SNAPSHOT_ISOLATION ki van kapcsolva.
KI
Kikapcsolja a Pillanatkép beállítást az adatbázis szintjén. A tranzakciók nem adhatja meg a SNAPSHOT tranzakció elkülönítési szintjét.
Ha új állapotra állítja be a ALLOW_SNAPSHOT_ISOLATION (be- és kikapcsolt állapotba, illetve KI és BE) az ALTER DATABASE mindaddig nem adja vissza az irányítást a hívónak, amíg az adatbázis összes meglévő tranzakciója le nem véglegesül. Ha az adatbázis már az ALTER DATABASE utasításban megadott állapotban van, a rendszer azonnal visszaadja a vezérlőt a hívónak. Ha az ALTER DATABASE utasítás nem ad vissza gyorsan, a sys.dm_tran_active_snapshot_database_transactions segítségével állapítsa meg, hogy vannak-e hosszú ideig futó tranzakciók. Ha az ALTER DATABASE utasítás megszakad, az adatbázis abban az állapotban marad, amelyben az ALTER DATABASE indításakor volt. A sys.databases katalógusnézet a pillanatkép-elkülönítési tranzakciók állapotát jelzi az adatbázisban. Ha snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, az utasítás hat másodpercet ALTER DATABASE ... ALLOW_SNAPSHOT_ISOLATION OFF
szüneteltetni, és újrapróbálkozza a műveletet.
Ha az adatbázis OFFLINE állapotú, nem módosíthatja a ALLOW_SNAPSHOT_ISOLATION állapotát.
Módosíthatja a master
, model
, msdb
és tempdb
adatbázisok ALLOW_SNAPSHOT_ISOLATION beállításait. A beállítás minden alkalommal megmarad, amikor az adatbázismotor példánya le van állítva, és újraindul, ha módosítja a tempdb
beállításait. Ha módosítja a model
rendszeradatbázis beállítását, akkor ez a beállítás lesz az alapértelmezett a létrehozott új adatbázisok esetében, kivéve a tempdb
.
A beállítás alapértelmezés szerint be van kapcsolva a master
és msdb
adatbázisokhoz.
Ennek a beállításnak az aktuális beállítása a snapshot_isolation_state
katalógusnézet oszlopának vizsgálatával határozható meg.
READ_COMMITTED_SNAPSHOT { ON | KI }
RA
Engedélyezi a Read-Committed Pillanatkép lehetőséget az adatbázis szintjén. Ha engedélyezve van, a DML-utasítások akkor is elkezdenek sorverziókat generálni, ha egyetlen tranzakció sem használ Pillanatkép-elkülönítést. A beállítás engedélyezése után a READ COMMITTED elkülönítési szintet meghatározó tranzakciók zárolás helyett sorverziót használnak. Minden utasítás lát egy pillanatképet az adatokról az utasítás elején, amikor egy tranzakció a READ COMMITTED elkülönítési szinten fut.
KI
Az adatbázis szintjén kikapcsolja a Read-Committed Pillanatkép beállítást. A READ COMMITTED elkülönítési szintet meghatározó tranzakciók zárolást használnak.
A READ_COMMITTED_SNAPSHOT be- vagy kikapcsolásához az ALTER DATABASE parancsot futtató kapcsolaton kívül nem lehet aktív kapcsolat az adatbázishoz. Az adatbázisnak azonban nem kell egyfelhasználós módban lennie. Ha az adatbázis OFFLINE állapotú, nem módosíthatja ennek a beállításnak az állapotát.
READ_COMMITTED_SNAPSHOT nem kapcsolható be a master
, tempdb
vagy msdb
rendszeradatbázisokhoz. Ha módosítja a model
rendszeradatbázis beállítását, akkor ez a beállítás lesz az alapértelmezett a létrehozott új adatbázisok esetében, kivéve a tempdb
.
Ennek a beállításnak az aktuális beállítása a is_read_committed_snapshot_on
katalógusnézet oszlopának vizsgálatával határozható meg.
Figyelmeztetés
Ha TARTÓSSÁG = SCHEMA_ONLY, majd READ_COMMITTED_SNAPSHOTALTER DATABASEhasználatával hoz létre egy táblát, a tábla adatai elvesznek.
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | KI }
RA
Ha a tranzakcióelkülönítési szint bármely, a SNAPSHOT-nál alacsonyabb elkülönítési szintre van beállítva, a rendszer a memóriaoptimalizált táblák összes értelmezett Transact-SQL műveletét PILLANATKÉP-elkülönítés alatt futtatja. A pillanatképnél alacsonyabb elkülönítési szintek például a READ COMMITTED vagy a READ UNCOMMITTED. Ezek a műveletek azt futtatják, hogy a tranzakcióelkülönítési szint explicit módon van-e beállítva a munkamenet szintjén, vagy az alapértelmezettet implicit módon használja a rendszer.
KI
Nem emeli fel a tranzakcióelkülönítési szintet a memóriaoptimalizált táblákon Transact-SQL műveletek értelmezéséhez.
Ha az adatbázis OFFLINE állapotú, nem módosíthatja a MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT állapotát.
Az alapértelmezett érték ki van kapcsolva.
Ennek a beállításnak az aktuális beállítása a is_memory_optimized_elevate_to_snapshot_on
katalógusnézet oszlopának vizsgálatával határozható meg.
< > sql_option ::=
Az ANSI-megfelelőségi beállításokat az adatbázis szintjén szabályozza.
ANSI_NULL_DEFAULT { ON | KI }
Meghatározza egy olyan oszlop vagy felhasználó által definiált CLR-típusú alapértelmezett értékét, amelynek nullképessége nincs explicit módon definiálva a CREATE TABLE vagy AZ ALTER TABLE utasításban. A korlátozásokkal definiált oszlopok a beállítástól függetlenül a kényszerszabályokat követik.
RA
Az alapértelmezett érték NULL.
KI
Az alapértelmezett érték NEM NULL.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULL_DEFAULT alapértelmezett adatbázisszintű beállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_NULL_DEFAULT on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULL_DFLT_ON.
Az ANSI-kompatibilitás érdekében az adatbázis beállításának ANSI_NULL_DEFAULT on értékre állításával az adatbázis alapértelmezett értéke NULL.
A beállítás állapotát a is_ansi_null_default_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullDefault
függvény tulajdonságának vizsgálatával is meghatározhatja.
ANSI_NULLS { ON | KI }
RA
A null értékekkel való összes összehasonlítás ISMERETLEN értékre van kiértékelve.
KI
A nem Unicode-értékek és a null értékek összehasonlítása IGAZ értékre van kiértékelve, ha mindkét érték NULL.
Fontos
Az SQL Server egy későbbi verziójában a ANSI_NULLS mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_NULLS alapértelmezett adatbázisbeállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_NULLS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_NULLS.
Fontos
A SET ANSI_NULLS akkor is BE értékre kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
A beállítás állapotát a is_ansi_nulls_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiNullsEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
ANSI_PADDING { ON | KI }
RA
A sztringek az átalakítás előtt azonos hosszúságúra vannak kipárnázva. A varchar vagy nvarchar adattípusba való beszúrás előtt is azonos hosszúságúra van beszúrva.
KI
A karakterértékek záró üres értékeit szúrja be varchar vagy nvarchar oszlopokba. A bináris értékek záró nulláit is hagyja, amelyek varbináris oszlopokba vannak beszúrva. Az értékek nem az oszlop hosszára lesznek kipárnázva.
Ha ki van kapcsolva, ez a beállítás csak az új oszlopok definícióját érinti.
Fontos
Az SQL Server egy későbbi verziójában a ANSI_PADDING mindig be van kapcsolva, és minden olyan alkalmazás, amely kifejezetten KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Javasoljuk, hogy mindig állítsa be a ANSI_PADDING ON értékre. ANSI_PADDING be kell kapcsolnia, ha számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
karakter (n) és bináris (n) oszlop, amely lehetővé teszi a null értékeket, akkor a ANSI_PADDING be van kapcsolva. Ha ANSI_PADDING ki van kapcsolva, a rendszer levágja a záró üreseket és nullákat. karakter (n) és bináris (n) oszlopokat, amelyek nem teszik lehetővé a null értékeket, mindig az oszlop hosszára vannak kipárnázva.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_PADDING alapértelmezett adatbázisszintű beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, ANSI_PADDING on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_PADDING.
A beállítás állapotát a is_ansi_padding_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiPaddingEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
ANSI_WARNINGS { ON | KI }
RA
Hibák vagy figyelmeztetések jelennek meg, ha olyan feltételek lépnek fel, mint az osztás nullával. Hibák és figyelmeztetések is megjelennek, ha null értékek jelennek meg az összesítő függvényekben.
KI
A rendszer nem ad vissza figyelmeztetést, és null értékeket ad vissza, ha olyan feltételek lépnek fel, mint az osztás nullával.
Fontos
A SET ANSI_WARNINGS be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a ANSI_WARNINGS alapértelmezett adatbázisbeállítását. Az ODBC és az OLE DB-ügyfelek alapértelmezés szerint egy kapcsolatszintű SET utasításbeállítást adnak ki, ANSI_WARNINGS on értékre a munkamenethez. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET ANSI_WARNINGS.
A beállítás állapotát a is_ansi_warnings_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAnsiWarningsEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
ARITHABORT { ON | KI }
RA
A lekérdezés akkor fejeződik be, ha a lekérdezés végrehajtása során túlcsordulás vagy osztási zéró hiba lép fel.
KI
Figyelmeztető üzenet jelenik meg az ilyen hibák egyike esetén. A lekérdezés, köteg vagy tranzakció továbbra is úgy működik, mintha nem történt volna hiba, még akkor sem, ha figyelmeztetés jelenik meg.
Fontos
A SET ARITHABORT értéknek BE értékre kell állítania, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
A beállítás állapotát a is_arithabort_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsArithmeticAbortEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
COMPATIBILITY_LEVEL = { 160 | 150 | 140 | 130 | 120 | 110 | 100 }
További információ: ALTER DATABASE kompatibilitási szintje.
CONCAT_NULL_YIELDS_NULL { ON | KI }
RA
Az összefűzési művelet eredménye NULL, ha bármelyik operandus NULL. Ha például összefűzi az "Ez" karaktersztringet, a NULL pedig a NULL értéket okozza az "Ez az" érték helyett.
KI
A null érték üres karaktersorozatként lesz kezelve.
Fontos
CONCAT_NULL_YIELDS_NULL be kell állítani, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
Az SQL Server egy későbbi verziójában a CONCAT_NULL_YIELDS_NULL mindig be van kapcsolva, és minden olyan alkalmazás, amely explicit módon KI értékre állítja a beállítást, hibát fog eredményezni. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a CONCAT_NULL_YIELDS_NULL alapértelmezett adatbázis-beállítását. Alapértelmezés szerint az ODBC és az OLE DB-ügyfelek egy kapcsolatszintű SET utasításbeállítást adnak ki, CONCAT_NULL_YIELDS_NULL on értékre az SQL Server egy példányához való csatlakozáskor. További információ: SET CONCAT_NULL_YIELDS_NULL.
A beállítás állapotát a is_concat_null_yields_null_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsNullConcat
függvény tulajdonságának vizsgálatával is meghatározhatja.
NUMERIC_ROUNDABORT { ON | KI }
RA
Hiba akkor jön létre, ha egy kifejezés pontosságvesztése következik be.
KI
A pontosságvesztés nem hoz létre hibaüzenetet, és az eredmény az eredményt tároló oszlop vagy változó pontosságára kerekítve lesz.
Fontos
NUMERIC_ROUNDABORT kikapcsolva kell lennie, amikor számított oszlopokon vagy indexelt nézeteken hoz létre vagy módosít indexeket.
Ennek a beállításnak az állapotát a is_numeric_roundabort_on
katalógusnézet oszlopában határozhatja meg. Az állapotot az IsNumericRoundAbortEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
QUOTED_IDENTIFIER { ON | KI }
RA
A kettős idézőjelek elválasztott azonosítók beágyazására használhatók.
A kettős idézőjelekkel tagolt összes sztring objektumazonosítóként lesz értelmezve. Az idézett azonosítóknak nem kell követniük az azonosítók Transact-SQL szabályait. Lehetnek kulcsszavak, és tartalmazhatnak olyan karaktereket, amelyek nem engedélyezettek Transact-SQL azonosítókban. Ha a kettős idézőjel (
"
) az azonosító része, akkor két idézőjel (""
) is jelölhető.KI
Az azonosítók nem lehetnek idézőjelekben, és az azonosítókra vonatkozó összes Transact-SQL szabályt be kell tartaniuk. A literálok egy vagy két idézőjellel elválaszthatók.
Az SQL Server lehetővé teszi az azonosítók szögletes zárójelek ([
és ]
) szerinti tagolását is. A szögletes azonosítók mindig használhatók, függetlenül a QUOTED_IDENTIFIER beállítástól. További információ: Adatbázis-azonosítók.
Amikor létrehoz egy táblát, az IDÉZŐJELES AZONOSÍTÓ beállítás mindig ON formátumban lesz tárolva a tábla metaadataiban. A beállítás akkor is tárolódik, ha a beállítás ki van kapcsolva a tábla létrehozásakor.
A SET utasítással beállított kapcsolatszintű beállítások felülbírálják a QUOTED_IDENTIFIER alapértelmezett adatbázis-beállítását. Az ODBC- és OLE DB-ügyfelek alapértelmezés szerint kibocsátanak egy kapcsolatszintű SET utasításbeállítást, QUOTED_IDENTIFIER on értékre. Az ügyfelek az SQL Server egy példányához való csatlakozáskor futtatják az utasítást. További információ: SET QUOTED_IDENTIFIER.
A beállítás állapotát a is_quoted_identifier_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsQuotedIdentifiersEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.
RECURSIVE_TRIGGERS { ON | KI }
RA
A AFTER-triggerek rekurzív tüzelése engedélyezett.
KI
A beállítás állapotát a
is_recursive_triggers_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot azIsRecursiveTriggersEnabled
függvény tulajdonságának vizsgálatával is meghatározhatja.Jegyzet
Csak a közvetlen rekurziót akadályozza meg, ha RECURSIVE_TRIGGERS KI értékre van állítva. A közvetett rekurzió letiltásához a beágyazott eseményindítók kiszolgálójának beállítását is 0 értékre kell állítania.
A beállítás állapotát a is_recursive_triggers_on
katalógusnézet oszlopának vagy a IsRecursiveTriggersEnabled
függvény tulajdonságának vizsgálatával határozhatja meg.
< > target_recovery_time_option ::=
target_recovery_time_option nem támogatott a felügyelt Azure SQL-példányon.
A közvetett ellenőrzőpontok gyakoriságát határozza meg adatbázisonként. Az SQL Server 2016 -tól kezdve (13.x) az új adatbázisok alapértelmezett értéke 1 perc, ami azt jelzi, hogy az adatbázis közvetett ellenőrzőpontokat használ. A régebbi verziók esetében az alapértelmezett érték 0, ami azt jelzi, hogy az adatbázis automatikus ellenőrzőpontokat használ, amelyek gyakorisága a kiszolgálópéldány helyreállítási időközének beállításától függ. A Microsoft a legtöbb rendszer esetében 1 percet javasol.
WITH <termination> ::=
Megadja, hogy mikor kell visszagörgetni a hiányos tranzakciókat, amikor az adatbázis egyik állapotból a másikba kerül. Ha a megszüntetési záradék nincs megadva, az ALTER DATABASE utasítás határozatlan ideig várakozik, ha az adatbázis zárolva van. Csak egy megszüntetési záradék adható meg, és a SET záradékokat követi.
Jegyzet
Nem minden adatbázis-beállítás használja a WITH <megszüntetési> záradékot. További információt a cikk "Megjegyzések" szakaszának
VISSZAÁLLÍTÁS egész szám [MÁSODPERC] | AZONNALI VISSZAÁLLÍTÁS
Megadja, hogy a megadott számú másodperc után vagy azonnal vissza kell-e állítani.
NO_WAIT
Azt adja meg, hogy a kérés meghiúsul, ha a kért adatbázis állapota vagy beállításának módosítása nem fejezhető be azonnal. Az azonnali végrehajtás azt jelenti, hogy nem kell megvárni a tranzakciók véglegesítését vagy önálló visszaállítását.
< > temporal_history_retention ::=
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.
RA
Alapértelmezett. 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.
KI
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 DATABASEPROPERTYEX
Az adatbázis-beállítás beállítása után az új beállítás azonnal érvénybe lép.
Az összes újonnan létrehozott adatbázis adatbázis-beállításainak bármelyikéhez módosíthatja az alapértelmezett értékeket. Ehhez módosítsa a megfelelő adatbázis-beállítást a model
rendszeradatbázisban.
Példák
Egy. Pillanatkép-elkülönítés engedélyezése adatbázison
Az alábbi példa lehetővé teszi a pillanatkép-elkülönítési keretrendszer beállítását a AdventureWorks2022
-adatbázishoz.
USE master;
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'[database_name]';
GO
Az eredményhalmaz azt mutatja, hogy a pillanatkép-elkülönítési keretrendszer engedélyezve van.
név | snapshot_isolation_state | leírás |
---|---|---|
[database_name] | 1 | RA |
B. Változáskövetés engedélyezése, módosítása vagy letiltása
Az alábbi példa lehetővé teszi az AdventureWorks2022
adatbázis változáskövetését, és a megőrzési időtartamot 2
napra állítja.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);
Az alábbi példa bemutatja, hogyan módosíthatja a megőrzési időtartamot 3
napra.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);
Az alábbi példa bemutatja, hogyan tilthatja le a változáskövetést a AdventureWorks2022
adatbázishoz.
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;
C. A lekérdezéstár engedélyezése
Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja a lekérdezéstár paramétereit.
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
(
OPERATION_MODE = READ_WRITE,
CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
DATA_FLUSH_INTERVAL_SECONDS = 900,
QUERY_CAPTURE_MODE = AUTO,
MAX_STORAGE_SIZE_MB = 1024,
INTERVAL_LENGTH_MINUTES = 60
);
D. A lekérdezéstár engedélyezése várakozási statisztikákkal
Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
(
OPERATION_MODE = READ_WRITE,
CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
DATA_FLUSH_INTERVAL_SECONDS = 900,
MAX_STORAGE_SIZE_MB = 1024,
INTERVAL_LENGTH_MINUTES = 60,
SIZE_BASED_CLEANUP_MODE = AUTO,
MAX_PLANS_PER_QUERY = 200,
WAIT_STATS_CAPTURE_MODE = ON
);
E. A Lekérdezéstár engedélyezése egyéni rögzítési házirend-beállításokkal
Az alábbi példa engedélyezi a lekérdezéstárat, és konfigurálja annak paramétereit.
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
(
OPERATION_MODE = READ_WRITE,
CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
DATA_FLUSH_INTERVAL_SECONDS = 900,
MAX_STORAGE_SIZE_MB = 1024,
INTERVAL_LENGTH_MINUTES = 60,
SIZE_BASED_CLEANUP_MODE = AUTO,
MAX_PLANS_PER_QUERY = 200,
WAIT_STATS_CAPTURE_MODE = ON,
QUERY_CAPTURE_MODE = CUSTOM,
QUERY_CAPTURE_POLICY = (
STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100
)
);
Kapcsolódó tartalom
- Statisztika
- 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
Szintaxis
ALTER DATABASE { database_name }
SET
{
<optionspec> [ ,...n ]
}
;
<option_spec>::=
{
<auto_option>
| <db_encryption_option>
| <query_store_options>
| <result_set_caching>
| <snapshot_option>
}
;
<auto_option> ::=
{
AUTO_CREATE_STATISTICS { OFF | ON }
}
<db_encryption_option> ::=
{
ENCRYPTION { ON | OFF }
}
<query_store_option> ::=
{
QUERY_STORE { OFF | ON }
}
<result_set_caching_option> ::=
{
RESULT_SET_CACHING { ON | OFF }
}
<snapshot_option> ::=
{
READ_COMMITTED_SNAPSHOT { ON | OFF }
}
Érvek
database_name
A módosítani kívánt adatbázis neve.
< > auto_option ::=
Automatikus beállításokat vezérel.
AUTO_CREATE_STATISTICS { ON | KI }
RA
A Lekérdezésoptimalizáló szükség szerint statisztikai adatokat hoz létre a lekérdezési predikátumokban lévő egyes oszlopokról a lekérdezéstervek és a lekérdezési teljesítmény javítása érdekében. Ezek az egyoszlopos statisztikák akkor jönnek létre, amikor a Lekérdezésoptimalizáló lekérdezéseket fordít le. Az egyoszlopos statisztikák csak olyan oszlopokon jönnek létre, amelyek még nem egy meglévő statisztikai objektum első oszlopa.
Az alapértelmezett érték be van kapcsolva. Javasoljuk, hogy a legtöbb adatbázishoz használja az alapértelmezett beállítást.
KI
A Lekérdezésoptimalizáló nem hoz létre statisztikákat a lekérdezési predikátumokban lévő egyetlen oszlopokra, amikor lekérdezéseket állít össze. Ha ezt a beállítást KI értékre állítja, az optimálisnál rosszabb lekérdezési terveket és a lekérdezési teljesítmény romlását okozhatja.
Ezt a parancsot a felhasználói adatbázishoz való csatlakozás közben kell futtatni.
A beállítás állapotát a is_auto_create_stats_on
katalógusnézet oszlopának vizsgálatával határozhatja meg. Az állapotot az IsAutoCreateStatistics
függvény tulajdonságának vizsgálatával is meghatározhatja.
További információ: "Az adatbázis-szintű statisztikai beállítások használata" című szakasz a Statisticscímű témakörben.
< > db_encryption_option ::=
Az adatbázis titkosítási állapotát szabályozza.
TITKOSÍTÁS { BE | KI }
RA
Beállítja az adatbázis titkosítását.
KI
Beállítja, hogy az adatbázis ne legyen titkosítva.
További információ az adatbázis-titkosításról: Transzparens adattitkosítás (TDE), és Transzparens adattitkosítás az Azure SQL Database, az Azure SQL Managed Instance és az Azure Synapse Analytics.
Ha az adatbázis szintjén engedélyezve van a titkosítás, az összes fájlcsoport titkosítva lesz. Minden új fájlcsoport örökli a titkosított tulajdonságot. Ha az adatbázis bármely fájlcsoportja ÍRÁSVÉDETT értékre van állítva, az adatbázis titkosítási művelete meghiúsul.
Az adatbázis titkosítási állapotát és a titkosítási vizsgálat állapotát a sys.dm_database_encryption_keys
dinamikus felügyeleti nézet használatával tekintheti meg.
< > query_store_option ::=
Azt szabályozza, hogy a lekérdezéstár engedélyezve van-e ebben az adattárházban.
QUERY_STORE { ON | KI }
RA
Engedélyezi a lekérdezéstárat.
KI
Letiltja a lekérdezéstárat. A KI az alapértelmezett érték.
Jegyzet
Az Azure Synapse Analytics esetében ALTER DATABASE SET QUERY_STORE
kell végrehajtania a felhasználói adatbázisból. Az utasítás végrehajtása egy másik adattárházpéldányból nem támogatott.
Jegyzet
Az Azure Synapse Analytics esetében a Lekérdezéstár más platformokhoz hasonlóan engedélyezhető, de a további konfigurációs beállítások nem támogatottak.
< > result_set_caching_option ::=
A következővonatkozik: Azure Synapse Analytics
Azt szabályozza, hogy a lekérdezés eredménye gyorsítótárazva legyen-e az adatbázisban.
RESULT_SET_CACHING { ON | KI }
RA
Megadja, hogy az adatbázisból visszaadott lekérdezési eredményhalmazok gyorsítótárazva legyenek az adatbázisban.
KI
Azt adja meg, hogy az adatbázisból visszaadott lekérdezési eredményhalmazok nem gyorsítótárazva lesznek az adatbázisban.
Ezt a parancsot a master
adatbázishoz való csatlakozás közben kell futtatni. Az adatbázis-beállítás módosítása azonnal érvénybe lép. A tárolási költségek a lekérdezési eredményhalmazok gyorsítótárazásával merülnek fel. Az adatbázis eredmény gyorsítótárazásának letiltása után a korábban tárolt eredmény-gyorsítótár azonnal törlődik az Azure Synapse Storage-ból.
Futtassa ezt a parancsot az adatbázis eredménykészletének gyorsítótárazási konfigurációjának ellenőrzéséhez. Ha az eredményhalmaz gyorsítótárazása be van kapcsolva, is_result_set_caching_on
1 értéket ad vissza.
SELECT name, is_result_set_caching_on FROM sys.databases
WHERE name = <'Your_Database_Name'>
Futtassa ezt a parancsot annak ellenőrzéséhez, hogy a lekérdezés gyorsítótárazott eredménnyel lett-e végrehajtva. A result_cache_hit
oszlop 1-et ad vissza a gyorsítótár-találathoz, 0-t a gyorsítótár-kihagyáshoz, és negatív értékeket, amiért az eredményhalmaz gyorsítótárazását nem használták. Részletekért tekintse meg a sys.dm_pdw_exec_requests.
SELECT request_id, command, result_cache_hit FROM sys.dm_pdw_exec_requests
WHERE request_id = <'Your_Query_Request_ID'>
Jegyzet
Az eredménykészlet gyorsítótárazása nem használható DECRYPTBYKEY. Ha ezt a titkosítási függvényt kell használni, győződjön meg arról, hogy az eredményhalmaz gyorsítótárazása le van tiltva (munkamenetszintű vagy adatbázisszintű) a végrehajtás időpontjában.
Fontos
Az eredményhalmaz-gyorsítótár létrehozására és a gyorsítótárból való adatok lekérésére vonatkozó műveletek egy adattárházpéldány vezérlőcsomópontján történnek. Ha az eredményhalmaz gyorsítótárazása be van kapcsolva, a nagy eredményhalmazt (például >1 millió sort) vissza adó lekérdezések nagy processzorhasználatot okozhatnak a vezérlőcsomóponton, és lelassíthatják a példány teljes lekérdezési válaszát. Ezeket a lekérdezéseket gyakran használják az adatfeltárás vagy az ETL-műveletek során. A vezérlőcsomópont terhelésének elkerülése és a teljesítményproblémák elkerülése érdekében a felhasználóknak ki kell kapcsolniuk az eredményhalmaz gyorsítótárazását az adatbázison, mielőtt futtatják az ilyen típusú lekérdezéseket.
Az eredménykészlet gyorsítótárazásával történő teljesítményhangolással kapcsolatos részletekért tekintse meg teljesítményhangolási útmutatót.
Engedélyek
A RESULT_SET_CACHING beállítás beállításához a felhasználónak kiszolgálószintű egyszerű bejelentkezésre van szüksége (amelyet a kiépítési folyamat hozott létre), vagy a dbmanager
adatbázis-szerepkör tagjának kell lennie.
< > snapshot_option ::=
A következővonatkozik: Azure Synapse Analytics
Az adatbázis tranzakcióelkülönítési szintjét szabályozza.
READ_COMMITTED_SNAPSHOT { ON | KI }
RA
Engedélyezi a READ_COMMITTED_SNAPSHOT lehetőséget az adatbázis szintjén.
KI
Kapcsolja ki a READ_COMMITTED_SNAPSHOT beállítást az adatbázis szintjén.
Ezt a parancsot a master
adatbázishoz való csatlakozás közben kell futtatni. A felhasználói adatbázis READ_COMMITTED_SNAPSHOT be- vagy kikapcsolása az adatbázis összes nyitott kapcsolatát leálltatja. Ezt a módosítást egy adatbázis-karbantartási időszak alatt kell végrehajtania, vagy várjon, amíg nincs aktív kapcsolat az adatbázissal, kivéve az ALTER DATABASE parancsot futtató kapcsolatot. Az adatbázisnak nem kell egyfelhasználós módban lennie. A READ_COMMITTED_SNAPSHOT munkamenet szintjén történő módosítása nem támogatott. Az adatbázis beállításának ellenőrzéséhez ellenőrizze a is_read_committed_snapshot_on
oszlopot a sys.databases
.
A READ_COMMITTED_SNAPSHOT engedélyezett adatbázis esetén a lekérdezések lassabb teljesítményt tapasztalhatnak a verziók vizsgálata miatt, ha több adatverzió van jelen. A hosszú ideig nyitott tranzakciók az adatbázis méretének növekedését is okozhatják. Ez a probléma akkor fordul elő, ha ezek a tranzakciók olyan adatmódosításokat hajtanak végre, amelyek blokkolják a verziókarbantartást.
Engedélyek
A READ_COMMITTED_SNAPSHOT beállítás beállításához a felhasználónak alter engedélyre van szüksége az adatbázisban.
Példák
Adatbázis statisztikai beállításának ellenőrzése
SELECT name, is_auto_create_stats_on FROM sys.databases
Lekérdezéstár engedélyezése adatbázishoz
ALTER DATABASE [database_name]
SET QUERY_STORE = ON;
Eredményhalmaz gyorsítótárazásának engedélyezése adatbázishoz
-- Run this command when connecting to the MASTER database
ALTER DATABASE [database_name]
SET RESULT_SET_CACHING ON;
Adatbázis eredménykészlet-gyorsítótárazási beállításának ellenőrzése
SELECT name, is_result_set_caching_on
FROM sys.databases;
Adatbázis Read_Committed_Snapshot beállításának engedélyezése
Futtassa ezt a parancsot a master
adatbázishoz való csatlakozáskor.
ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON;
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
Microsoft Fabric
A ALTER DATABASE ... SET
használatával kezelheti a Microsoft Fabric Warehouse-t.
Szintaxis
-- Microsoft Fabric Data Warehouse
ALTER DATABASE { warehouse_name | CURRENT }
SET
{
<option_spec> [ ,...n ]
}
<option_spec> ::=
{
<data_lake_log_publishing>
| <vorder>
| <timestamp>
| <result_set_caching>
}
;
<data_lake_log_publishing> ::=
{
DATA_LAKE_LOG_PUBLISHING { PAUSED | AUTO }
}
<vorder> ::=
{
VORDER = OFF
}
<timestamp> ::=
{
TIMESTAMP = {CURRENT_TIMESTAMP | 'YYYY-MM-DDTHH:MM:SS.SS' }
}
<result_set_caching> ::=
{
RESULT_SET_CACHING { ON | OFF }
}
Érvek
DATA_LAKE_LOG_PUBLISHING
Szünetelteti vagy folytatja a Delta Lake-naplók közzétételét. További információ: Delta Lake-naplók közzététele.
VORDER
Letilthatja a V-Order viselkedését. További információ: A V-Order viselkedésének letiltása egy raktárban.
IDŐBÉLYEG
Frissíti a Fabric Data Warehouse meglévő raktári pillanatképének időbélyegét. Az időbélyeget UTC időzónában kell megadni. További információ: Warehouse-pillanatképek.
RESULT_SET_CACHING
Engedélyezi vagy letiltja az eredményhalmaz gyorsítótárazását (előzetes verzió) az aktuális elemhez. További információ: Eredményhalmaz gyorsítótárazása.
Engedélyek
A felhasználónak a Háló munkaterület rendszergazdai, tagi vagy közreműködői szerepköreinek tagja kell lennie.
Példák
Egy. A Delta Lake-naplók közzétételének szüneteltetése
Az alábbi T-SQL-parancs szünetelteti a Delta Lake Log közzétételét az aktuális raktárkörnyezetben.
ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = PAUSED;
A Delta Lake Log-közzététel aktuális állapotának ellenőrzéséhez a munkaterület összes raktárában a következő T-SQL-kóddal kérdezheti le sys.databases egy új lekérdezési ablakban:
SELECT [name], [DATA_LAKE_LOG_PUBLISHING_DESC] FROM sys.databases;
B. Eredményhalmaz gyorsítótárazásának beállítása és ellenőrzése (előzetes verzió)
A következő T-SQL-parancs lehetővé teszi, hogy az elem MyDataWarehouse
megkezdje az eredménykészlet-gyorsítótár (előzetes verzió) létrehozását és alkalmazását az alkalmazható SELECT
lekérdezésekre. További információ: Eredményhalmaz gyorsítótárazása.
ALTER DATABASE [MyDataWarehouse] SET RESULT_SET_CACHING ON;
A is_result_set_caching_on
oszlopa ezután ellenőrizhető annak ellenőrzéséhez, hogy engedélyezve lett-e az eredménykészlet gyorsítótárazása (előzetes verzió).
SELECT [name], [is_result_set_caching_on] FROM sys.databases;
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