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
To polecenie włącza kilka ustawień konfiguracji bazy danych na poziomie poszczególnych baz danych.
Important
Różne opcje DATABASE SCOPED CONFIGURATION są obsługiwane w różnych wersjach programu SQL Server lub usług platformy Azure. Na tej stronie opisano wszystkich opcjiDATABASE SCOPED CONFIGURATION. 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 Azure SQL Database, SQL w Microsoft Fabric, Azure SQL Managed Instance oraz w SQL Server, zgodnie z linią Apply to dla każdego ustawienia 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 funkcji inteligentnego przetwarzania zapytań.
- 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).
To ustawienie jest dostępne tylko w usłudze Azure Synapse Analytics.
- Ustawianie poziomu zgodności bazy danych użytkownika
Transact-SQL konwencje składni
Syntax
Składnia dla programu SQL Server, usługi Azure SQL Database i usługi 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 }
| OPTIONAL_PARAMETER_PLAN_OPTIMIZATION = { ON | OFF }
| ALLOW_STALE_VECTOR_INDEX = { ON | OFF }
| PREVIEW_FEATURES = { ON | OFF }
| FULLTEXT_INDEX_VERSION = <version>
}
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).
OCZYŚĆ PROCEDURE_CACHE [plan_handle]
Czyści pamięć podręczną procedury (planu) dla bazy danych i może być wykonywana zarówno na podstawowym, jak i pomocniczym.
Określ uchwyt planu zapytania, aby wyczyścić pojedynczy plan zapytania z pamięci podręcznej planu.
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.
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.
Możesz użyć 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.
Tip
Aby to osiągnąć na poziomie zapytania, użyj wskazówki
Aby to osiągnąć na poziomie serwera, użyj opcji maksymalnego stopnia równoległości (MAXDOP)konfiguracji serwera.
Aby to osiągnąć na poziomie obciążenia, użyj opcji konfiguracji grupy obciążeń MAX_DOPZarzą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.
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.
Tip
Aby to osiągnąć na poziomie zapytania, dodaj QUERYTRACEONwskazówki zapytania.
Aby osiągnąć to na poziomie zapytań w SQL Server 2016 (13.x) z wersjami Service Pack 1 i nowszymi, dodaj wskazówkę USEHINT zamiast używać flagi trace.
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.
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.
Tip
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 elementach pomocniczych, gdy baza danych znajduje się w bazie danych podstawowej i 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.
QUERY_OPTIMIZER_HOTFIXES = { ON | WYŁĄCZ | PRIMARY }
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 wprowadzeniu najwyższego dostępnego poziomu zgodności dla określonej wersji (post-RTM). Ustawienie tej ON wartości jest równoważne włączeniu flagi śledzenia 4199.
Dotyczy do: SQL Server 2016 (13.x) i nowszych wersji, Azure SQL Database oraz Azure SQL Managed Instance
Tip
Aby to osiągnąć na poziomie zapytania, dodaj QUERYTRACEONwskazówki zapytania.
Aby osiągnąć to na poziomie zapytań w SQL Server 2016 (13.x) z wersjami Service Pack 1 i nowszymi, dodaj wskazówkę USE HINT zamiast używać flagi trace.
PRIMARY
Ta wartość jest prawidłowa tylko w elementach pomocniczych, gdy baza danych znajduje się w bazie danych podstawowej i 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.
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 służy do poprawy wydajności operacji INSERT w tabelach z kolumnami tożsamości. Aby uniknąć przerw w wartościach kolumny tożsamości w przypadkach, gdy serwer jest nieoczekiwanie uruchamiany ponownie lub w trybie failover na serwerze pomocniczym, wyłącz opcję IDENTITY_CACHE. Ta opcja jest podobna do istniejącej flagi śledzenia 272, z tą różnicą, że można ją ustawić na poziomie bazy danych, a nie tylko na poziomie serwera.
Note
Tę opcję można ustawić tylko dla opcji PRIMARY. 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
Umożliwia włączenie lub wyłączenie wykonywania interleaved dla funkcji z wieloma instrukcjami w zakresie bazy danych lub instrukcji przy zachowaniu zgodności z bazą danych poziomu 140 i nowszych. 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ń.
Note
W przypadku poziomu zgodności bazy danych na poziomie 130 lub niższym 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.
BATCH_MODE_MEMORY_GRANT_FEEDBACK = { 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 informacji zwrotnych dotyczących pamięci trybu wsadowego w zakresie bazy danych przy zachowaniu zgodności bazy danych na poziomie 140 lub 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.
Note
W przypadku poziomu zgodności bazy danych na poziomie 130 lub niższym ta konfiguracja w zakresie bazy danych nie ma żadnego wpływu.
BATCH_MODE_ADAPTIVE_JOINS = { 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 sprzężeń adaptacyjnych trybu wsadowego w zakresie bazy danych przy zachowaniu zgodności 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).
Note
W przypadku poziomu zgodności bazy danych na poziomie 130 lub niższym ta konfiguracja w zakresie bazy danych nie ma żadnego 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)
Umożliwia włączenie lub wyłączenie 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 poziomu zgodności bazy danych na poziomie 140 lub niższym ta konfiguracja w zakresie bazy danych nie ma żadnego wpływu.
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. 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.
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.
Note
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 zakoń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.
Note
Ustawienie domyślne można zastąpić, przesyłając instrukcję z określoną opcją 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. Wartość domyślna to OFF, co oznacza, że nie można podnieść poziomu operacji 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.
FAIL_UNSUPPORTED
Ta wartość podnosi poziom wszystkich obsługiwanych operacji DDL do funkcji 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ą funkcje RESUMABLE. Operacje, które nie obsługują wznawiania, są uruchamiane bez zmian.
Note
Ustawienie domyślne można zastąpić, przesyłając instrukcję z określoną opcją RESUMABLE.
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 skompilowany wycink planu, który ma być przechowywany w pamięci podręcznej, gdy partia jest kompilowana po raz pierwszy. Wartość domyślna to OFF. Po włączeniu konfiguracji w zakresie bazy danych OPTIMIZE_FOR_AD_HOC_WORKLOADS dla bazy danych skompilowany wycink planu jest przechowywany w pamięci podręcznej, gdy partia jest kompilowana po raz pierwszy. Wycinki planu mają mniejsze zużycie pamięci w porównaniu z rozmiarem pełnego skompilowanego planu. Jeśli partia zostanie skompilowana lub wykonana ponownie, skompilowany wycink planu zostanie usunięty i zastąpiony pełnym skompilowanym planem.
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.
ROW_MODE_MEMORY_GRANT_FEEDBACK = { 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 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. Pamięć trybu wiersza udziela opinii funkcji, która jest częścią inteligentnego przetwarzania zapytań wprowadzone 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.
Note
W przypadku poziomu zgodności bazy danych na poziomie 140 lub niższym ta konfiguracja w zakresie bazy danych nie ma żadnego wpływu.
MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje oraz Azure SQL Database
Umożliwia wyłączenie percentyla udzielania opinii o pamięci dla wszystkich wykonań zapytań pochodzących z bazy danych. Wartość domyślna to ON. Aby uzyskać pełne informacje, zobacz Percentyl i pamięć trybu trwałości udziela opinii.
Note
W przypadku poziomu zgodności bazy danych na poziomie 140 lub niższym ta konfiguracja w zakresie bazy danych nie ma żadnego 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
Umożliwia wyłączenie trwałości przekazywania opinii przez pamięć dla wszystkich wykonań zapytań pochodzących z bazy danych. Wartość domyślna to ON. Aby uzyskać pełne informacje, zobacz Percentyl i pamięć trybu trwałości udziela opinii.
Note
W przypadku poziomu zgodności bazy danych na poziomie 140 lub niższym 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
Umożliwia włączenie lub wyłączenie trybu wsadowego w magazynie wierszy w zakresie bazy danych przy zachowaniu zgodności 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.
Note
W przypadku poziomu zgodności bazy danych na poziomie 140 lub niższym ta konfiguracja w zakresie bazy danych nie ma żadnego wpływu.
DEFERRED_COMPILATION_TV = { 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 kompilacji odroczonej zmiennej tabeli w zakresie bazy danych przy zachowaniu zgodności bazy danych na poziomie 150 i wyższym. Wartość domyślna to ON. Kompilacja odroczona zmiennej tabeli to funkcja, która jest częścią inteligentnego przetwarzania zapytań rodziny funkcji.
Note
W przypadku poziomu zgodności bazy danych na poziomie 140 lub niższym ta konfiguracja w zakresie bazy danych nie ma żadnego wpływu.
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.
GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | WYŁ. }
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Umożliwia ustawienie funkcji 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 OFFglobalne tabele tymczasowe można jawnie usunąć przy użyciu instrukcji DROP TABLE lub są automatycznie porzucane po ponownym uruchomieniu aparatu bazy danych.
- W przypadku pojedynczych baz danych i elastycznych pul usługi Azure SQL Database ta opcja jest ustawiana w poszczególnych bazach danych użytkowników.
- W programie SQL Server i usłudze Azure SQL Managed Instance ta opcja musi być ustawiona w
tempdb. Ustawienie w poszczególnych bazach danych użytkowników nie ma żadnego wpływu.
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.
VERBOSE_TRUNCATION_WARNINGS = { 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 nowego komunikatu o błędzie String or binary data would be truncated. Wartość domyślna to ON. Program SQL Server 2019 (15.x) wprowadza nowy, 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 poziomu zgodności bazy danych na poziomie 140 lub niższym komunikat o błędzie 2628 pozostaje komunikatem o błędzie zgody, który wymaga włączenia flagi śledzenia 460 , a ta konfiguracja o określonym zakresie bazy danych 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.
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 przed automatycznym przerwaniem przez aparat.
- Wartość domyślna jest ustawiona na jeden dzień (1440 minut)
- Minimalny czas trwania jest ustawiony na 1 minutę
- Maksymalny czas trwania to 71 582 minut
- Po ustawieniu wartości 0 wstrzymana operacja nigdy nie przerywa się automatycznie
Bieżąca wartość tej opcji jest wyświetlana w sys.database_scoped_configurations.
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ń.
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 są wykonywane 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. Jego wartość jest automatycznie aktualizowana przez aparat usługi Synapse Analytics i jest reprezentowana przez 0 w sys.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 ORAZ CREATE MATERIALIZED VIEW. |
9000 |
Poziom zgodności wersji zapoznawczej. Funkcje w wersji zapoznawczej dostępne na tym poziomie są wywoływane w dokumentacji specyficznej dla funkcji. Ten poziom obejmuje również możliwości najwyższego poziomu nie-9000. |
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
Umożliwia kontrolowanie, 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żna tego uniknąć, ustawiając konfigurację EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS w zakresie bazy danych na OFF. Wartość domyślna to ON.
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łączono aktualizację statystyk asynchronicznych, włączenie tej konfiguracji powoduje, że żądanie w tle aktualizuje statystyki oczekiwania na blokadę Sch-M w kolejce o niskim priorytecie, aby 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.
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. Dowiedz się więcej w Zoptymalizowany plan wymuszania z użyciem magazynu zapytań.
DOP_FEEDBACK = { ON | WYŁ. }
Dotyczy do: SQL Server 2022 (16.x) i nowszych wersji, Azure SQL Database, Azure SQL Managed Instance z SQL Server 2025 lub Always-up-to-date update policy, bazy SQL w Fabric
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 uznawane za 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.
CE_FEEDBACK = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Opinie ce rozwiązuje postrzegane problemy regresji wynikające z nieprawidłowych założeń modelu CE podczas korzystania z domyślnego CE (CE120 lub nowszego) i 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.
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. Jest to przypadek 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.
LEDGER_DIGEST_STORAGE_ENDPOINT = { <ciąg adresu URL punktu końcowego> | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje
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.
FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | WYŁ. }
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Database i Azure SQL Managed Instance
Powoduje wygenerowanie fragmentu XML programu Showplan za pomocą parametruRuntimeValue podczas korzystania z infrastruktury profilowania statystyk wykonywania uproszczonego zapytania lub wykonywania sys.dm_exec_query_statistics_xml widoku DMV podczas rozwiązywania problemów z długotrwałymi zapytaniami.
Important
Opcja konfiguracji w zakresie FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION bazy danych nie jest przeznaczona do ciągłego włączania w środowisku produkcyjnym, ale tylko w celach związanych z rozwiązywaniem problemów ograniczonych czasowo. Użycie tej opcji konfiguracji w zakresie bazy danych wprowadza dodatkowe i prawdopodobnie znaczące obciążenie procesora CPU i pamięci podczas tworzenia fragmentu XML programu Showplan z informacjami o parametrach środowiska uruchomieniowego, niezależnie od tego, czy sys.dm_exec_query_statistics_xml DMV, czy uproszczona infrastruktura profilu statystyk wykonywania zapytań jest włączona, czy nie.
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 jest kompilowana jednocześnie duża liczba zapytań, co prowadzi do problemów z wydajnością i rywalizacji o zasoby.
Gdy OPTIMIZED_SP_EXECUTESQL jest ON, pierwsze wykonanie sp_executesql kompiluje 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. Dzięki temu sp_executesql zachowywać się jak obiekty, takie jak procedury składowane i wyzwalacze z perspektywy kompilacji.
OPTIONAL_PARAMETER_PLAN_OPTIMIZATION = { ON | WYŁ. }
Dotyczy do: SQL Server 2025 (17.x)
Włącza lub wyłącza funkcję opcjonalnej optymalizacji planu parametrów (OPPO). Wartość domyślna to ON.
Po włączeniu optymalizacja planu adaptacyjnego generuje wiele planów wykonywania dla zapytań, które zawierają parametry opcjonalne. Plany te są zwykle wyrażane przy użyciu 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ń.
Wartość domyślna rozpoczyna ON się od poziomu zgodności bazy danych 170.
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';
Indeks wektorowy nie jest aktualizowany po wstawieniu lub aktualizacji 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).
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 działa tylko wtedy, gdy wydajesz CREATE FULLTEXT INDEX polecenie dla nowych indeksów lub ALTER FULLTEXT CATALOG ... REBUILD polecenie do odbudowy wszystkich indeksów w katalogu.
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 kontroluje FULLTEXT_INDEX_VERSION również, które pełne tekstowe komponenty są raportowane i używane przez następujące procedury, widoki i funkcje systemowe:
- sp_help_fulltext_system_components
- sys.fulltext_languages
- sys.fulltext_document_types
- sys.dm_fts_parser
PREVIEW_FEATURES = { ON | WYŁ. }
Dotyczy do: SQL Server 2025 (17.x)
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.
Ostrzeżenie
Funkcje w wersji zapoznawczej nie są zalecane w środowiskach produkcyjnych.
Permissions
Wymaga ALTER ANY DATABASE SCOPED CONFIGURATION w bazie danych. To uprawnienie można udzielić użytkownikowi z uprawnieniami CONTROL w bazie danych.
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, inne niż w przypadku 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 i jest elementem podrzędnym grupy wyzwalacza ALTER_DATABASE_EVENTS.
Gdy dana baza danych zostanie przywrócona lub dołączona, 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, możesz wykonać zapytanie sys.database_scoped_configurations. Aby na przykład sprawdzić wartość 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 i że zarządca zasobów może ograniczyć wszystkie inne ustawienia MAXDOP. Oto logika ustawiania MAXDOP :
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.
QUERY_OPTIMIZER_HOTFIXES
Jeśli QUERYTRACEON wskazówka jest używana do włączania domyślnego optymalizatora zapytań programu SQL Server 7.0 do programu SQL Server 2012 (11.x) lub poprawek optymalizatora zapytań, będzie to warunek OR między wskazówką zapytania a ustawieniem konfiguracji w zakresie bazy danych, co oznacza, że jeśli jest włączona, stosowane są konfiguracje o określonym zakresie bazy danych.
Geo-replikowane odzyskiwanie po awarii (DR)
Czytelne bazy danych pomocniczych (Always On Availability Groups, Azure SQL Database oraz Azure SQL Managed Instance geo-replicated databases) wykorzystują wartość drugorzędną poprzez sprawdzenie stanu 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. Dlatego zapytania w pamięci podręcznej stosują optymalne ustawienia, podczas gdy nowe wybierają nowe ustawienia odpowiednie dla siebie.
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 DACPAC lub BACPAC z bazy danych SQL lub SQL Server 2016 (13.x), która korzysta z tej funkcji, nie może zostać zaimportowany do serwera niższego poziomu.
ELEVATE_ONLINE
Ta opcja dotyczy tylko instrukcji DDL, które obsługują WITH (ONLINE = <syntax>). Nie ma to wpływu na indeksy XML.
ELEVATE_RESUMABLE
Ta opcja dotyczy tylko instrukcji DDL, które obsługują WITH (RESUMABLE = <syntax>). Nie ma to wpływu na indeksy XML.
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. Udziel uprawnienia
W tym przykładzie udzielono uprawnień wymaganych do wykonania ALTER DATABASE SCOPED CONFIGURATION dla użytkownika 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 tym przykładzie ustawiono PARAMETER_SNIFFING na OFF dla podstawowej bazy danych w scenariuszu replikacji geograficznej.
ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;
W tym przykładzie PARAMETER_SNIFFING ustawia OFF dla pomocniczej bazy danych w scenariuszu replikacji geograficznej.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;
Ten przykład dotyczy PARAMETER_SNIFFING bazy wtórnej tak, jak znajduje się ona na bazie głównej w scenariuszu georeplikacji.
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
W tym przykładzie wyczyszczysz pamięć podręczną procedury (możliwe 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
W tym przykładzie wyłączono 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. Pozwól, by indeks wektorowy stał się nieaktualny
W Azure SQL i Fabric SQL, w obecnym stanie Public Podgląd, indeksy wektorowe sprawiają, że tabele są tylko do odczytu. Aby umożliwić zapisywanie tabeli, należy umożliwić następującą konfigurację skalofikowaną bazą danych:
ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';
Indeks wektorowy nie jest aktualizowany po wstawieniu lub aktualizacji 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).
Dodatkowe zasoby
Zasoby MAXDOP
LEGACY_CARDINALITY_ESTIMATION zasoby
- szacowanie kardynalności (SQL Server)
- optymalizowanie planów zapytań przy użyciu narzędzia do szacowania kardynalności programu SQL Server 2014
PARAMETER_SNIFFING zasoby
QUERY_OPTIMIZER_HOTFIXES zasoby
- Ustawianie flag śledzenia za pomocą funkcji TRACEON DBCC
- flaga śledzenia poprawek optymalizatora programu SQL Server 4199
ELEVATE_ONLINE zasoby
Wskazówki dotyczące operacji indeksowania w trybie online
ELEVATE_RESUMABLE zasoby
Wskazówki dotyczące operacji indeksowania w trybie online
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