Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2016 (13.x) i nowsze wersje
usługi Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL Database w usłudze Microsoft Fabric
Użyj tego polecenia, aby włączyć kilka ustawień konfiguracji bazy danych na poziomie pojedynczej bazy danych .
Important
Różne DATABASE SCOPED CONFIGURATION opcje są obsługiwane w różnych wersjach i platformach aparatu bazy danych SQL. W tym artykule opisano wszystkieDATABASE SCOPED CONFIGURATION opcje. Wersje, w których ma to zastosowanie, są zanotowane. Upewnij się, że używasz składni dostępnej w wersji usługi, z której korzystasz.
Następujące ustawienia są obsługiwane w usłudze Azure SQL Database, bazie danych SQL w usłudze Microsoft Fabric, usłudze Azure SQL Managed Instance i w programie SQL Server, zgodnie z instrukcjami w sekcji Argumenty:
- Wyczyść pamięć podręczną procedury.
- Ustaw parametr MAXDOP na zalecaną wartość (1, 2, ...) dla podstawowej bazy danych na podstawie tego, co działa najlepiej dla danego obciążenia, i ustaw inną wartość dla pomocniczych baz danych replik używanych przez zapytania raportowania. Aby uzyskać wskazówki dotyczące wybierania opcji MAXDOP, zapoznaj się z Konfiguracja serwera: maksymalny stopień równoległości.
- Ustaw model szacowania kardynalności optymalizatora zapytań niezależnie od bazy danych na poziom zgodności.
- Włącz lub wyłącz wąchanie parametrów na poziomie bazy danych.
- Włączanie lub wyłączanie poprawek optymalizacji zapytań na poziomie bazy danych.
- Włącz lub wyłącz pamięć podręczną tożsamości na poziomie bazy danych.
- Włączanie lub wyłączanie skompilowanego wycinku planu, który ma być przechowywany w pamięci podręcznej, gdy partia jest kompilowana po raz pierwszy.
- Włączanie lub wyłączanie zbierania statystyk wykonywania dla natywnie skompilowanych modułów Transact-SQL.
- Włącz lub wyłącz opcje online dla instrukcji DDL, które obsługują składnię
ONLINE =. - Włącz lub wyłącz wznawiane domyślnie opcje dla instrukcji DDL, które obsługują składnię
RESUMABLE =. - Włączanie lub wyłączanie inteligentnego przetwarzania zapytań w funkcjach baz danych SQL .
- Włączanie lub wyłączanie wymuszania przyspieszonego planu.
- Włączanie lub wyłączanie funkcji automatycznego tło globalnych tabel tymczasowych.
- Włącz lub wyłącz uproszczonej infrastruktury profilowania zapytań.
- Włącz lub wyłącz nowy komunikat o błędzie
String or binary data would be truncated. - Włącz lub wyłącz zbieranie ostatniego rzeczywistego planu wykonania w sys.dm_exec_query_plan_stats.
- Określ liczbę minut, przez które wstrzymana jest wstrzymana operacja indeksu wznowialnego, zanim zostanie automatycznie przerwana przez silnik bazy danych.
- Włącz lub wyłącz oczekiwanie na blokady z niskim priorytetem dla aktualizacji statystyk asynchronicznych.
- Włączanie lub wyłączanie przekazywania skrótów rejestru do usługi Azure Blob Storage.
- Ustaw domyślną wersję indeksu pełnego tekstu (
1lub2). - W usłudze Azure Synapse Analytics ustawia poziom zgodności bazy danych użytkownika.
Transact-SQL konwencje składni
Syntax
Składnia dla programów SQL Server, Azure SQL Database, SQL Database w usłudze Microsoft Fabric i Azure SQL Managed Instance:
ALTER DATABASE SCOPED CONFIGURATION
{
{ [ FOR SECONDARY ] SET <set_options> }
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]
< set_options > ::=
{
ACCELERATED_PLAN_FORCING = { ON | OFF }
| ALLOW_STALE_VECTOR_INDEX = { ON | OFF }
| ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
| BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
| BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| BATCH_MODE_ON_ROWSTORE = { ON | OFF }
| CE_FEEDBACK = { ON | OFF }
| DEFERRED_COMPILATION_TV = { ON | OFF }
| DOP_FEEDBACK = { ON | OFF }
| ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
| FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | OFF }
| FULLTEXT_INDEX_VERSION = <version>
| IDENTITY_CACHE = { ON | OFF }
| INTERLEAVED_EXECUTION_TVF = { ON | OFF }
| ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF }
| GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
| LAST_QUERY_PLAN_STATS = { ON | OFF }
| LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
| LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY }
| LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
| MAXDOP = { <value> | PRIMARY }
| MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
| OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
| OPTIMIZED_PLAN_FORCING = { ON | OFF }
| OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
| OPTIONAL_PARAMETER_OPTIMIZATION = { ON | OFF }
| PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
| PARAMETER_SNIFFING = { ON | OFF | PRIMARY }
| PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
| PREVIEW_FEATURES = { ON | OFF }
| QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }
| ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| TSQL_SCALAR_UDF_INLINING = { ON | OFF }
| VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
| XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
| XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
}
Składnia usługi Azure Synapse Analytics:
ALTER DATABASE SCOPED CONFIGURATION
{
SET <set_options>
}
[;]
< set_options > ::=
{
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}
Arguments
DLA POMOCNICZEJ
Określa ustawienia pomocniczych baz danych. Wszystkie pomocnicze bazy danych muszą mieć identyczne wartości.
CLEAR PROCEDURE_CACHE [ plan_handle ]
Czyści pamięć podręczną procedury (planu) dla bazy danych. To polecenie można uruchomić zarówno w podstawowych, jak i drugich.
Aby wyczyścić pojedynczy plan zapytania z pamięci podręcznej planu, określ uchwyt planu zapytania.
Dotyczy do: Określanie uchwytu planu zapytań jest dostępne w SQL Server 2019 (15.x) i nowszych, Azure SQL Database oraz Azure SQL Managed Instance.
USTAW opcje
ACCELERATED_PLAN_FORCING = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Umożliwia zoptymalizowany mechanizm wymuszania planu zapytań, który ma zastosowanie do wszystkich form wymuszania planu, takich jak plan wymuszania magazynu zapytań, automatyczne dostrajanielub wskazówki USE PLAN zapytania. Wartość domyślna to ON.
Note
Nie zaleca się wyłączania wymuszania przyspieszonego planu.
ALLOW_STALE_VECTOR_INDEX = { ON | WYŁĄCZ }
Dotyczy: Usługa Azure SQL Database i baza danych SQL w usłudze Microsoft Fabric
Obecnie w Azure SQL Database oraz bazie danych SQL w Microsoft Fabric, indeksy wektorowe sprawiają, że tabele są tylko do odczytu. Aby umożliwić zapisywanie tabeli, użyj ALLOW_STALE_VECTOR_INDEX konfiguracji skalograficznej bazy danych.
ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
GO
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';
Gdy ALLOW_STALE_VECTOR_INDEX = ONindeks wektorowy nie jest aktualizowany podczas wstawiania lub aktualizowania nowych danych w tabeli. Aby odświeżyć indeks wektorowy, musisz go odłożyć i odtworzyć.
Note
Opcja ALLOW_STALE_VECTOR_INDEX konfiguracji w skali bazy danych nie jest obecnie dostępna w SQL Server 2025 (17.x).
ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Jeśli włączysz aktualizacje statystyk asynchronicznych, włączenie tej konfiguracji spowoduje, że żądanie w tle zaktualizuje statystyki oczekiwania na blokadę Sch-M w kolejce o niskim priorytcie. To oczekiwanie pozwala uniknąć blokowania innych sesji w scenariuszach o wysokiej współbieżności. Aby uzyskać więcej informacji, zobacz AUTO_UPDATE_STATISTICS_ASYNC. Wartość domyślna to OFF.
BATCH_MODE_ADAPTIVE_JOINS = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Włącza lub wyłącza adaptacyjne sprzężenia w trybie wsadowym w zakresie bazy danych, zachowując zgodność bazy danych na poziomie 140 i wyższym. Wartość domyślna to ON. Sprzężenia adaptacyjne trybu wsadowego to funkcja, która jest częścią inteligentnego przetwarzania zapytań wprowadzonym w programie SQL Server 2017 (14.x).
W przypadku zgodności z bazą danych poziom 130 lub niższych wersji ta konfiguracja w zakresie bazy danych nie ma żadnego wpływu.
BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Włącza lub wyłącza przekazywanie opinii o pamięci w trybie wsadowym w zakresie bazy danych przy zachowaniu zgodności bazy danych na poziomie 140 i wyższym. Wartość domyślna to ON. Opinia o udzielaniu opinii dotyczących pamięci trybu wsadowego wprowadzonych w programie SQL Server 2017 (14.x) jest częścią inteligentnego zestawu funkcji przetwarzania zapytań. Aby uzyskać więcej informacji, zobacz Memory grant feedback.
W przypadku zgodności z bazą danych poziom 130 lub niższych wersji ta konfiguracja w zakresie bazy danych nie ma żadnego wpływu.
BATCH_MODE_ON_ROWSTORE = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Włącza lub wyłącza tryb wsadowy w magazynie wierszy w zakresie bazy danych, zachowując zgodność bazy danych na poziomie 150 i wyższym. Wartość domyślna to ON. Tryb wsadowy w magazynie wierszy to funkcja, która jest częścią inteligentnego przetwarzania zapytań rodziny funkcji.
W przypadku zgodności z bazą danych poziom 140 lub niższych wersji ta konfiguracja o określonym zakresie bazy danych nie ma wpływu.
CE_FEEDBACK = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Opinie CE dotyczą postrzeganych problemów regresji, które wynikają z nieprawidłowych założeń modelu CE podczas korzystania z domyślnego CE (CE120 lub wyższego). Opinie CE mogą selektywnie używać różnych założeń modelu. Wymaga włączenia magazynu zapytań i w trybie READ_WRITE. Aby uzyskać więcej informacji, zobacz ocena kardynalności (CE) feedback. Wartość domyślna to ON w poziomie zgodności bazy danych 160 lub nowszym.
DEFERRED_COMPILATION_TV = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Włącza lub wyłącza kompilację odroczonej zmiennej tabeli w zakresie bazy danych przy zachowaniu zgodności bazy danych na poziomie 150 lub wyższym. Wartość domyślna to ON. Kompilacja odroczona zmiennej tabeli to funkcja, która jest częścią rodziny funkcji inteligentnego przetwarzania zapytań .
W przypadku zgodności z bazą danych poziom 140 lub niższych wersji ta konfiguracja o określonym zakresie bazy danych nie ma wpływu.
DOP_FEEDBACK = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Database, SQL Database w usłudze Microsoft Fabric, Azure SQL Managed Instance z programem SQL Server 2025 lub Always-up-to-dateupdate policy
Identyfikuje nieefektywność równoległości w przypadku powtarzających się zapytań na podstawie czasu, który upłynął i czeka. Jeśli użycie równoległości jest nieefektywne, opinia dop dop obniża dop do następnego wykonywania zapytania, z dowolnego skonfigurowanego dostawcy dop i sprawdza, czy pomaga. Wymaga włączenia magazynu zapytań i w trybie READ_WRITE. Aby uzyskać więcej informacji, zobacz informacje zwrotne na temat stopnia równoległości (DOP). Wartość domyślna to OFF.
ELEVATE_ONLINE = { WYŁĄCZ | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Umożliwia wybranie opcji, aby spowodować automatyczne podniesienie poziomu obsługiwanych operacji przez aparat do trybu online.
Ta opcja dotyczy tylko instrukcji DDL, które obsługują WITH (ONLINE = <syntax>). Nie ma to wpływu na indeksy XML.
Wartość domyślna to OFF, co oznacza, że operacje nie są podniesione do trybu online, chyba że określono w instrukcji .
sys.database_scoped_configurations odzwierciedla bieżącą wartość ELEVATE_ONLINE. Te opcje dotyczą tylko operacji obsługiwanych w trybie online. Ustawienie domyślne można zastąpić, przesyłając instrukcję z określoną opcją ONLINE.
FAIL_UNSUPPORTED
Ta wartość podnosi poziom wszystkich obsługiwanych operacji DDL do trybu ONLINE. Operacje, które nie obsługują wykonywania online, kończą się niepowodzeniem i zgłaszają błąd.
Dodawanie kolumny do tabeli jest operacją online w ogólnym przypadku. W niektórych scenariuszach, na przykład w przypadku dodawania kolumny bez wartości nullnie można dodać kolumny w trybie online. W takich przypadkach, jeśli FAIL_UNSUPPORTED jest ustawiona, operacja kończy się niepowodzeniem.
WHEN_SUPPORTED
Ta wartość podnosi poziom operacji obsługujących usługę ONLINE. Operacje, które nie obsługują trybu online, są uruchamiane w trybie offline.
Aby uzyskać więcej informacji, zobacz Wytyczne dotyczące operacji indeksowania online.
ELEVATE_RESUMABLE = { WYŁĄCZ | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Umożliwia wybranie opcji, aby spowodować automatyczne podniesienie poziomu obsługiwanych operacji przez aparat do wznowienia.
Ta opcja dotyczy tylko instrukcji DDL, które obsługują WITH (RESUMABLE = <syntax>). Nie ma to wpływu na indeksy XML.
Wartość domyślna to OFF, co oznacza, że operacje nie są podniesione do wznowienia, chyba że określono w instrukcji .
sys.database_scoped_configurations odzwierciedla bieżącą wartość ELEVATE_RESUMABLE. Te opcje dotyczą tylko operacji obsługiwanych w celu wznowienia. Ustawienie domyślne można zastąpić, przesyłając instrukcję z określoną opcją RESUMABLE.
FAIL_UNSUPPORTED
Ta wartość podnosi poziom wszystkich obsługiwanych operacji DDL do RESUMABLE. Operacje, które nie obsługują ponownego wykonywania, kończą się niepowodzeniem i zgłaszają błąd.
WHEN_SUPPORTED
Ta wartość podnosi poziom operacji, które obsługują RESUMABLE. Operacje, które nie obsługują wznawiania, są uruchamiane bez odpowiedzi.
Aby uzyskać więcej informacji, zobacz Wytyczne dotyczące operacji indeksowania online.
EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Określa, czy statystyki wykonywania funkcji zdefiniowanych przez użytkownika (UDF) są wyświetlane w widoku systemu sys.dm_exec_function_stats . W przypadku niektórych intensywnych obciążeń, które są skalowalne z dużą liczbą UDF, zbieranie statystyk wykonywania funkcji może spowodować zauważalne obciążenie związane z wydajnością. Możesz uniknąć tego obciążenia, ustawiając konfigurację EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS o zakresie bazy danych na OFFwartość . Wartość domyślna to ON.
FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Podczas rozwiązywania problemów z długotrwałymi zapytaniami przy użyciu profilowania statystyk wykonywania uproszczonego zapytania lub sys.dm_exec_query_statistics_xml widoku DMV program SQL Server generuje fragment XML programu Showplan zawierający FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTIONParameterRuntimeValueelement .
Important
Nie włączaj FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION opcji konfiguracji w zakresie bazy danych w środowisku produkcyjnym w sposób ciągły. Włącz ją tylko w celach związanych z rozwiązywaniem problemów z ograniczonym czasem. Ta opcja konfiguracji o określonym zakresie bazy danych dodaje dodatkowe i prawdopodobnie znaczące obciążenie procesora CPU i pamięci, ponieważ program SQL Server tworzy fragment XML programu Showplan z informacjami o parametrach środowiska uruchomieniowego, niezależnie od tego, czy sys.dm_exec_query_statistics_xml infrastruktura profilu statystyk wykonywania zapytań dmV lub uproszczonego wykonywania zapytań jest włączona, czy nie.
FULLTEXT_INDEX_VERSION
Dotyczy do: SQL Server 2025 (17.x) i nowszych wersji, Azure SQL Database oraz Azure SQL Managed Instance
Ustawia pełną wersję indeksu tekstowego do użycia przy tworzeniu lub odbudowie indeksów. Ta konfiguracja ma zastosowanie tylko wtedy, gdy wydasz instrukcję CREATE FULLTEXT INDEX dla nowych indeksów lub instrukcję ALTER FULLTEXT CATALOG ... REBUILD , aby ponownie skompilować wszystkie indeksy w wykazie.
Na dzień SQL Server 2025 (17.x) dostępne wersje to:
| wersja | Comments |
|---|---|
1 |
Określa nowe i odbudowane indeksy wykorzystujące starszy filtr tekstu i komponenty wordbreaker z SQL Server 2022 (16.x) i wcześniejszych, dla przyszłych populacji i zapytań. Ponieważ te komponenty nie są już zawarte w SQL Server 2025 (17.x) i nowszych wersjach, muszą być ręcznie kopiowane ze starszej instancji. |
2 (ustawienie domyślne) |
Określa nowe i odbudowane indeksy wykorzystujące filtr pełnotekstowy i komponenty wordbreaker zawarte w SQL Server 2025 (17.x), dla przyszłych populacji i zapytań. |
Konfiguracja FULLTEXT_INDEX_VERSION steruje również składnikami pełnotekstowymi następującymi systemowymi procedurami składowanymi, widokami i funkcjami oraz raportami i użyciem:
- sp_help_fulltext_system_components
- sys.fulltext_languages
- sys.fulltext_document_types
- sys.dm_fts_parser
IDENTITY_CACHE = { ON | WYŁ. }
Dotyczy: SQL Server 2017 (14.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Włącza lub wyłącza pamięć podręczną tożsamości na poziomie bazy danych. Wartość domyślna to ON. Buforowanie tożsamości zwiększa INSERT wydajność tabel z kolumnami tożsamości. Aby uniknąć przerw w wartościach kolumny tożsamości po nieoczekiwanym ponownym uruchomieniu serwera lub w trybie failover na serwerze pomocniczym, wyłącz IDENTITY_CACHE tę opcję. Ta opcja jest podobna do istniejącej flagi śledzenia 272, ale jest ustawiona na poziomie bazy danych.
Tę opcję można ustawić tylko dla repliki podstawowej. Aby uzyskać więcej informacji, zobacz kolumny tożsamości.
INTERLEAVED_EXECUTION_TVF = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Włącza lub wyłącza przeplatane wykonywanie dla funkcji z wieloma instrukcjami w zakresie bazy danych lub instrukcji przy zachowaniu zgodności z bazą danych na poziomie 140 lub wyższym. Wartość domyślna to ON. Przeplatane wykonywanie to funkcja, która jest częścią adaptacyjnego przetwarzania zapytań w usłudze Azure SQL Database. Aby uzyskać więcej informacji, zobacz Inteligentne przetwarzanie zapytań.
W przypadku zgodności z bazą danych poziom 130 lub niższych wersji ta konfiguracja w zakresie bazy danych nie ma żadnego wpływu.
Tylko w programie SQL Server 2017 (14.x) opcja INTERLEAVED_EXECUTION_TVF miała starszą nazwę DISABLE_INTERLEAVED_EXECUTION_TVF.
ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | WYŁ.}
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Pozwala kontrolować, czy predykat bezpieczeństwa na poziomie wiersza (RLS) wpływa na kardynałność planu wykonania całego zapytania użytkownika. Wartość domyślna to OFF. Gdy ISOLATE_SECURITY_POLICY_CARDINALITY jest włączony, predykat RLS nie wpływa na wytrzymałość planu realizacji. Rozważmy na przykład tabelę zawierającą 1 milion wierszy i predykat zabezpieczeń na poziomie wiersza, który ogranicza wynik do 10 wierszy dla określonego użytkownika wystawiającego zapytanie. W przypadku ustawienia konfiguracji o określonym zakresie bazy danych na wartość OFF szacowanie kardynalności tego predykatu wynosi 10. Gdy ta konfiguracja w zakresie bazy danych jest włączona, optymalizacja zapytań szacuje 1 milion wierszy. Zaleca się używanie wartości domyślnej dla większości obciążeń.
GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Ustawia funkcję automatycznego tło dla globalnych tabel tymczasowych. Wartość domyślna to ON, co oznacza, że globalne tabele tymczasowe są automatycznie porzucane, gdy nie są używane przez żadną sesję lub zadanie. W przypadku ustawienia na OFFwartość można jawnie usunąć tylko globalne tabele tymczasowe przy użyciu DROP TABLE instrukcji lub są one automatycznie porzucane po ponownym uruchomieniu usługi.
- W przypadku pojedynczych baz danych i elastycznych pul usługi Azure SQL Database ustaw tę opcję w poszczególnych bazach danych użytkowników.
- W programie SQL Server i usłudze Azure SQL Managed Instance ustaw tę opcję w obszarze
tempdb. Ustawienie w poszczególnych bazach danych użytkowników nie ma żadnego wpływu.
LAST_QUERY_PLAN_STATS = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Umożliwia włączenie lub wyłączenie zbierania ostatnich statystyk planu zapytania (odpowiednik rzeczywistego planu wykonania) w sys.dm_exec_query_plan_stats. Wartość domyślna to OFF.
LEDGER_DIGEST_STORAGE_ENDPOINT = { <ciąg adresu URL punktu końcowego> | WYŁ. }
Dotyczy do: SQL Server 2022 (16.x) i późniejszych wersji, Azure SQL Database
Włącza lub wyłącza przekazywanie skrótów rejestru do usługi Azure Blob Storage. Aby włączyć przekazywanie skrótów rejestru, określ punkt końcowy konta usługi Azure Blob Storage. Aby wyłączyć przekazywanie skrótów rejestru, ustaw wartość opcji na OFF. Wartość domyślna to OFF.
LEGACY_CARDINALITY_ESTIMATION = { WŁĄCZONO | WYŁĄCZ | PRIMARY }
Umożliwia ustawienie modelu szacowania kardynalności optymalizatora zapytań na program SQL Server 2012 i starszą wersję niezależnie od poziomu zgodności bazy danych. Wartość domyślna to OFF, która ustawia model szacowania kardynalności optymalizatora zapytań na podstawie poziomu zgodności bazy danych. Ustawienie LEGACY_CARDINALITY_ESTIMATION na ON jest równoważne włączeniu flagi śledzenia 9481.
- Aby ustawić tę opcję na poziomie zapytania, dodaj
QUERYTRACEONwskazówkę dotyczącą zapytania. - Aby ustawić tę opcję na poziomie zapytania w programie SQL Server 2016 (13.x) z dodatkiem Service Pack 1 lub nowszym, dodaj wskazówkę zapytaniaUSE HINT zamiast używać flagi śledzenia.
PRIMARY
Ta wartość jest prawidłowa tylko w elementach pomocniczych w bazie danych w lokalizacji podstawowej i określa, że ustawienie modelu szacowania kardynalności optymalizatora zapytań dla wszystkich pomocniczych jest wartością ustawioną dla elementu podstawowego. Jeśli konfiguracja w podstawowym modelu szacowania kardynalności optymalizatora zapytań ulegnie zmianie, wartość w sekundach zmienia się odpowiednio. podstawowy jest ustawieniem domyślnym dla secondaries.
Aby uzyskać więcej informacji, zobacz Szacowanie kardynalności (SQL Server).
LIGHTWEIGHT_QUERY_PROFILING = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Umożliwia włączenie lub wyłączenie uproszczonej infrastruktury profilowania zapytań. Uproszczona infrastruktura profilowania zapytań (LWP) zapewnia bardziej wydajne dane wydajności zapytań niż standardowe mechanizmy profilowania i jest domyślnie włączona. Wartość domyślna to ON.
MAXDOP = {<wartość> | PRIMARY }
<wartość>
Określa domyślny maksymalny stopień równoległości (MAXDOP) ustawienie, które powinno być używane dla instrukcji. Wartość 0 jest wartością domyślną i wskazuje, że zamiast tego jest używana konfiguracja serwera. MAXDOP w skali bazy danych nadpisuje (chyba że jest ustawiony na 0) zestaw max degree of parallelism na poziomie serwera o .sp_configure Wskazówki dotyczące zapytań nadal mogą zastąpić zakres bazy danych MAXDOP w celu dostosowania określonych zapytań, które wymagają innego ustawienia. Wszystkie te ustawienia są ograniczone przez zestaw MAXDOP dla grupy obciążenia.
Użyj opcji MAXDOP, aby ograniczyć liczbę procesorów do użycia w równoległym wykonywaniu planu. Program SQL Server uwzględnia równoległe plany wykonywania zapytań, operacji języka definicji danych indeksu (DDL), wstawiania równoległego, zmiany kolumny online, zbierania statystyk równoległych oraz populacji kursorów opartych na zestawie kluczy i statycznych.
Maksymalny stopień równoległości (MAXDOP) jest ustawiany na zadania. Nie jest to żądanie na ani limit zapytania. Oznacza to, że podczas równoległego wykonania zapytania pojedyncze żądanie może wygenerować wiele zadań, które są przypisywane do harmonogramu. Aby uzyskać więcej informacji, zobacz przewodnik dotyczący architektury wątków i zadań .
Aby ustawić tę opcję na poziomie instancji, zobacz Konfiguracja serwera: maksymalny stopień równoległości.
W usłudze Azure SQL Database konfiguracja o zakresie bazy danych MAXDOP dla nowych baz danych z jedną i elastyczną pulą jest domyślnie ustawiona na 8. Aby uzyskać więcej informacji i rekomendacji dotyczących optymalnego konfigurowania opcji MAXDOP w usłudze Azure SQL Database, zobacz Konfigurowanie opcji MAXDOP w usłudze Azure SQL Database.
- Aby ustawić tę opcję na poziomie zapytania, użyj
MAXDOPwskazówki dotyczącej zapytania. - Aby ustawić tę opcję na poziomie serwera, użyj opcji konfiguracji serweramaksymalnego stopnia równoległości (MAXDOP).
- Aby ustawić tę opcję na poziomie obciążenia, użyj
MAX_DOPopcji konfiguracji grupy obciążeń Zarządca zasobów.
PRIMARY
Można ustawić tylko dla serwerów pomocniczych, podczas gdy baza danych w lokalizacji podstawowej i wskazuje, że konfiguracja jest jednym z zestawów podstawowych. Jeśli konfiguracja podstawowego zmienia się, wartość w sekundach zmienia się odpowiednio bez konieczności jawnego ustawienia wartości secondaries. podstawowy jest ustawieniem domyślnym dla secondaries.
Aby uzyskać więcej informacji, zobacz Stopień równoległości.
MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje oraz Azure SQL Database
Włącza lub wyłącza funkcję percentyla udzielania opinii o pamięci dla wszystkich wykonań zapytań rozpoczynających się w bazie danych. Wartość domyślna to ON. Aby uzyskać więcej informacji, zobacz Informacje zwrotne dotyczące przyznawania pamięci w trybie percentylu i trwałości.
W przypadku zgodności z bazą danych poziom 140 lub niższych wersji ta konfiguracja o określonym zakresie bazy danych nie ma wpływu.
MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Włącza lub wyłącza trwałość przekazywania opinii o pamięci dla wszystkich wykonań zapytań rozpoczynających się w bazie danych. Wartość domyślna to ON. Aby uzyskać więcej informacji, zobacz Informacje zwrotne dotyczące przyznawania pamięci w trybie percentylu i trwałości.
W przypadku zgodności z bazą danych poziom 140 lub niższych wersji ta konfiguracja o określonym zakresie bazy danych nie ma wpływu.
OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Włącza lub wyłącza przechowywanie skompilowanego wycinku planu w pamięci podręcznej, gdy partia jest kompilowana po raz pierwszy. Wartość domyślna to OFF. Po włączeniu konfiguracji OPTIMIZE_FOR_AD_HOC_WORKLOADS w zakresie bazy danych dla bazy danych baza danych przechowuje skompilowany wycink planu w pamięci podręcznej, gdy partia jest kompilowana po raz pierwszy. Wycinki planu używają mniejszej ilości pamięci niż pełny skompilowany plan. Jeśli partia jest kompilowana lub wykonywana ponownie, aparat bazy danych usuwa skompilowany fragment planu i zastępuje go pełnym skompilowanym planem.
OPTIMIZED_PLAN_FORCING = { ON | WYŁ. }
Dotyczy do: SQL Server 2022 (16.x) i późniejszych wersji, Azure SQL Database
Zoptymalizowany plan wymusza zmniejszenie nakładu pracy kompilacji na potrzeby powtarzania wymuszonych zapytań. Wartość domyślna to ON. Po wygenerowaniu planu wykonywania zapytania określone kroki kompilacji są przechowywane do ponownego użycia jako skrypt ponownego odtwarzania optymalizacji. Skrypt odtwarzania optymalizacji jest przechowywany jako część skompresowanego kodu XML programu showplan w Magazynu zapytań, w ukrytym atrybucie OptimizationReplay. Aby uzyskać więcej informacji, zobacz Zoptymalizowany plan wymuszania z użyciem magazynu zapytań.
OPTIMIZED_SP_EXECUTESQL = { ON | WYŁ. }
Dotyczy do: SQL Server 2025 (17.x), Azure SQL Database oraz bazy danych SQL w Microsoft Fabric
Włącza lub wyłącza zachowanie serializacji kompilacji sp_executesql po skompilowaniu partii. Wartość domyślna to OFF. Pozwolenie na partie, które wcześniej sp_executesql służyły do serializacji procesu kompilacji, zmniejsza efekt burz kompilacji. Burza kompilacji to sytuacja, w której wiele zapytań jest kompilowanych jednocześnie, co prowadzi do problemów z wydajnością i rywalizacji o zasoby.
Gdy OPTIMIZED_SP_EXECUTESQL to ON, pierwsze wykonanie kompilacji sp_executesql i wstawia skompilowany plan do pamięci podręcznej planu. Inne sesje przerywają oczekiwanie na blokadę kompilacji i ponownie użyj planu po udostępnieniu. To zachowanie sprawia, że sp_executesql działają jak obiekty, takie jak procedury składowane i wyzwalacze z perspektywy kompilacji.
OPTIONAL_PARAMETER_OPTIMIZATION = { ON | WYŁ. }
Dotyczy do: SQL Server 2025 (17.x), Azure SQL Database oraz bazy danych SQL w Microsoft Fabric
Włącza lub wyłącza funkcję opcjonalnej optymalizacji planu parametrów (OPPO). Wartość domyślna rozpoczyna ON się od poziomu zgodności bazy danych 170.
Po włączeniu optymalizacja planu adaptacyjnego generuje wiele planów wykonywania dla zapytań, które zawierają parametry opcjonalne. Te plany zwykle używają predykatów w postaci:
@p IS NULL AND @p1 IS NOT NULL@p IS NULL OR @p1 IS NOT NULL
Funkcja może wybrać bardziej optymalny plan w czasie wykonywania na podstawie tego, czy parametr ma NULLwartość , co zwiększa wydajność zapytań, które w przeciwnym razie mogą domyślnie nieoptymalnie zwiększyć wydajność dla takich wzorców zapytań.
PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Optymalizacja planu poufności parametrów (PSP) dotyczy scenariusza, w którym pojedynczy buforowany plan zapytania sparametryzowanego nie jest optymalny dla wszystkich możliwych wartości parametrów przychodzących. Taka sytuacja występuje w przypadku nieuniformowych dystrybucji danych. Wartość domyślna to ON począwszy od poziomu zgodności bazy danych 160. Aby uzyskać więcej informacji, zobacz optymalizacja planu poufnego parametru.
PARAMETER_SNIFFING = { ON | WYŁĄCZ | PRIMARY }
Włącza lub wyłącza sniffing parametru. Wartość domyślna to ON. Ustawienie PARAMETER_SNIFFING na OFF jest równoważne włączeniu flagi śledzenia 4136.
- Aby to osiągnąć na poziomie zapytania, zobacz wskazówki dotyczące zapytania
OPTIMIZE FOR UNKNOWN. - W programie SQL Server 2016 (13.x) SP1 i nowszych wersjach, aby to osiągnąć na poziomie zapytania, dostępna jest również wskazówka
USE HINTzapytania.
PRIMARY
Ta wartość jest prawidłowa tylko w sekundach, gdy baza danych znajduje się w bazie danych podstawowej. Określa, że wartość tego ustawienia dla wszystkich pomocniczych jest wartością ustawioną dla elementu podstawowego. Jeśli konfiguracja w podstawowym celu używania sniffing parametru zmienia się, wartość w sekundach zmienia się odpowiednio bez konieczności jawnego ustawienia wartości secondaries. PRIMARY to ustawienie domyślne dla pomocniczych.
Aby uzyskać więcej informacji na temat PARAMETER_SNIFFING, zobacz "I smell a parameter!".
PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Opcja PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES określa, jak długo (w minutach) indeks możliwy do wznowienia jest wstrzymany, zanim aparat bazy danych automatycznie go przerwa.
- Wartość domyślna jest ustawiona na jeden dzień (1440 minut).
- Minimalny czas trwania jest ustawiony na 1 minutę.
- Maksymalny czas trwania wynosi 71 582 minut.
- Po ustawieniu wartości na
0wartość operacja wstrzymana nigdy nie zostanie automatycznie przerwana.
Bieżąca wartość tej opcji jest wyświetlana w sys.database_scoped_configurations.
PREVIEW_FEATURES = { ON | WYŁ. }
Dotyczy: SQL Server 2025 (17.x), Azure SQL Database, SQL Database w usłudze Microsoft Fabric
Ostrzeżenie
Funkcje w wersji zapoznawczej nie są zalecane w środowiskach produkcyjnych.
Umożliwia korzystanie z funkcji w wersji zapoznawczej. Aby dowiedzieć się więcej, zapoznaj się z tematem Funkcje w wersji zapoznawczej w programie SQL Server.
Wartość domyślna to OFF.
Aby zapoznać się z przykładem korzystania z tej opcji, zobacz Używanie funkcji w wersji zapoznawczej w programie SQL Server.
QUERY_OPTIMIZER_HOTFIXES = { ON | WYŁĄCZ | PRIMARY }
Dotyczy do: SQL Server 2016 (13.x) i nowszych wersji, Azure SQL Database oraz Azure SQL Managed Instance
Włącza lub wyłącza poprawki optymalizacji zapytań niezależnie od poziomu zgodności bazy danych. Wartość domyślna to OFF, która wyłącza poprawki optymalizacji zapytań, które zostały wydane po najwyższym dostępnym poziomie zgodności dla określonej wersji (post-RTM). Ustawienie QUERY_OPTIMIZER_HOTFIXES na ON jest równoważne włączeniu flagi śledzenia 4199.
- Aby ustawić tę opcję na poziomie zapytania, dodaj
QUERYTRACEONwskazówkę dotyczącą zapytania. - Aby włączyć tę funkcję na poziomie zapytania w programie SQL Server 2016 (13.x) z dodatkiem Service Pack 1 lub nowszym, dodaj wskazówkę zapytania USE HINT zamiast flagi śledzenia.
Jeśli używasz QUERYTRACEON wskazówki w celu włączenia domyślnego optymalizatora zapytań programu SQL Server 7.0 do programu SQL Server 2012 (11.x) lub poprawek optymalizatora zapytań, tworzy warunek OR między wskazówką zapytania a ustawieniem konfiguracji o określonym zakresie bazy danych. Jeśli którakolwiek z opcji jest włączona, mają zastosowanie konfiguracje o określonym zakresie bazy danych.
PRIMARY
Ta wartość jest prawidłowa tylko w sekundach, gdy baza danych znajduje się w bazie danych podstawowej. Określa, że wartość tego ustawienia dla wszystkich pomocniczych jest wartością ustawioną dla elementu podstawowego. Jeśli konfiguracja podstawowego zmienia się, wartość w sekundach zmienia się odpowiednio bez konieczności jawnego ustawienia wartości secondaries. PRIMARY to ustawienie domyślne dla pomocniczych.
Aby uzyskać więcej informacji na QUERY_OPTIMIZER_HOTFIXEStemat programu , zobacz SQL Server query optimizer hotfix trace flag 4199 servicing model (Model obsługi śledzenia poprawek optymalizatora zapytań programu SQL Server 4199).
ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Włączanie lub wyłączanie informacji zwrotnych dotyczących pamięci trybu wiersza w zakresie bazy danych przy zachowaniu zgodności bazy danych na poziomie 150 lub wyższym. Wartość domyślna to ON. Przekazywanie opinii o pamięci trybu wiersza to funkcja, która jest częścią inteligentnego przetwarzania zapytań wprowadzonego w programie SQL Server 2017 (14.x). Tryb wiersza jest obsługiwany w programie SQL Server 2019 (15.x) i usłudze Azure SQL Database. Aby uzyskać więcej informacji na temat przekazywania opinii o udzielaniu pamięci, zobacz Memory grant feedback.
W przypadku zgodności z bazą danych poziom 140 lub niższych wersji ta konfiguracja o określonym zakresie bazy danych nie ma wpływu.
TSQL_SCALAR_UDF_INLINING = { ON | WYŁ. }
Dotyczy do: SQL Server 2019 (15.x) i nowszych wersji oraz Azure SQL Database (funkcja jest w podglądzie)
Włączanie lub wyłączanie wbudowanej funkcji zdefiniowanej przez użytkownika języka T-SQL w zakresie bazy danych przy zachowaniu zgodności bazy danych na poziomie 150 lub wyższym. Wartość domyślna to ON. Tworzenie wbudowanych funkcji zdefiniowanej przez użytkownika języka T-SQL jest częścią rodziny funkcji inteligentnego przetwarzania zapytań.
Note
W przypadku zgodności z bazą danych poziom 140 lub niższych wersji ta konfiguracja o określonym zakresie bazy danych nie ma wpływu.
VERBOSE_TRUNCATION_WARNINGS = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Włącz lub wyłącz nowy komunikat o błędzie String or binary data would be truncated. Wartość domyślna to ON. Program SQL Server 2019 (15.x) wprowadził bardziej szczegółowy komunikat o błędzie (2628) dla tego scenariusza:
String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.
Po ustawieniu wartości na ON na poziomie zgodności bazy danych 150 błędy obcinania zgłaszają nowy komunikat o błędzie 2628, aby zapewnić więcej kontekstu i uprościć proces rozwiązywania problemów.
Po ustawieniu wartości na OFF w ramach poziomu zgodności bazy danych 150 błędy obcinania zgłaszają poprzedni komunikat o błędzie 8152.
W przypadku zgodności bazy danych poziom 140 lub niższych wersji komunikat o błędzie 2628 pozostaje komunikatem o błędzie z wyrażeniem zgody, który wymaga włączenia flagi śledzenia 460 , a ta konfiguracja o określonym zakresie bazy danych nie ma wpływu.
XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | WYŁ. }
dotyczy: Azure SQL Database i Azure SQL Managed Instance
Włącza lub wyłącza zbieranie statystyk wykonywania na poziomie modułu dla natywnie skompilowanych modułów języka T-SQL w bieżącej bazie danych. Wartość domyślna to OFF. Statystyki wykonywania są odzwierciedlane w sys.dm_exec_procedure_stats.
Statystyki wykonywania na poziomie modułu dla natywnie skompilowanych modułów języka T-SQL są zbierane, jeśli ta opcja jest włączona, lub jeśli kolekcja statystyk jest włączona za pośrednictwem sp_xtp_control_proc_exec_stats.
XTP_QUERY_EXECUTION_STATISTICS = { ON | WYŁ. }
dotyczy: Azure SQL Database i Azure SQL Managed Instance
Włącza lub wyłącza zbieranie statystyk wykonywania na poziomie instrukcji dla natywnie skompilowanych modułów języka T-SQL w bieżącej bazie danych. Wartość domyślna to OFF. Statystyki wykonywania są odzwierciedlane w sys.dm_exec_query_stats i w magazynie zapytań .
Statystyki wykonywania na poziomie instrukcji dla natywnie skompilowanych modułów języka T-SQL są zbierane, jeśli ta opcja jest ON, lub jeśli zbieranie statystyk jest włączone za pośrednictwem sp_xtp_control_query_exec_stats.
Aby uzyskać więcej informacji na temat monitorowania wydajności natywnie skompilowanych modułów Transact-SQL, zobacz Monitorowanie wydajności natywnie skompilowanych procedur składowanych.
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
Applies to: Azure Synapse Analytics only
Ustawia Transact-SQL i zachowania przetwarzania zapytań, aby były zgodne z określoną wersją aparatu bazy danych. Po ustawieniu zapytania w tej bazie danych będą używane tylko zgodne funkcje. Na każdym poziomie zgodności obsługiwane są różne ulepszenia przetwarzania zapytań. Każdy poziom pochłania funkcjonalność poprzedniego poziomu. Poziom zgodności bazy danych jest domyślnie ustawiony na wartość AUTO po jej utworzeniu i jest to zalecane ustawienie. Poziom zgodności jest zachowywany nawet po wstrzymaniu/wznowieniu bazy danych, operacjach tworzenia kopii zapasowej/przywracania. Wartość domyślna to AUTO.
| Poziom zgodności | Comments |
|---|---|
AUTO |
Default. Aparat usługi Synapse Analytics automatycznie aktualizuje swoją wartość. Jest reprezentowany przez 0sys.database_scoped_configurations.
AUTO obecnie mapuje 30 poziom zgodności. |
10 |
Wykonuje ćwiczenia Transact-SQL i zachowania aparatu zapytań przed wprowadzeniem obsługi poziomu zgodności. |
20 |
Pierwszy poziom zgodności, który obejmuje zachowania Transact-SQL bramek i aparatu zapytań. Systemowa procedura składowana sp_describe_undeclared_parameters jest obsługiwana na tym poziomie. |
30 |
Obejmuje nowe zachowania aparatu zapytań. |
40 |
Obejmuje nowe zachowania aparatu zapytań. |
50 |
Na tym poziomie obsługiwany jest rozkład wielokolumnowy. Aby dowiedzieć się więcej, zobacz CREATE TABLE, CREATE TABLE AS SELECT i CREATE MATERIALIZED VIEW AS SELECT (TWORZENIE ZMATERIALIZOWANEGO WIDOKU JAKO SELECT). |
9000 |
Poziom zgodności wersji zapoznawczej. Dokumentacja specyficzna dla funkcji wywołuje funkcje w wersji zapoznawczej, które są obsługiwane na tym poziomie. Ten poziom obejmuje również możliwości najwyższego poziomu nie-9000. |
Permissions
Wymaga ALTER ANY DATABASE SCOPED CONFIGURATION w bazie danych. Użytkownik z uprawnieniami CONTROL do bazy danych może udzielić tego uprawnienia.
Remarks
Chociaż można skonfigurować pomocnicze bazy danych tak, aby miały różne ustawienia konfiguracji o określonym zakresie od ich podstawowej, wszystkie pomocnicze bazy danych używają tej samej konfiguracji. Nie można skonfigurować różnych ustawień dla poszczególnych sekund.
Wykonanie tej instrukcji powoduje wyczyszczenie pamięci podręcznej procedury w bieżącej bazie danych, co oznacza, że wszystkie zapytania muszą ponownie skompilować.
W przypadku zapytań o trzyczęściowe nazwy ustawienia bieżącego połączenia bazy danych dla zapytania są honorowane, z wyjątkiem modułów SQL (takich jak procedury, funkcje i wyzwalacze), które są kompilowane w innym kontekście bazy danych i dlatego używają opcji bazy danych, w której się znajdują. Podobnie podczas asynchronicznego aktualizowania statystyk ustawienie ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY dla bazy danych, w której znajdują się statystyki, jest uznawane.
Zdarzenie ALTER_DATABASE_SCOPED_CONFIGURATION jest dodawane jako zdarzenie DDL, które może służyć do uruchamiania wyzwalacza DDL. Jest to element podrzędny ALTER_DATABASE_EVENTS grupy wyzwalacza.
Podczas przywracania lub dołączania bazy danych ustawienia konfiguracji o określonym zakresie bazy danych są przenoszone i pozostają w bazie danych.
Począwszy od programu SQL Server 2019 (15.x), w usługach Azure SQL Database i Azure SQL Managed Instance niektóre nazwy opcji uległy zmianie:
-
DISABLE_INTERLEAVED_EXECUTION_TVFzmieniono naINTERLEAVED_EXECUTION_TVF -
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACKzmieniono naBATCH_MODE_MEMORY_GRANT_FEEDBACK -
DISABLE_BATCH_MODE_ADAPTIVE_JOINSzmieniono naBATCH_MODE_ADAPTIVE_JOINS
Sprawdzanie stanu opcji konfiguracji w zakresie bazy danych
Aby sprawdzić, czy konfiguracja jest włączona (1) lub wyłączona (0) w bazie danych, wykonaj zapytanie sys.database_scoped_configurations. Aby na przykład sprawdzić wartość parametru LEGACY_CARDINALITY_ESTIMATION, użyj zapytania w następujący sposób:
USE <user_database>;
SELECT
name,
value,
value_for_secondary
FROM sys.database_scoped_configurations
WHERE name = 'LEGACY_CARDINALITY_ESTIMATION';
Limitations
MAXDOP
Szczegółowe ustawienia mogą zastąpić ustawienia globalne, a zarządca zasobów może ograniczyć wszystkie inne ustawienia MAXDOP. Następująca logika ma zastosowanie do MAXDOP ustawienia:
Wskazówka zapytania zastępuje zarówno
sp_configure, jak i konfigurację w zakresie bazy danych. Jeśli grupa zasobów MAXDOP jest ustawiona dla grupy obciążeń:Jeśli wskazówka zapytania jest ustawiona na zero (0), jest nadksiążana przez ustawienie gubernatora zasobów.
Jeśli wskazówka zapytania nie jest równa zero (0), jest ograniczona przez ustawienie gubernatora zasobów.
Konfiguracja skalowana bazą danych (chyba że jest zerowa) nadpisuje
sp_configureto ustawienie, chyba że pojawi się wskazówka zapytania i jest ograniczona przez ustawienie gubernatora zasobów.Ustawienie gubernatora zasobów nadpisuje to
sp_configureustawienie.
Geo-replikowane odzyskiwanie po awarii (DR)
Pomocnicze bazy danych z możliwością odczytu (zawsze włączone grupy dostępności, usługa Azure SQL Database i bazy danych replikowane geograficznie w usłudze Azure SQL Managed Instance) używają wartości pomocniczej, sprawdzając stan bazy danych. Chociaż rekompilacja nie następuje podczas przełączania awaryjnego, a technicznie nowy główny ma zapytania korzystające z ustawień wtórnych, to ustawienia między głównym a wtórnym zmieniają się tylko wtedy, gdy obciążenie jest różne. W związku z tym buforowane zapytania używają optymalnych ustawień, podczas gdy nowe zapytania wybierają nowe ustawienia, które są odpowiednie dla nich.
DacFx
Funkcja ta ALTER DATABASE SCOPED CONFIGURATION jest dostępna w SQL Server 2016 (13.x) i nowszych, Azure SQL Database oraz Azure SQL Managed Instance. Ponieważ wpływa to na schemat bazy danych, eksporty schematu (z danymi lub bez) nie mogą być importowane do SQL Server 2014 (12.x) i wcześniejszych wersji. Na przykład eksport do bazy danych DACPAC lub BACPAC z bazy danych SQL Database lub programu SQL Server 2016 (13.x), która używa tej funkcji, nie można zaimportować do serwera na poziomie podrzędnym.
Metadata
Widok sys.database_scoped_configurations systemowy dostarcza informacji o konfiguracjach o skalacji w bazie danych. Opcje konfiguracji w skali bazy danych pojawiają się tylko w jako sys.database_scoped_configurations nadpisania domyślnych ustawień serwera. Widok sys.configurations system pokazuje tylko ustawienia dla całego serwera.
Examples
W tych przykładach pokazano użycie ALTER DATABASE SCOPED CONFIGURATION.
A. Udzielanie uprawnień
W tym przykładzie udzielono uprawnienia wymaganego do wykonania ALTER DATABASE SCOPED CONFIGURATION użytkownikowi Joe.
GRANT ALTER ANY DATABASE SCOPED CONFIGURATION TO [Joe];
B. Ustawianie opcji MAXDOP
W tym przykładzie parametr MAXDOP = 1 dla podstawowej bazy danych i parametr MAXDOP = 4 dla pomocniczej bazy danych w scenariuszu replikacji geograficznej.
ALTER DATABASE SCOPED CONFIGURATION
SET MAXDOP = 1;
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = 4;
Ten przykład ustawia MAXDOP dla bazy wtórnej tak, jak jest ustawiony dla bazy głównej w scenariuszu georeplikacji.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = PRIMARY;
C. Ustawianie LEGACY_CARDINALITY_ESTIMATION
W tym przykładzie LEGACY_CARDINALITY_ESTIMATION ustawia ON dla pomocniczej bazy danych w scenariuszu replikacji geograficznej.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = ON;
Ten przykład dotyczy LEGACY_CARDINALITY_ESTIMATION bazy wtórnej tak, jak znajduje się ona na bazie głównej w scenariuszu georeplikacji.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;
D. Ustawianie PARAMETER_SNIFFING
W poniższym przykładzie ustawiono wartość PARAMETER_SNIFFING dla OFF podstawowej bazy danych w scenariuszu replikacji geograficznej.
ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;
W poniższym przykładzie ustawiono PARAMETER_SNIFFING wartość dla OFF pomocniczej bazy danych w scenariuszu replikacji geograficznej.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;
W poniższym przykładzie ustawiono PARAMETER_SNIFFING pomocniczą bazę danych zgodną z podstawową bazą danych w scenariuszu replikacji geograficznej.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = PRIMARY;
E. Ustawianie QUERY_OPTIMIZER_HOTFIXES
Ustaw QUERY_OPTIMIZER_HOTFIXES na ON dla podstawowej bazy danych w scenariuszu replikacji geograficznej.
ALTER DATABASE SCOPED CONFIGURATION
SET QUERY_OPTIMIZER_HOTFIXES = ON;
F. Wyczyść pamięć podręczną procedury
Poniższy przykład czyści pamięć podręczną procedury. Pamięć podręczną procedury można wyczyścić tylko dla podstawowej bazy danych.
ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE;
G. Ustawianie IDENTITY_CACHE
Dotyczy: SQL Server 2017 (14.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Poniższy przykład wyłącza pamięć podręczną tożsamości.
ALTER DATABASE SCOPED CONFIGURATION
SET IDENTITY_CACHE = OFF;
H. Ustawianie OPTIMIZE_FOR_AD_HOC_WORKLOADS
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Ten przykład umożliwia przechowywanie skompilowanego wycinku planu w pamięci podręcznej po pierwszym skompilowaniu partii.
ALTER DATABASE SCOPED CONFIGURATION
SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;
I. Ustawianie ELEVATE_ONLINE
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
W tym przykładzie ustawiono ELEVATE_ONLINE na FAIL_UNSUPPORTED.
ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_ONLINE = FAIL_UNSUPPORTED;
J. Ustawianie ELEVATE_RESUMABLE
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
W tym przykładzie ustawiono ELEVATE_RESUMABLE na WHEN_SUPPORTED.
ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_RESUMABLE = WHEN_SUPPORTED;
K. Czyszczenie planu zapytania z pamięci podręcznej planu
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
W tym przykładzie wyczyszczysz określony plan z pamięci podręcznej procedury:
ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;
L. Ustaw wstrzymany czas trwania
dotyczy: Azure SQL Database i Azure SQL Managed Instance
W tym przykładzie ustawiono wstrzymany czas trwania indeksu z możliwością wznowienia do 60 minut.
ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60;
M. Włączanie i wyłączanie przekazywania skrótów rejestru
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje
Ten przykład umożliwia przekazywanie skrótów rejestru do konta usługi Azure Storage.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = 'https://mystorage.blob.core.windows.net';
W tym przykładzie wyłączono przekazywanie skrótów rejestru.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF;
N. Włącz funkcje w wersji zapoznawczej
Włącz możliwość korzystania z funkcji w wersji zapoznawczej.
ALTER DATABASE SCOPED CONFIGURATION
SET PREVIEW_FEATURES = ON;
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'PREVIEW_FEATURES';
O. Zezwalaj na przestarzałe indeksy wektorów
W bieżącym stanie wersji zapoznawczej usługi Azure SQL Database i bazy danych SQL Fabric indeksy wektorów tworzą tabele tylko do odczytu. Aby zapisać tabelę, włącz następującą konfigurację w zakresie bazy danych:
ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';
Gdy ALLOW_STALE_VECTOR_INDEX = ONindeks wektorowy nie jest aktualizowany podczas wstawiania lub aktualizowania nowych danych w tabeli. Aby odświeżyć indeks wektorowy, musisz go odłożyć i odtworzyć.
Ta opcja konfiguracji nie jest obecnie dostępna w SQL Server 2025 (17.x).
Treści powiązane
- sys.database_scoped_configurations
- sys.configurations
- baz danych i widoków wykazu plików (Transact-SQL)
- opcje konfiguracji serwera
- INDEKS ALTERA (Transact-SQL)
- STWÓRZ INDEKS (Transact-SQL)
- zalecenia i wytyczne dotyczące opcji konfiguracji "maksymalny stopień równoległości" w programie SQL Server
- Jak działają operacje indeksowania online
- Wykonywanie operacji indeksowania w trybie online
- inteligentne przetwarzanie zapytań w bazach danych SQL
-
Memory udziela opinii - szacowania kardynalności (CE) opinii
- stopień równoległości (DOP) opinii