ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
A következőkre vonatkozik: SQL Server 2016 (13.x) és újabb verziók
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL Database a Microsoft Fabric
Ez a parancs több adatbáziskonfigurációs beállítást is lehetővé tesz adatbázis szintjén.
Fontos
Az SQL Server vagy az Azure-szolgáltatások különböző verziói különböző DATABASE SCOPED CONFIGURATION
lehetőségeket támogatnak. Ez a lap az összes
Az alábbi beállítások támogatottak az Azure SQL Database-ben, az SQL Database-ben a Microsoft Fabricben, az Azure SQL Managed Instance-ben és az SQL Serverben, amint azt a A Argumentumok szakaszban szereplő egyes beállítások sorra vonatkozik:
- Eljárásgyorsítótár törlése.
- Állítsa a MAXDOP paramétert az elsődleges adatbázis ajánlott értékére (1, 2, ...) az adott számítási feladathoz legjobban megfelelő érték alapján, és állítsa be a lekérdezések által használt másodlagos replikaadatbázisok eltérő értékét. A MAXDOP kiválasztásával kapcsolatos útmutatásért tekintse át kiszolgáló konfigurációját: a párhuzamosság maximális fokát.
- Állítsa a lekérdezésoptimalizáló számosság becslési modelljét az adatbázistól független kompatibilitási szintre.
- Engedélyezze vagy tiltsa le a paraméterszniffinget az adatbázis szintjén.
- A lekérdezésoptimalizálás gyorsjavításainak engedélyezése vagy letiltása az adatbázis szintjén.
- Engedélyezze vagy tiltsa le az identitás-gyorsítótárat az adatbázis szintjén.
- Engedélyezze vagy tiltsa le a lefordított csomagcsomótár gyorsítótárban való tárolását egy köteg első fordításakor.
- Natívan lefordított Transact-SQL modulok végrehajtási statisztikáinak gyűjtésének engedélyezése vagy letiltása.
- A
ONLINE =
szintaxist támogató DDL-utasítások alapértelmezett online engedélyezése vagy letiltása. - A
RESUMABLE =
szintaxist támogató DDL-utasítások alapértelmezett beállításainak engedélyezése vagy letiltása. - intelligens lekérdezésfeldolgozási funkcióinak engedélyezése vagy letiltása.
- Gyorsított terv kényszerítése engedélyezése vagy letiltása.
- A globális ideiglenes táblák automatikus beállítási funkciójának engedélyezése vagy letiltása.
- Engedélyezze vagy tiltsa le a egyszerűsített lekérdezésprofil-kezelő infrastruktúrát.
- Engedélyezze vagy tiltsa le az új
String or binary data would be truncated
hibaüzenetet. - Az utolsó tényleges végrehajtási terv gyűjteményének engedélyezése vagy letiltása a sys.dm_exec_query_plan_stats.
- Adja meg, hogy a szüneteltetett újrapróbálkozott indexművelet hány percig szünetel, mielőtt az adatbázismotor automatikusan megszakítja azt.
- Az aszinkron statisztikák frissítéséhez engedélyezze vagy tiltsa le az alacsony prioritású zárolásokra való várakozást.
- A főkönyv-kivonatok Azure Blob Storage-ba való feltöltésének engedélyezése vagy letiltása.
Ez a beállítás csak az Azure Synapse Analyticsben érhető el.
- Felhasználói adatbázis kompatibilitási szintjének beállítása
Transact-SQL szintaxis konvenciói
Szintaxis
-- Syntax for SQL Server, Azure SQL Database and Azure SQL Managed Instance
ALTER DATABASE SCOPED CONFIGURATION
{
{ [ FOR SECONDARY] SET <set_options>}
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]
< set_options > ::=
{
MAXDOP = { <value> | PRIMARY}
| LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY}
| PARAMETER_SNIFFING = { ON | OFF | PRIMARY}
| QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY}
| IDENTITY_CACHE = { ON | OFF }
| INTERLEAVED_EXECUTION_TVF = { ON | OFF }
| BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
| TSQL_SCALAR_UDF_INLINING = { ON | OFF }
| ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
| XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
| XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
| ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
| BATCH_MODE_ON_ROWSTORE = { ON | OFF }
| DEFERRED_COMPILATION_TV = { ON | OFF }
| ACCELERATED_PLAN_FORCING = { ON | OFF }
| GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
| LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
| VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
| LAST_QUERY_PLAN_STATS = { ON | OFF }
| PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
| ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF }
| EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
| ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
| OPTIMIZED_PLAN_FORCING = { ON | OFF }
| DOP_FEEDBACK = { ON | OFF }
| CE_FEEDBACK = { ON | OFF }
| PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
| LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
| OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
}
Fontos
Az SQL Server 2019 -től (15.x) kezdve az Azure SQL Database-ben és a felügyelt Azure SQL-példányban néhány beállításnév megváltozott:
-
DISABLE_INTERLEAVED_EXECUTION_TVF
INTERLEAVED_EXECUTION_TVF
-
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK
BATCH_MODE_MEMORY_GRANT_FEEDBACK
-
DISABLE_BATCH_MODE_ADAPTIVE_JOINS
BATCH_MODE_ADAPTIVE_JOINS
-- Syntax for Azure Synapse Analytics
ALTER DATABASE SCOPED CONFIGURATION
{
SET <set_options>
}
[;]
< set_options > ::=
{
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}
Érvek
MÁSODLAGOS
Megadja a másodlagos adatbázisok beállításait (minden másodlagos adatbázisnak azonos értékekkel kell rendelkeznie).
CLEAR PROCEDURE_CACHE [plan_handle]
Törli az adatbázis eljárás -(terv-) gyorsítótárát, és végrehajtható az elsődleges és a másodsorban is.
Adjon meg egy lekérdezésterv-leírót, amely egyetlen lekérdezési tervet töröl a tervgyorsítótárból.
A következőkre vonatkozik: A lekérdezésterv-leíró megadása az SQL Server 2019 -től (15.x) kezdve érhető el az Azure SQL Database-ben és a felügyelt Azure SQL-példányban.
MAXDOP = {<érték> | ELSŐDLEGES }
<érték>
Megadja az alapértelmezett maximális párhuzamossági fokot (MAXDOP) beállítást, amelyet utasításokhoz kell használni. A 0 az alapértelmezett érték, és azt jelzi, hogy a kiszolgálókonfigurációt használja a rendszer. Az adatbázis hatókörében lévő MAXDOP felülbírálja (kivéve, ha 0 értékre van állítva) a maximális párhuzamossági a kiszolgáló szintjén sp_configure
. A lekérdezési tippek továbbra is felülbírálhatják az adatbázis hatókörébe tartozó MAXDOP-t a különböző beállításokat igénylő lekérdezések hangolásához. Ezeket a beállításokat a számítási feladatcsoportMAXDOP-beállítása korlátozza.
A MAXDOP beállítással korlátozhatja a párhuzamos terv végrehajtásához használandó processzorok számát. Az SQL Server figyelembe veszi a lekérdezések párhuzamos végrehajtási terveit, az index adatdefiníciós nyelv (DDL) műveleteit, a párhuzamos beszúrást, az online alter oszlopot, a párhuzamos statisztikák gyűjteményét, valamint a statikus és kulcskészlet-alapú kurzorpopulációt.
Jegyzet
A maximális párhuzamossági (MAXDOP) korlát tevékenységenként van beállítva. Ez nem kérésenként vagy lekérdezési korlátonként. Ez azt jelenti, hogy egy párhuzamos lekérdezés végrehajtása során egyetlen kérelem több feladatot is létrehozhat, amelyek egy ütemezőhözvannak rendelve. További információ: szál- és feladatarchitektúra-útmutató.
Ha ezt a beállítást a példány szintjén szeretné beállítani, olvassa el A kiszolgáló konfigurációs beállításának maximális párhuzamossági fokának konfigurálása.
Jegyzet
Az Azure SQL Database-ben alapértelmezés szerint 8-ra van állítva az új önálló és rugalmas készlet-adatbázisok MAXDOP-adatbázis-hatókörű konfigurációja. A MAXDOP minden adatbázishoz konfigurálható az aktuális cikkben leírtak szerint. A MAXDOP optimális konfigurálásával kapcsolatos javaslatokért lásd További erőforrások című szakaszt.
Borravaló
Ezt a lekérdezés szintjén a MAXDOPlekérdezési tipptel.
Ezt kiszolgálószinten a maximális párhuzamossági (MAXDOP)kiszolgálókonfigurációs beállítással.
Ezt a számítási feladat szintjén a MAX_DOPResource Governor számítási csoport konfigurációs beállításával.
ELSŐDLEGES
Csak a másodfokokra állítható be, míg az adatbázis az elsődlegesen, és azt jelzi, hogy a konfiguráció az elsődlegeshez beállított. Ha az elsődleges beállítások módosulnak, a másodfokok értéke ennek megfelelően változik anélkül, hogy explicit módon kellene beállítani a másodfokú értékeket. PRIMARY a másodfokú fájlok alapértelmezett beállítása.
LEGACY_CARDINALITY_ESTIMATION = { ON | KI | ELSŐDLEGES }
Lehetővé teszi a lekérdezésoptimalizáló számosságbecslési modell beállítását az SQL Server 2012-es és korábbi verziójára az adatbázis kompatibilitási szintjével függetlenül. Az alapértelmezett érték a OFF
, amely az adatbázis kompatibilitási szintje alapján állítja be a lekérdezésoptimalizáló számosság becslési modelljét. A LEGACY_CARDINALITY_ESTIMATION
ON
beállítása egyenértékű a 9481-nyomkövetési jelző engedélyezésével.
Borravaló
Ha ezt a lekérdezés szintjén szeretné elvégezni, adja hozzá a QUERYTRACEONlekérdezési tippet. Az SQL Server 2016 (13.x) SP1-től kezdve ezt a lekérdezés szintjén kell elvégeznie, a nyomkövetési jelző használata helyett adja hozzá a USE HINTlekérdezési tippet.
ELSŐDLEGES
Ez az érték csak a másodfokon érvényes, míg az adatbázis az elsődlegesen van, és meghatározza, hogy a lekérdezésoptimalizáló számosság becslési modellbeállítása az elsődleges érték. Ha a lekérdezésoptimalizáló számosságbecslési modell elsődleges konfigurációja megváltozik, a másodfokú értékek ennek megfelelően változnak. PRIMARY a másodfokú fájlok alapértelmezett beállítása.
PARAMETER_SNIFFING = { ON | KI | ELSŐDLEGES }
Engedélyezi vagy letiltja paramétersziffing. Az alapértelmezett érték a ON
. A PARAMETER_SNIFFING
OFF
beállítása egyenértékű 4136-os nyomkövetési jelzőengedélyezésével.
Borravaló
Ezt a lekérdezés szintjén a OPTIMIZE FOR UNKNOWN
lekérdezési tipp.
Az SQL Server 2016 (13.x) SP1 és újabb verzióiban ennek lekérdezési szinten való eléréséhez a USE HINT
lekérdezési tipp is elérhető.
ELSŐDLEGES
Ez az érték csak a másodfokon érvényes, míg az adatbázis az elsődlegesen van, és meghatározza, hogy a beállítás értéke minden másodfokon az elsődleges érték. Ha az elsődlegesen a paraméter módosításokat használó konfigurációja megváltozik, a másodfokok értéke ennek megfelelően változik anélkül, hogy explicit módon kellene beállítani a másodfokú értékeket. A másodlagos fájlok alapértelmezett beállítása az ELSŐDLEGES.
QUERY_OPTIMIZER_HOTFIXES = { ON | KI | ELSŐDLEGES }
Engedélyezi vagy letiltja a lekérdezésoptimalizálás gyorsjavításait az adatbázis kompatibilitási szintjétől függetlenül. Az alapértelmezett érték a OFF
, amely letiltja a lekérdezésoptimalizálási gyorsjavításokat, amelyeket a legmagasabb rendelkezésre állású kompatibilitási szint bevezetése után adtak ki egy adott verzióhoz (RTM után). A ON
beállítása egyenértékű a 4199-nyomkövetési jelző engedélyezésével.
A következőkre vonatkozik: SQL Server (SQL Server 2016 (13.x)), Azure SQL Database és felügyelt Azure SQL-példány
Borravaló
Ha ezt a lekérdezés szintjén szeretné elvégezni, adja hozzá a QUERYTRACEONlekérdezési tippet. Az SQL Server 2016 (13.x) SP1-től kezdve ezt a lekérdezés szintjén a nyomkövetési jelző használata helyett adja hozzá a USE HINT lekérdezési tippet.
ELSŐDLEGES
Ez az érték csak a másodfokon érvényes, míg az adatbázis az elsődlegesen van, és meghatározza, hogy a beállítás értéke minden másodfokon az elsődleges érték. Ha az elsődleges beállítások módosulnak, a másodfokok értéke ennek megfelelően változik anélkül, hogy explicit módon kellene beállítani a másodfokú értékeket. A másodlagos fájlok alapértelmezett beállítása az ELSŐDLEGES.
IDENTITY_CACHE = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2017 (14.x)), Azure SQL Database és felügyelt Azure SQL-példány
Engedélyezi vagy letiltja az identitásgyorsítótárat az adatbázis szintjén. Az alapértelmezett érték a ON
. Az identitás gyorsítótárazásával javíthatja az INSERT teljesítményét az identitásoszlopokat tartalmazó táblákon. Ha el szeretné kerülni az identitásoszlop értékeinek hiányosságait olyan esetekben, amikor a kiszolgáló váratlanul újraindul, vagy egy másodlagos kiszolgálóra kerül át, tiltsa le a IDENTITY_CACHE
beállítást. Ez a beállítás hasonló a meglévő 272-es nyomkövetési jelzőhöz, azzal a kivételrel, hogy nem csak a kiszolgáló szintjén, hanem az adatbázis szintjén is beállítható.
Jegyzet
Ez a beállítás csak az ELSŐDLEGES értékhez állítható be. További információ: identitásoszlopok.
INTERLEAVED_EXECUTION_TVF = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi, hogy engedélyezze vagy letiltsa az interleaved végrehajtást az adatbázis vagy az utasítás hatókörében lévő többutas táblaértékelt függvények esetében, miközben továbbra is fenntartja a 140-es és újabb adatbázis-kompatibilitási szintet. Az alapértelmezett érték a ON
. Az interleaved végrehajtás egy olyan funkció, amely az Adaptív lekérdezésfeldolgozás része az Azure SQL Database-ben. További információkért tekintse meg intelligens lekérdezésfeldolgozási.
Jegyzet
A 130-es vagy annál alacsonyabb adatbázis-kompatibilitási szint esetén ez az adatbázis-hatókörű konfigurációnak nincs hatása.
Csak AZ SQL Server 2017-ben (14.x) az INTERLEAVED_EXECUTION_TVF lehetőség a DISABLE_INTERLEAVED_EXECUTION_TVF régebbi neve volt.
BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi, hogy engedélyezze vagy letiltsa a kötegelt módú memóriavisszajelzéseket az adatbázis hatókörében, miközben továbbra is fenntartja az adatbázis kompatibilitási szintjét 140-es vagy újabb szinten. Az alapértelmezett érték a ON
. Az SQL Server 2017-ben (14.x) bevezetett Batch módú memóriahasználati visszajelzés az intelligens lekérdezésfeldolgozási szolgáltatáscsomag része. További információ: Memóriahasználati visszajelzés.
Jegyzet
A 130-es vagy annál alacsonyabb adatbázis-kompatibilitási szint esetén ez az adatbázis-hatókörű konfigurációnak nincs hatása.
BATCH_MODE_ADAPTIVE_JOINS = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi a kötegelt módú adaptív illesztések engedélyezését vagy letiltását az adatbázis hatókörében, miközben továbbra is fenntartja a 140-es és újabb adatbázis-kompatibilitási szintet. Az alapértelmezett érték a ON
. A Batch módú adaptív illesztések SQL Server 2017-ben (14.x) bevezetett intelligens lekérdezésfeldolgozási részét képezik.
Jegyzet
A 130-es vagy annál alacsonyabb adatbázis-kompatibilitási szint esetén ez az adatbázis-hatókörű konfigurációnak nincs hatása.
TSQL_SCALAR_UDF_INLINING = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)) és Azure SQL Database (a funkció előzetes verzióban érhető el)
Lehetővé teszi a T-SQL Skaláris UDF engedélyezését vagy letiltását az adatbázis hatókörében, miközben továbbra is fenntartja a 150-es és újabb adatbázis-kompatibilitási szintet. Az alapértelmezett érték a ON
. A T-SQL Skaláris UDF-vázlat a intelligens lekérdezésfeldolgozási szolgáltatáscsalád része.
Jegyzet
A 140-es vagy annál alacsonyabb adatbázis-kompatibilitási szint esetén ez az adatbázis-hatókörű konfigurációnak nincs hatása.
ELEVATE_ONLINE = { KI | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi, hogy olyan beállításokat válasszon, amelyek hatására a motor automatikusan online állapotba emeli a támogatott műveleteket. Az alapértelmezett érték OFF
, ami azt jelenti, hogy a műveletek csak akkor lesznek online állapotban, ha az utasításban meg van adva.
sys.database_scoped_configurations a ELEVATE_ONLINE
aktuális értékét tükrözi. Ezek a beállítások csak az online használatra támogatott műveletekre vonatkoznak.
FAIL_UNSUPPORTED
Ez az érték az összes támogatott DDL-műveletet ONLINE értékre emeli. Az online végrehajtást nem támogató műveletek meghiúsulnak, és hibát jeleznek.
Jegyzet
Ha oszlopot ad hozzá egy táblához, az általános esetben online művelet. Bizonyos esetekben, például ha nem null értékű oszlopotad hozzá, nem lehet online hozzáadni egy oszlopot. Ezekben az esetekben, ha FAIL_UNSUPPORTED be van állítva, a művelet meghiúsul.
WHEN_SUPPORTED
Ez az érték emeli az ONLINE-t támogató műveleteket. Az online műveletet nem támogató műveletek offline állapotban futnak.
Jegyzet
Az alapértelmezett beállítást felülbírálhatja úgy, hogy elküld egy utasítást a megadott ONLINE beállítással.
ELEVATE_RESUMABLE= { KI | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi olyan beállítások kiválasztását, amelyek miatt a motor automatikusan megemeli a támogatott műveleteket. Az alapértelmezett érték OFF
, ami azt jelenti, hogy a műveletek csak akkor lesznek folytathatók, ha az utasításban meg van adva.
sys.database_scoped_configurations a ELEVATE_RESUMABLE
aktuális értékét tükrözi. Ezek a beállítások csak az újra felhasználható műveletekre vonatkoznak.
FAIL_UNSUPPORTED
Ez az érték az összes támogatott DDL-műveletet a RESUMABLE értékre emeli. Azok a műveletek, amelyek nem támogatják az újrafuttatást, meghiúsulnak, és hibát jeleznek.
WHEN_SUPPORTED
Ez az érték emeli a RESUMABLE-t támogató műveleteket. Azok a műveletek, amelyek nem támogatják az újra felhasználható műveleteket, nem folytatható módon futnak.
Jegyzet
Az alapértelmezett beállítást felülbírálhatja úgy, hogy elküld egy utasítást a megadott RESUMABLE beállítással.
OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Engedélyezi vagy letiltja a lefordított csomagcsomótár gyorsítótárban való tárolását egy köteg első fordításakor. Az alapértelmezett érték a OFF
. Ha az adatbázis hatókörébe tartozó konfigurációs OPTIMIZE_FOR_AD_HOC_WORKLOADS
engedélyezve van egy adatbázishoz, a rendszer egy lefordított csomagcsomótárat tárol a gyorsítótárban, amikor első alkalommal fordít le egy köteget. A tervcsomók memóriaigénye kisebb a teljes lefordított terv méretéhez képest. Ha egy köteget újra lefordítanak vagy végrehajtanak, a lefordított csomagcsomó el lesz távolítva, és egy teljes lefordított tervre cserélődik.
XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | KI }
A következőkre vonatkozik: Azure SQL Database és felügyelt Azure SQL-példány
Engedélyezi vagy letiltja a végrehajtási statisztikák modulszintű gyűjtését az aktuális adatbázisban natívan lefordított T-SQL-modulokhoz. Az alapértelmezett érték a OFF
. A végrehajtási statisztikák sys.dm_exec_procedure_statsjelennek meg.
A natívan lefordított T-SQL-modulok modulszintű végrehajtási statisztikái akkor lesznek összegyűjtve, ha ez a beállítás be van kapcsolva, vagy ha a statisztikai adatgyűjtés engedélyezve van sp_xtp_control_proc_exec_statskeresztül.
XTP_QUERY_EXECUTION_STATISTICS = { ON | KI }
A következőkre vonatkozik: Azure SQL Database és felügyelt Azure SQL-példány
Engedélyezi vagy letiltja a végrehajtási statisztikák gyűjtését az aktuális adatbázisban natívan lefordított T-SQL-modulok utasításszintjén. Az alapértelmezett érték a OFF
. A végrehajtási statisztikák sys.dm_exec_query_stats és Lekérdezéstárbanjelennek meg.
A natívan lefordított T-SQL-modulok utasításszintű végrehajtási statisztikái akkor lesznek összegyűjtve, ha ez a beállítás ON
, vagy ha a statisztikagyűjtés engedélyezve van sp_xtp_control_query_exec_statskeresztül.
A natívan lefordított Transact-SQL modulok teljesítménymonitorozásával kapcsolatos további információkért lásd: Natívan lefordított tárolt eljárások teljesítményének monitorozása.
ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi a sor módú memóriavisszajelzések engedélyezését vagy letiltását az adatbázis hatókörében, miközben továbbra is fenntartja a 150-es és újabb adatbázis-kompatibilitási szintet. Az alapértelmezett érték a ON
. A sor mód memóriája visszajelzést ad az SQL Server 2017-ben (14.x) bevezetett intelligens lekérdezésfeldolgozási részét képező funkcióról. A sor mód az SQL Server 2019 (15.x) és az Azure SQL Database esetében támogatott. További információ a memóriahasználati visszajelzésről: Memóriahasználati visszajelzési.
Jegyzet
A 140-es vagy annál alacsonyabb adatbázis-kompatibilitási szint esetén ez az adatbázis-hatókörű konfigurációnak nincs hatása.
MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2022 -től kezdve (16.x)), Azure SQL Database
Lehetővé teszi, hogy letiltsa a memória-visszacsatolás percentilisét az adatbázisból származó összes lekérdezés-végrehajtáshoz. Az alapértelmezett érték ON
. További információ: Percentilis és adatmegőrzési módú memória visszajelzést ad.
Jegyzet
A 140-es vagy annál alacsonyabb adatbázis-kompatibilitási szint esetén ez az adatbázis-hatókörű konfigurációnak nincs hatása.
MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2022 (16.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi, hogy letiltsa a memóriavisszajelzések megőrzését az adatbázisból származó összes lekérdezés-végrehajtás esetében. Az alapértelmezett érték ON
. További információ: Percentilis és adatmegőrzési módú memória visszajelzést ad.
Jegyzet
A 140-es vagy annál alacsonyabb adatbázis-kompatibilitási szint esetén ez az adatbázis-hatókörű konfigurációnak nincs hatása.
BATCH_MODE_ON_ROWSTORE = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi a kötegelt mód engedélyezését vagy letiltását a sortárban az adatbázis hatókörében, miközben továbbra is fenntartja a 150-es és újabb adatbázis-kompatibilitási szintet. Az alapértelmezett érték a ON
. A batch mód a sortárban intelligens lekérdezésfeldolgozási szolgáltatáscsalád része.
Jegyzet
A 140-es vagy annál alacsonyabb adatbázis-kompatibilitási szint esetén ez az adatbázis-hatókörű konfigurációnak nincs hatása.
DEFERRED_COMPILATION_TV = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi a táblaváltozó késleltetett fordításának engedélyezését vagy letiltását az adatbázis hatókörében, miközben továbbra is fenntartja a 150-es és újabb adatbázis-kompatibilitási szintet. Az alapértelmezett érték a ON
. A táblaváltozó késleltetett fordítása olyan funkció, amely intelligens lekérdezésfeldolgozási szolgáltatáscsalád része.
Jegyzet
A 140-es vagy annál alacsonyabb adatbázis-kompatibilitási szint esetén ez az adatbázis-hatókörű konfigurációnak nincs hatása.
ACCELERATED_PLAN_FORCING = { ON | KI }
A következővonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi a lekérdezéstervek kényszerítésének optimalizált mechanizmusát, amely a terv kényszerítésének minden formájára alkalmazható, például Lekérdezéstár kényszerítési terv, Automatikus finomhangolási, vagy a USE PLAN lekérdezési tipp. Az alapértelmezett érték a ON
.
Jegyzet
Nem ajánlott letiltani a gyorsított terv kényszerítését.
GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi globális ideiglenes táblákautomatikus beállítását. Az alapértelmezett érték a ON
, ami azt jelenti, hogy a rendszer automatikusan elveti a globális ideiglenes táblákat, ha egyik munkamenet vagy feladat sem használja. Ha OFF
értékre van állítva, a globális ideiglenes táblákat csak egy DROP TABLE
utasítással lehet explicit módon elvetni, vagy automatikusan elvetni az adatbázismotor újraindításakor.
- Az Önálló Azure SQL Database-adatbázisokban és rugalmas készletekben ez a beállítás az egyes felhasználói adatbázisokban van beállítva.
- Az SQL Serverben és a felügyelt Azure SQL-példányban ezt a beállítást be kell állítani
tempdb
. Az egyes felhasználói adatbázisokban a beállításnak nincs hatása.
LIGHTWEIGHT_QUERY_PROFILING = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi a egyszerűsített lekérdezésprofilozási infrastruktúraengedélyezését vagy letiltását. Az egyszerűsített lekérdezésprofilozási infrastruktúra (LWP) hatékonyabban biztosítja a lekérdezési teljesítményt, mint a szabványos profilkészítési mechanizmusok, és alapértelmezés szerint engedélyezve van. Az alapértelmezett érték a ON
.
VERBOSE_TRUNCATION_WARNINGS = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Engedélyezi vagy letiltja az új String or binary data would be truncated
hibaüzenetet. Az alapértelmezett érték a ON
. Az SQL Server 2019 (15.x) új, pontosabb hibaüzenetet (2628) vezet be ehhez a forgatókönyvhöz:
String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.
Ha a 150-es adatbázis-kompatibilitási szinten ON
értékre van állítva, a csonkítási hibák a 2628-at jelző új hibaüzenetet okozzák, hogy több kontextust biztosítsanak, és egyszerűsítse a hibaelhárítási folyamatot.
Ha OFF
a 150-es adatbázis-kompatibilitási szinten, csonkítási hibák okoznak a korábbi 8152-es hibaüzenetet.
A 140-es vagy annál alacsonyabb adatbázis-kompatibilitási szint esetén a 2628-es hibaüzenet továbbra is egy engedélyezési hibaüzenet, amely megköveteli nyomkövetési jelző 460- engedélyezését, és ennek az adatbázis-hatókörű konfigurációnak nincs hatása.
LAST_QUERY_PLAN_STATS = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi az utolsó lekérdezésterv statisztikáinak (a tényleges végrehajtási tervnek megfelelő) gyűjtésének engedélyezését vagy letiltását a sys.dm_exec_query_plan_stats. Az alapértelmezett érték a OFF
.
PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES
A következőkre vonatkozik: SQL Server (SQL Server 2022 (16.x)), Azure SQL Database és felügyelt Azure SQL-példány
A PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES
beállítás határozza meg, hogy mennyi ideig (percek alatt) függeszti fel az ismételhető indexet, mielőtt a motor automatikusan megszakítja azt.
- Az alapértelmezett érték egy napra (1440 perc) van beállítva
- A minimális időtartam 1 perc
- A maximális időtartam 71 582 perc
- Ha 0 értékre van állítva, a szüneteltetett művelet soha nem szakad meg automatikusan
A beállítás aktuális értéke megjelenik a sys.database_scoped_configurations.
ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | KI}
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Lehetővé teszi annak szabályozását, hogy egy Row-Level Biztonsági (RLS) predikátum hatással van-e a teljes felhasználói lekérdezés végrehajtási tervének számosságára. Az alapértelmezett érték a OFF
. Ha ISOLATE_SECURITY_POLICY_CARDINALITY
be van kapcsolva, az RLS-predikátum nem befolyásolja a végrehajtási terv számosságát. Vegyük például egy 1 millió sort tartalmazó táblát és egy RLS-predikátumot, amely az eredményt 10 sorra korlátozza a lekérdezést kibocsátó adott felhasználó számára. Ha az adatbázis hatóköre KI értékre van állítva, ennek a predikátumnak a számosságbecslése 10. Ha ez az adatbázis-hatókörű konfiguráció be van kapcsolva, a lekérdezésoptimalizálás 1 millió sort becsül meg. A legtöbb számítási feladat esetében ajánlott az alapértelmezett érték használata.
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
A következőkre vonatkozik: csak az Azure Synapse Analytics
A Transact-SQL és a lekérdezésfeldolgozási viselkedéseket úgy állítja be, hogy kompatibilisek legyenek az adatbázismotor megadott verziójával. A beállítás után, amikor egy lekérdezést végrehajt az adatbázison, a rendszer csak a kompatibilis funkciókat gyakorolja. Minden kompatibilitási szinten különböző lekérdezésfeldolgozási fejlesztések támogatottak. Minden szint elnyeli az előző szint funkcióit. Az adatbázisok kompatibilitási szintje alapértelmezés szerint automatikusra van állítva az első létrehozáskor, és ez az ajánlott beállítás. A kompatibilitási szint megmarad az adatbázis szüneteltetése/folytatása, a biztonsági mentési/visszaállítási műveletek után is. Az alapértelmezett érték a AUTO
.
Kompatibilitási szint | Megjegyzések |
---|---|
AUTO |
Alapértelmezett. Értékét a Synapse Analytics motor automatikusan frissíti, és 0 jelöli a sys.database_scoped_configurations.
AUTO jelenleg kompatibilitási szintű 30 funkciókat képez le. |
10 |
A kompatibilitási szint támogatása előtt gyakorolja a Transact-SQL és a lekérdezési motor viselkedését. |
20 |
Az első kompatibilitási szint, amely magában foglalja a Transact-SQL és a lekérdezési motor viselkedését. A rendszer által tárolt eljárás sp_describe_undeclared_parameters támogatott ezen a szinten. |
30 |
Új lekérdezési motor viselkedését tartalmazza. |
40 |
Új lekérdezési motor viselkedését tartalmazza. |
50 |
A többoszlopos elosztás ezen a szinten támogatott. További információ: CREATE TABLE, CREATE TABLE AS SELECT és CREATE MATERIALIZED VIEW. |
9000 |
Előzetes verziójú kompatibilitási szint. Az ezen a szinten elérhető előzetes verziójú funkciók funkcióspecifikus dokumentációban jelennek meg. Ez a szint a legmagasabb nem9000 szintű képességeket is magában foglalja. |
EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | KI }
A következőkre vonatkozik: SQL Server 2022 (16.x) és újabb verziókra, az Azure SQL Database-ra és a felügyelt Azure SQL-példányra
Lehetővé teszi annak szabályozását, hogy a skaláris felhasználó által definiált függvények (UDF) végrehajtási statisztikái megjelenjenek-e a sys.dm_exec_function_stats rendszernézetben. Egyes intenzív, UDF-nehéz számítási feladatok esetében a függvények végrehajtási statisztikáinak összegyűjtése jelentős teljesítményterhelést okozhat. Ez elkerülhető, ha a EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS
adatbázis-hatókörű konfigurációt OFF
értékre állítja. Az alapértelmezett érték a ON
.
ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2022 (16.x)), Azure SQL Database és felügyelt Azure SQL-példány
Ha az aszinkron statisztikák frissítése engedélyezve van, a konfiguráció engedélyezése miatt a háttérkérelem frissítési statisztikái megvárják az alacsony prioritású várólistán lévő Sch-M
zárolását, hogy ne blokkoljanak más munkameneteket magas egyidejűségi forgatókönyvekben. További információ: AUTO_UPDATE_STATISTICS_ASYNC. Az alapértelmezett érték a OFF
.
OPTIMIZED_PLAN_FORCING = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2022 -től kezdve (16.x)), Azure SQL Database
Az optimalizált terv kényszerítése csökkenti az ismétlődő kényszerített lekérdezések fordítási többletterhelését. Az alapértelmezett érték a ON
. A lekérdezés-végrehajtási terv létrehozása után a rendszer az egyes fordítási lépéseket optimalizálási újrajátszási szkriptként tárolja újra. Az optimalizálási visszajátszási szkriptek a tömörített showplan XML részeként vannak tárolva Lekérdezéstár, rejtett OptimizationReplay
attribútumban. További információ az Optimalizált terv a Lekérdezéstárhasználatával való kényszerítésről.
DOP_FEEDBACK = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2022 -től kezdve (16.x)), Azure SQL Database
Azonosítja az ismétlődő lekérdezések párhuzamossági hatékonysági hiányosságait az eltelt idő és várakozás alapján. Ha a párhuzamosság használata nem hatékony, a DOP-visszajelzés csökkenti a lekérdezés következő végrehajtásához szükséges DOP-t a konfigurált DOP-tól, és ellenőrzi, hogy segít-e. A lekérdezéstár engedélyezését és READ_WRITE
módban történő használatát igényli. További információ: Párhuzamosság foka (DOP) visszajelzési. Az alapértelmezett érték a OFF
.
CE_FEEDBACK = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2022 (16.x)), Azure SQL Database és felügyelt Azure SQL-példány
A CE-visszajelzések az alapértelmezett CE (CE120 vagy újabb) használatakor helytelen CE-modellfeltehetésekből eredő regressziós problémákat kezelik, és szelektíven használhatnak különböző modellel kapcsolatos feltételezéseket. A lekérdezéstár engedélyezését és READ_WRITE
módban történő használatát igényli. További információ: számosságbecslés (CE) visszajelzése. Az alapértelmezett ON
a 160-es és újabb adatbázis-kompatibilitási szinten.
PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2022 (16.x)), Azure SQL Database és felügyelt Azure SQL-példány
A paraméterérzékenység-terv (PSP) optimalizálása azt a forgatókönyvet kezeli, amikor egy paraméteres lekérdezés egyetlen gyorsítótárazott terve nem optimális minden lehetséges bejövő paraméterértékhez. Ilyenek a nemuniform adateloszlások. Az alapértelmezett ON
a 160-es adatbázis-kompatibilitási szinttől kezdve. További információ: paraméterérzékeny terv optimalizálási.
LEDGER_DIGEST_STORAGE_ENDPOINT = { <végpont URL-sztringje> | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2022-től kezdve (16.x))
Engedélyezi vagy letiltja a főkönyv-kivonatok Azure Blob Storage-ba való feltöltését. A főkönyv-kivonatok feltöltésének engedélyezéséhez adja meg egy Azure Blob Storage-fiók végpontját. A naplókivonatok feltöltésének letiltásához állítsa a beállítás értékét OFF
értékre. Az alapértelmezett érték a OFF
.
FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | KI }
A következőkre vonatkozik: SQL Server (SQL Server 2022 (16.x)), Azure SQL Database és felügyelt Azure SQL-példány
Az SQL Server egy Showplan XML-töredék létrehozását okozza a ParameterRuntimeValue használatával az egyszerűsített lekérdezés-végrehajtási statisztikák profilkészítési infrastruktúrájának használatakor vagy a sys.dm_exec_query_statistics_xml
DMV végrehajtásakor a hosszú ideig futó lekérdezések hibaelhárítása közben.
Fontos
Az FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION
adatbázis-hatókörű konfigurációs beállítás nem azt jelenti, hogy folyamatosan engedélyezve legyen éles környezetben, hanem csak időkorlátos hibaelhárítási célokra. Ezzel az adatbázis-hatókörrel rendelkező konfigurációs beállítás további és valószínűleg jelentős processzor- és memóriaterhelést eredményez, amikor létrehozunk egy Showplan XML-töredéket futtatókörnyezeti paraméterinformációkkal, függetlenül attól, hogy engedélyezve van-e a sys.dm_exec_query_statistics_xml
DMV vagy az egyszerűsített lekérdezés-végrehajtási statisztikai profilinfrastruktúra.
OPTIMIZED_SP_EXECUTESQL = { ON | KI }
A következőkre vonatkozik: Azure SQL Database
Engedélyezi vagy letiltja a sp_executesql
fordítási szerializálási viselkedését egy köteg fordításakor. Az alapértelmezett érték a OFF
. A fordítási folyamat szerializálására sp_executesql
használó kötegek engedélyezése csökkenti a fordítási viharok hatását. A fordítási viharok olyan helyzetre utalnak, amikor nagy számú lekérdezést fordít egyszerre, ami teljesítményproblémákhoz és erőforrás-versengéshez vezet.
Ha OPTIMIZED_SP_EXECUTESQL
ON
, a sp_executesql első végrehajtása lefordítja és beszúrja a lefordított tervet a tervgyorsítótárba. A többi munkamenet megszakítja a fordítási zárolásra való várakozást, és amint elérhetővé válik, újra felhasználja a csomagot. Ez lehetővé teszi, hogy sp_executesql
úgy viselkedjen, mint az objektumok, például a tárolt eljárások és az eseményindítók fordítási szempontból.
Engedélyek
Az adatbázishoz ALTER ANY DATABASE SCOPED CONFIGURATION
szükséges. Ezt az engedélyt olyan felhasználó adhatja meg, aki CONTROL
engedéllyel rendelkezik egy adatbázisban.
Megjegyzések
Bár konfigurálhatja a másodlagos adatbázisokat úgy, hogy az elsődlegestől eltérő hatókörű konfigurációs beállításokkal rendelkezzenek, az összes másodlagos adatbázis ugyanazt a konfigurációt használja. A különböző beállítások nem konfigurálhatók az egyes másodfokú fájlokhoz.
Az utasítás végrehajtása törli az eljárásgyorsítótárat az aktuális adatbázisban, ami azt jelenti, hogy minden lekérdezésnek újra kell komplikáltnak kell minősülnie.
A háromrészes névvel rendelkező lekérdezések esetében a lekérdezés aktuális adatbázis-kapcsolatának beállításait nem kell figyelembe venni, kivéve az olyan SQL-modulokat (például eljárásokat, függvényeket és triggereket), amelyek egy másik adatbázis-környezetben vannak lefordítva, és ezért annak az adatbázisnak a beállításait használják, amelyben találhatók. Hasonlóképpen, a statisztikák aszinkron frissítésekor a ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY
beállítása annak az adatbázisnak, amelyben a statisztikák találhatók, tiszteletben tartva.
A ALTER_DATABASE_SCOPED_CONFIGURATION
esemény DDL-eseményként lesz hozzáadva, amely DDL-eseményindítók indítására használható, és a ALTER_DATABASE_EVENTS
eseményindító csoport gyermeke.
Ha egy adott adatbázist visszaállít vagy csatol, az adatbázis hatókörébe tartozó konfigurációs beállítások át lesznek helyezve, és megmaradnak az adatbázissal.
Az SQL Server 2019 -től (15.x) kezdve az Azure SQL Database-ben és a felügyelt Azure SQL-példányban néhány beállításnév megváltozott:
-
DISABLE_INTERLEAVED_EXECUTION_TVF
INTERLEAVED_EXECUTION_TVF
-
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK
BATCH_MODE_MEMORY_GRANT_FEEDBACK
-
DISABLE_BATCH_MODE_ADAPTIVE_JOINS
BATCH_MODE_ADAPTIVE_JOINS
A Microsoft Fabric SQL-adatbázisában a hitelesítés a Microsoft Entra-azonosító átengedésen keresztül történik, USER IDENTITY
használatával.
Adatbázis-hatókörű konfigurációs beállítás állapotának ellenőrzése
Ha ellenőrizni szeretné, hogy egy konfiguráció engedélyezve van-e (1) vagy le van-e tiltva (0) az adatbázisban, lekérdezheti sys.database_scoped_configurations. A LEGACY_CARDINALITY_ESTIMATION
értékének ellenőrzéséhez például használjon az alábbihoz hasonló lekérdezést:
USE <user_database>;
SELECT
name,
value,
value_for_secondary
FROM sys.database_scoped_configurations
WHERE name = 'LEGACY_CARDINALITY_ESTIMATION';
Korlátozások
MAXDOP
A részletes beállítások felülbírálhatják a globális beállításokat, és az erőforrás-vezérlő az összes többi MAXDOP-beállítást is lekorlátozza. A MAXDOP
beállítás logikája a következő:
A lekérdezési tipp felülbírálja a
sp_configure
és az adatbázis-hatókörű konfigurációt is. Ha a számítási feladatcsoporthoz a MAXDOP erőforráscsoport van beállítva:Ha a lekérdezési tipp nullára (0) van állítva, az erőforrás-vezérlő beállítása felülírja azt.
Ha a lekérdezési tipp nem nulla (0), akkor az erőforrás-vezérlő beállítása leképezi.
Az adatbázis hatókörébe tartozó konfiguráció (kivéve, ha nulla) felülbírálja a
sp_configure
beállítást, hacsak nincs lekérdezési tipp, és az erőforrás-vezérlő beállítása megfelelteti.A
sp_configure
beállítást felülírja az erőforrás-vezérlő beállítása.
QUERY_OPTIMIZER_HOTFIXES
Ha QUERYTRACEON
tippet használ az SQL Server 7.0 alapértelmezett lekérdezésoptimalizálójának az SQL Server 2012 (11.x) verzióin vagy a Lekérdezésoptimalizáló gyorsjavításokon keresztüli engedélyezéséhez, az vagy feltétel lenne a lekérdezési tipp és az adatbázis hatókörébe tartozó konfigurációs beállítás között, ami azt jelenti, hogy ha engedélyezve van, az adatbázis hatókörébe tartozó konfigurációk érvényesek.
Geo DR
Az olvasható másodlagos adatbázisok (Always On rendelkezésre állási csoportok, Azure SQL Database és felügyelt Azure SQL-példány georeplikált adatbázisok) az adatbázis állapotának ellenőrzésével használják a másodlagos értéket. Annak ellenére, hogy az újrafordítás nem történik meg feladatátvételkor, és technikailag az új elsődlegesnek vannak olyan lekérdezései, amelyek a másodlagos beállításokat használják, az az elképzelés, hogy az elsődleges és a másodlagos beállítás csak akkor változik, ha a számítási feladat eltérő, ezért a gyorsítótárazott lekérdezések az optimális beállításokat használják, míg az új lekérdezések a számukra megfelelő új beállításokat választják.
DacFx
Mivel a ALTER DATABASE SCOPED CONFIGURATION
az Azure SQL Database új funkciója, az Azure SQL Managed Instance és az SQL Server (az SQL Server 2016-tól kezdve (13.x)) az adatbázis sémáját érinti, a séma exportálása (adatokkal vagy anélkül) nem importálható az SQL Server régebbi verzióiba, például az SQL Server 2012 -be (11.x) vagy az SQL Server 2014-be (12.x). Ha például egy DACPAC- vagy egy BACPAC- egy SQL Database-ből vagy egy SQL Server 2016-os (13.x) adatbázisból, amely ezt az új funkciót használta, nem importálható egy alacsonyabb szintű kiszolgálóra.
ELEVATE_ONLINE
Ez a beállítás csak a WITH (ONLINE = <syntax>)
támogató DDL-utasításokra vonatkozik. Az XML-indexekre nincs hatással.
ELEVATE_RESUMABLE
Ez a beállítás csak a WITH (RESUMABLE = <syntax>)
támogató DDL-utasításokra vonatkozik. Az XML-indexekre nincs hatással.
Metaadatok
A sys.database_scoped_configurations (Transact-SQL) rendszernézet információt nyújt az adatbázis hatókörön belüli konfigurációiról. Az adatbázis-hatókörű konfigurációs beállítások csak a sys.database_scoped_configurations
jelennek meg, mivel felülbírálják a kiszolgálószintű alapértelmezett beállításokat. A sys.configurations (Transact-SQL) rendszernézet csak a kiszolgálószintű beállításokat jeleníti meg.
Példák
Ezek a példák a ALTER DATABASE SCOPED CONFIGURATION
használatát mutatják be.
Egy. Engedély megadása
Ez a példa engedélyt ad a felhasználói Joe
ALTER DATABASE SCOPED CONFIGURATION
végrehajtásához.
GRANT ALTER ANY DATABASE SCOPED CONFIGURATION TO [Joe];
B. MAXDOP beállítása
Ez a példa a MAXDOP = 1 értékeket állítja be egy elsődleges adatbázishoz, a MAXDOP = 4-et pedig egy másodlagos adatbázishoz georeplikációs forgatókönyvben.
ALTER DATABASE SCOPED CONFIGURATION
SET MAXDOP = 1;
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = 4;
Ez a példa úgy állítja be a MAXDOP-t, hogy egy másodlagos adatbázis esetében ugyanaz legyen, mint az elsődleges adatbázishoz georeplikációs forgatókönyvben.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = PRIMARY;
C. LEGACY_CARDINALITY_ESTIMATION beállítása
Ez a példa LEGACY_CARDINALITY_ESTIMATION
állít be egy másodlagos adatbázis ON
georeplikációs forgatókönyvben.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = ON;
Ez a példa úgy állítja be a LEGACY_CARDINALITY_ESTIMATION
egy másodlagos adatbázishoz, mint az elsődleges adatbázishoz egy georeplikációs forgatókönyvben.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;
D. PARAMETER_SNIFFING beállítása
Ez a példa egy georeplikációs forgatókönyvben az elsődleges adatbázis OFF
PARAMETER_SNIFFING
állítja be.
ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;
Ez a példa PARAMETER_SNIFFING
állít be egy másodlagos adatbázis OFF
georeplikációs forgatókönyvben.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;
Ez a példa PARAMETER_SNIFFING
állít be a másodlagos adatbázishoz, mivel az elsődleges adatbázisban van georeplikációs forgatókönyvben.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = PRIMARY;
E. QUERY_OPTIMIZER_HOTFIXES beállítása
Állítsa QUERY_OPTIMIZER_HOTFIXES
egy elsődleges adatbázis ON
georeplikációs forgatókönyvben.
ALTER DATABASE SCOPED CONFIGURATION
SET QUERY_OPTIMIZER_HOTFIXES = ON;
F. Eljárásgyorsítótár törlése
Ez a példa törli az eljárásgyorsítótárat (csak elsődleges adatbázis esetén lehetséges).
ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE;
G. IDENTITY_CACHE beállítása
A következőkre vonatkozik: SQL Server (SQL Server 2017 (14.x)), Azure SQL Database és felügyelt Azure SQL-példány
Ez a példa letiltja az identitás-gyorsítótárat.
ALTER DATABASE SCOPED CONFIGURATION
SET IDENTITY_CACHE = OFF;
H. OPTIMIZE_FOR_AD_HOC_WORKLOADS beállítása
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Ez a példa lehetővé teszi, hogy a lefordított csomagcsomótár gyorsítótárban legyen tárolva, amikor egy köteg első alkalommal van lefordítva.
ALTER DATABASE SCOPED CONFIGURATION
SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;
Én. ELEVATE_ONLINE beállítása
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Ez a példa ELEVATE_ONLINE
FAIL_UNSUPPORTED
értékre állítja.
ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_ONLINE = FAIL_UNSUPPORTED;
J. ELEVATE_RESUMABLE beállítása
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Ez a példa ELEVATE_RESUMABLE
WHEN_SUPPORTED
értékre állítja.
ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_RESUMABLE = WHEN_SUPPORTED;
K. Lekérdezésterv törlése a terv gyorsítótárából
A következőkre vonatkozik: SQL Server (SQL Server 2019 (15.x)), Azure SQL Database és felügyelt Azure SQL-példány
Ez a példa töröl egy adott tervet az eljárásgyorsítótárból:
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;
L. Szüneteltetett időtartam beállítása
A következőkre vonatkozik: Azure SQL Database és felügyelt Azure SQL-példány
Ez a példa 60 percre állítja az újra felhasználható index szüneteltetett időtartamát.
ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60;
M. Naplókivonatok feltöltésének engedélyezése és letiltása
A következőkre vonatkozik: SQL Server (SQL Server 2022-től kezdve (16.x))
Ez a példa lehetővé teszi a főkönyv-kivonatok Azure-tárfiókba való feltöltését.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = 'https://mystorage.blob.core.windows.net';
Ez a példa letiltja a főkönyv-kivonatok feltöltését.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF;
További erőforrások
MAXDOP-erőforrások
- párhuzamosság foka
- Javaslatok és irányelvek az SQL Server "a párhuzamosság maximális foka" beállításához
LEGACY_CARDINALITY_ESTIMATION erőforrások
- számosság becslése (SQL Server)
- Lekérdezéstervek optimalizálása az SQL Server 2014 számosságbecslőjével
PARAMETER_SNIFFING erőforrások
QUERY_OPTIMIZER_HOTFIXES erőforrások
- nyomkövetési jelzők
- SQL Server lekérdezésoptimalizáló gyorsjavítás nyomkövetési jelzője 4199 karbantartási modell
ELEVATE_ONLINE erőforrások
online indexelési műveletekre vonatkozó irányelvek
ELEVATE_RESUMABLE erőforrások
online indexelési műveletekre vonatkozó irányelvek
Kapcsolódó tartalom
- sys.database_scoped_configurations
- sys.configurations
- Adatbázis- és fájlkatalógus nézetei (Transact-SQL)
- kiszolgálókonfigurációs beállítások (SQL Server)
- ALTER INDEX (Transact-SQL)
- CREATE INDEX (Transact-SQL)
- Javaslatok és irányelvek az SQL Server "a párhuzamosság maximális foka" beállításához
- Online indexműveletek működése
- Indexműveletek online
- intelligens lekérdezésfeldolgozás SQL-adatbázisokban
- memória visszajelzést ad
- számosságbecslési (CE) visszajelzési
- párhuzamosság (DOP) visszajelzési