Udostępnij za pośrednictwem


ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Database w usłudze Microsoft Fabric

To polecenie włącza kilka ustawień konfiguracji bazy danych na poziomie poszczególnych baz danych.

Ważny

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 używanej wersji usługi.

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, jak wskazano w sekcji Dotyczy wiersza 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 Konfigurowanie maksymalnego stopnia równoległości Opcji konfiguracji serwera.
  • 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 wstrzymania operacji indeksu, którą można wstrzymać, zanim zostanie automatycznie przerwana przez aparat 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.

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

Składnia

-- Syntax for SQL Server, Azure SQL Database and Azure SQL Managed Instance

ALTER DATABASE SCOPED CONFIGURATION
{
    { [ FOR SECONDARY] SET <set_options>}
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]

< set_options > ::=
{
    MAXDOP = { <value> | PRIMARY}
    | LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY}
    | PARAMETER_SNIFFING = { ON | OFF | PRIMARY}
    | QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY}
    | IDENTITY_CACHE = { ON | OFF }
    | INTERLEAVED_EXECUTION_TVF = { ON | OFF }
    | BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
    | TSQL_SCALAR_UDF_INLINING = { ON | OFF }
    | ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
    | XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
    | XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
    | ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
    | MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
    | BATCH_MODE_ON_ROWSTORE = { ON | OFF }
    | DEFERRED_COMPILATION_TV = { ON | OFF }
    | ACCELERATED_PLAN_FORCING = { ON | OFF }
    | GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
    | LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
    | VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
    | LAST_QUERY_PLAN_STATS = { ON | OFF }
    | PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
    | ISOLATE_SECURITY_POLICY_CARDINALITY  = { ON | OFF }
    | EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
    | ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
    | OPTIMIZED_PLAN_FORCING = { ON | OFF }
    | DOP_FEEDBACK = { ON | OFF }
    | CE_FEEDBACK = { ON | OFF }
    | PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
    | LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
    | OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
}

Ważny

Począwszy od programu SQL Server 2019 (15.x), w usłudze Azure SQL Database i usłudze Azure SQL Managed Instance niektóre nazwy opcji uległy zmianie:

  • DISABLE_INTERLEAVED_EXECUTION_TVF zmieniono na INTERLEAVED_EXECUTION_TVF
  • DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK zmieniono na BATCH_MODE_MEMORY_GRANT_FEEDBACK
  • DISABLE_BATCH_MODE_ADAPTIVE_JOINS zmieniono na BATCH_MODE_ADAPTIVE_JOINS
-- Syntax for Azure Synapse Analytics

ALTER DATABASE SCOPED CONFIGURATION
{
    SET <set_options>
}
[;]

< set_options > ::=
{
    DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}

Argumenty

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 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: Określanie dojścia planu zapytań jest dostępna od programu SQL Server 2019 (15.x), w usłudze Azure SQL Database i usłudze 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. 0 jest wartością domyślną i wskazuje, że zamiast tego zostanie użyta konfiguracja serwera. Parametr MAXDOP w zakresie bazy danych zastępuje (chyba że ustawiono wartość 0) maksymalny stopień równoległości ustawiony na poziomie serwera przez 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ążeń .

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.

Nuta

Maksymalny stopień równoległości (MAXDOP) jest ustawiany na zadania. Nie jest to żądanie ani limit zapytania. Oznacza to, że podczas równoległego wykonywania zapytania pojedyncze żądanie może zduplikować wiele zadań przypisanych do harmonogramu. Aby uzyskać więcej informacji, zobacz przewodnik po architekturze wątków i zadań .

Aby ustawić tę opcję na poziomie wystąpienia, zobacz Konfigurowanie maksymalnego stopnia równoległości Opcji konfiguracji serwera.

Nuta

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. Parametr MAXDOP można skonfigurować dla każdej bazy danych zgodnie z opisem w bieżącym artykule. Aby uzyskać zalecenia dotyczące optymalnego konfigurowania opcji MAXDOP, zobacz sekcję Dodatkowe zasoby.

Napiwek

Aby to osiągnąć na poziomie zapytania, użyj wskazówkiMAXDOP.
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.

PODSTAWOWY

Można ustawić tylko dla serwerów pomocniczych, podczas gdy baza danych w bazie danych w lokalizacji podstawowej i wskazuje, że konfiguracja będzie jedyną ustawioną dla podstawowej bazy danych. Jeśli konfiguracja podstawowej zmienia się, wartość w sekundach zmieni się odpowiednio bez konieczności jawnego ustawienia wartości secondaries. podstawowy jest ustawieniem domyślnym dla secondaries.

LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | 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 Trace Flag 9481.

Napiwek

Aby to osiągnąć na poziomie zapytania, dodaj QUERYTRACEONwskazówki zapytania. Począwszy od programu SQL Server 2016 (13.x) SP1, aby to osiągnąć na poziomie zapytania, dodaj wskazówkę USE HINT zamiast używać flagi śledzenia.

PODSTAWOWY

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 będzie wartością ustawioną dla elementu podstawowego. Jeśli konfiguracja w podstawowym modelu szacowania kardynalności optymalizatora zapytań ulegnie zmianie, wartość w sekundach zmieni się odpowiednio. podstawowy jest ustawieniem domyślnym dla secondaries.

PARAMETER_SNIFFING = { ON | OFF | PRIMARY }

Włącza lub wyłącza sniffing parametru. Wartość domyślna to WŁĄCZONE. Ustawienie ustawienia PARAMETER_SNIFFING na wartość OFF jest równoważne włączeniu flagi śledzenia 4136.

Napiwek

Aby to osiągnąć na poziomie zapytania, zobacz OPTIMIZE FOR UNKNOWNquery hint (Optymalizowanie pod kątem nieznanychzapytań). Począwszy od programu SQL Server 2016 (13.x) z dodatkiem SP1, aby to osiągnąć na poziomie zapytania, dostępna jest również WSKAZÓWKAwskazówki dotyczącej zapytań.

PODSTAWOWY

Ta wartość jest prawidłowa tylko w elementach pomocniczych w bazie danych w bazie danych podstawowej i określa, że wartość tego ustawienia dla wszystkich pomocniczych będzie wartością ustawioną dla elementu podstawowego. Jeśli konfiguracja na serwerze podstawowym do używania sniffing parametru zmieni się, wartość w secondaries zmieni się odpowiednio bez konieczności jawnego ustawienia wartości secondaries. PRIMARY to ustawienie domyślne dla pomocniczych.

QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | 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 wartości na wartość ON jest równoważne włączeniu trace flagi 4199.

Dotyczy: PROGRAMU SQL Server (począwszy od programu SQL Server 2016 (13.x)), usługi Azure SQL Database i usługi Azure SQL Managed Instance

Napiwek

Aby to osiągnąć na poziomie zapytania, dodaj QUERYTRACEONwskazówki zapytania. Począwszy od programu SQL Server 2016 (13.x) SP1, aby to osiągnąć na poziomie zapytania, dodaj wskazówkę dotyczącą zapytania USE HINT zamiast używać flagi śledzenia.

PODSTAWOWY

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: PROGRAMU SQL Server (począwszy od programu SQL Server 2017 (14.x)), usługi Azure SQL Database i usługi 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 Trace Flag 272, z tą różnicą, że można ją ustawić na poziomie bazy danych, a nie tylko na poziomie serwera.

Nuta

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: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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ń.

Nuta

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: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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.

Nuta

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: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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).

Nuta

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: SQL Server (począwszy od programu SQL Server 2019 (15.x)) i usługi Azure SQL Database (funkcja jest dostępna w wersji zapoznawczej)

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ń.

Nuta

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 = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

Dotyczy: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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 zostaną podniesione do trybu online, chyba że określono w instrukcji . sys.database_scoped_configurations odzwierciedla bieżącą wartość ELEVATE_ONLINE. Te opcje będą stosowane tylko do 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.

Nuta

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 null, nie 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, zostaną uruchomione w trybie offline.

Nuta

Ustawienie domyślne można zastąpić, przesyłając instrukcję z określoną opcją ONLINE.

ELEVATE_RESUMABLE= { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

Dotyczy: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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 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.

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.

Nuta

Ustawienie domyślne można zastąpić, przesyłając instrukcję z określoną opcją RESUMABLE.

OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | WYŁ. }

Dotyczy: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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 będzie przechowywany w pamięci podręcznej, gdy partia zostanie skompilowana 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 włączona, lub jeśli kolekcja statystyk jest włączona 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: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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.

Nuta

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 (począwszy od programu SQL Server 2022 (16.x)), 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.

Nuta

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 (począwszy od programu SQL Server 2022 (16.x)), usługi Azure SQL Database i usługi 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.

Nuta

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: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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.

Nuta

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: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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.

Nuta

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 (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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.

Nuta

Nie zaleca się wyłączania wymuszania przyspieszonego planu.

GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | WYŁ. }

Dotyczy: 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ę. Po ustawieniu opcji WYŁ. globalne tabele tymczasowe muszą zostać jawnie porzucone przy użyciu instrukcji DROP TABLE lub zostaną automatycznie porzucone po ponownym uruchomieniu serwera.

  • W przypadku pojedynczych baz danych i elastycznych pul usługi Azure SQL Database tę opcję można ustawić w poszczególnych bazach danych użytkowników serwera usługi SQL Database.
  • W programie SQL Server i usłudze Azure SQL Managed Instance ta opcja jest ustawiona w tempdb, a ustawienie poszczególnych baz danych użytkowników nie ma wpływu.

LIGHTWEIGHT_QUERY_PROFILING = { ON | WYŁ. }

Dotyczy: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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 opcji WŁ. 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 opcji WYŁ. w obszarze poziom zgodności bazy danych 150 błędy obcinania zgłaszają poprzedni komunikat o błędzie 8152.

W przypadku zgodności bazy danych na poziomie 140 lub niższym komunikat o błędzie 2628 pozostaje komunikatem o błędzie, który wymaga włączenia flagi śledzenia 460, a ta konfiguracja o zakresie bazy danych nie ma żadnego wpływu.

LAST_QUERY_PLAN_STATS = { ON | WYŁ. }

Dotyczy: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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 (począwszy od programu SQL Server 2022 (16.x)), usługi Azure SQL Database i usługi 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 zostanie automatycznie przerwana

Bieżąca wartość tej opcji jest wyświetlana w sys.database_scoped_configurations.

ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | WYŁ.}

Dotyczy: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi Azure SQL Managed Instance

Umożliwia kontrolowanie, czy predykat zabezpieczeń Row-Level zabezpieczeń (RLS) ma wpływ na kardynalność planu wykonywania ogólnego zapytania użytkownika. Wartość domyślna to OFF. Gdy ISOLATE_SECURITY_POLICY_CARDINALITY jest włączona, predykat zabezpieczeń na poziomie wiersza nie ma wpływu na kardynalność planu wykonywania. 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 będzie mieć wartość 10. Gdy ta konfiguracja w zakresie bazy danych jest włączona, optymalizacja zapytań szacuje 1 milion wierszy. Zaleca się użycie wartości domyślnej dla większości obciążeń.

DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }

Dotyczy tylko: tylko usługi Azure Synapse Analytics

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 Komentarze
AUTO Domyślny. Jego wartość jest automatycznie aktualizowana przez aparat usługi Synapse Analytics i jest reprezentowana przez 0 w sys.database_scoped_configurations. Funkcja AUTO jest obecnie mapowania na poziom zgodności 30.
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 Dystrybucja wielokolumna jest obsługiwana na tym poziomie. Aby dowiedzieć się więcej, zobacz CREATE TABLE, CREATE TABLE AS SELECT and 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 spoza 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: PROGRAMU SQL Server (począwszy od programu SQL Server 2022 (16.x)), usługi Azure SQL Database i wystąpienia zarządzanego Azure SQL

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: SQL Server (począwszy od programu SQL Server 2022 (16.x)), 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: SQL Server (począwszy od programu SQL Server 2022 (16.x)), Azure SQL Database

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 degrees of Parallelism (DOP) feedback. Wartość domyślna to OFF.

CE_FEEDBACK = { ON | WYŁ. }

Dotyczy: SQL Server (począwszy od programu SQL Server 2022 (16.x)), usługi Azure SQL Database i usługi 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 (począwszy od programu SQL Server 2022 (16.x)), usługi Azure SQL Database i usługi 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 (począwszy od programu SQL Server 2022 (16.x))

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 WYŁ. Wartość domyślna to WYŁĄCZONE.

FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | WYŁ. }

Dotyczy: PROGRAMU SQL Server (począwszy od programu SQL Server 2022 (16.x)), usługi Azure SQL Database i wystąpienia zarządzanego Azure SQL

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.

Ważny

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 o zakresie bazy danych spowoduje wprowadzenie dodatkowych i prawdopodobnie znaczących obciążeń związanych z procesorem CPU i pamięcią, ponieważ utworzymy fragment XML programu Showplan z informacjami o parametrach środowiska uruchomieniowego, niezależnie od tego, czy infrastruktura profilu dmV sys.dm_exec_query_statistics_xml czy uproszczonego profilu statystyk wykonywania zapytań jest włączona, czy nie.

OPTIMIZED_SP_EXECUTESQL = { ON | WYŁ. }

Dotyczy: Azure SQL Database

Włącza lub wyłącza zachowanie serializacji kompilacji sp_executesql po skompilowaniu partii. Wartość domyślna to WYŁĄCZONE. Zezwalanie na partie, które używają sp_executesql do serializacji procesu kompilacji zmniejsza wpływ burz kompilacji. Burze kompilacji odnoszą się do sytuacji, w której wiele zapytań jest kompilowanych jednocześnie, co prowadzi do problemów z wydajnością i rywalizacji o zasoby.

Gdy OPTIMIZED_SP_EXECUTESQLON, pierwsze wykonanie sp_executesql skompiluje i wstawi 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.

Uprawnienia

Wymaga ALTER ANY DATABASE SCOPED CONFIGURATION w bazie danych. To uprawnienie można udzielić użytkownikowi z uprawnieniami CONTROL w bazie danych.

Uwagi

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łudze Azure SQL Database i usłudze Azure SQL Managed Instance niektóre nazwy opcji uległy zmianie:

  • DISABLE_INTERLEAVED_EXECUTION_TVF zmieniono na INTERLEAVED_EXECUTION_TVF
  • DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK zmieniono na BATCH_MODE_MEMORY_GRANT_FEEDBACK
  • DISABLE_BATCH_MODE_ADAPTIVE_JOINS zmieniono na BATCH_MODE_ADAPTIVE_JOINS

W usłudze SQL Database w usłudze Microsoft Fabric uwierzytelnianie odbywa się za pośrednictwem przekazywania identyfikatora entra firmy Microsoft przy użyciu opcji "TOŻSAMOŚĆ UŻYTKOWNIKA".

Ograniczenia

MAXDOP

Szczegółowe ustawienia mogą zastąpić ustawienia globalne i że zarządca zasobów może ograniczyć wszystkie inne ustawienia MAXDOP. Logika ustawienia MAXDOP jest następująca:

  • 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 zastępowana przez ustawienie zarządcy zasobów.

    • Jeśli wskazówka zapytania nie jest równa zero (0), jest ograniczona przez ustawienie zarządcy zasobów.

  • Konfiguracja w zakresie bazy danych (chyba że jest zero) zastępuje ustawienie sp_configure, chyba że istnieje wskazówka zapytania i jest ograniczona przez ustawienie zarządcy zasobów.

  • Ustawienie sp_configure jest zastępowane przez ustawienie zarządcy zasobów.

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.

Geograficzne odzyskiwanie po awarii

Pomocnicze bazy danych z możliwością odczytu (zawsze włączone grupy dostępności, usługi 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. Mimo że ponowne kompilowanie nie występuje w trybie failover i technicznie nowy podstawowy ma zapytania korzystające z ustawień pomocniczych, chodzi o to, że ustawienie między podstawowym i pomocniczym różni się tylko wtedy, gdy obciążenie jest inne, a zatem zapytania buforowane korzystają z optymalnych ustawień, podczas gdy nowe zapytania wybierają nowe ustawienia, które są odpowiednie dla nich.

DacFx

Ponieważ ALTER DATABASE SCOPED CONFIGURATION to nowa funkcja w usłudze Azure SQL Database, usługa Azure SQL Managed Instance i program SQL Server (począwszy od programu SQL Server 2016 (13.x)), która ma wpływ na schemat bazy danych, eksporty schematu (z danymi lub bez niego) nie mogą być importowane do starszej wersji programu SQL Server, takiej jak SQL Server 2012 (11.x) lub SQL Server 2014 (12.x). Na przykład eksport do DACPAC lub bacPAC z bazy danych SQL Database lub programu SQL Server 2016 (13.x), która korzystała z tej nowej funkcji, nie będzie mogła zostać zaimportowana na serwer na poziomie podrzędnym.

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.

Metadane

Widok systemu sys.database_scoped_configurations (Transact-SQL) zawiera informacje o konfiguracjach o określonym zakresie w bazie danych. Opcje konfiguracji w zakresie bazy danych są wyświetlane tylko w sys.database_scoped_configurations, ponieważ są one zastępowane do ustawień domyślnych dla całego serwera. Widok systemu sys.configurations (Transact-SQL) zawiera tylko ustawienia całego serwera.

Przykłady

W tych przykładach pokazano użycie konfiguracji ALTER DATABASE SCOPED

A. Udzielanie uprawnień

W tym przykładzie udzielono uprawnień wymaganych do wykonania polecenia 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 ;

W tym przykładzie parametr MAXDOP dla pomocniczej bazy danych ma być taki sam jak w przypadku podstawowej bazy danych w scenariuszu replikacji geograficznej.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY ;

C. Ustawianie LEGACY_CARDINALITY_ESTIMATION

W tym przykładzie ustawiono LEGACY_CARDINALITY_ESTIMATION na WŁ. dla pomocniczej bazy danych w scenariuszu replikacji geograficznej.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = ON ;

W tym przykładzie ustawiono LEGACY_CARDINALITY_ESTIMATION dla pomocniczej bazy danych, ponieważ jest ona podstawowa baza danych w scenariuszu replikacji geograficznej.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY ;

D. Ustawianie PARAMETER_SNIFFING

W tym przykładzie ustawia PARAMETER_SNIFFING wartość OFF dla podstawowej bazy danych w scenariuszu replikacji geograficznej.

ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = OFF ;

W tym przykładzie ustawiono PARAMETER_SNIFFING wartość OFF dla pomocniczej bazy danych w scenariuszu replikacji geograficznej.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = OFF ;

W tym przykładzie ustawiono PARAMETER_SNIFFING dla pomocniczej bazy danych, ponieważ znajduje się ona w podstawowej bazie danych w scenariuszu replikacji geograficznej.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = PRIMARY ;

E. Ustawianie QUERY_OPTIMIZER_HOTFIXES

Ustaw QUERY_OPTIMIZER_HOTFIXES wartość WŁ. 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: PROGRAMU SQL Server (począwszy od programu SQL Server 2017 (14.x)), usługi Azure SQL Database i usługi 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: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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;

Ja. Ustawianie ELEVATE_ONLINE

Dotyczy: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi Azure SQL Managed Instance

W tym przykładzie ELEVATE_ONLINE ustawia FAIL_UNSUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION SET ELEVATE_ONLINE = FAIL_UNSUPPORTED ;

J. Ustawianie ELEVATE_RESUMABLE

Dotyczy: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi 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: PROGRAMU SQL Server (począwszy od programu SQL Server 2019 (15.x)), usługi Azure SQL Database i usługi Azure SQL Managed Instance

W tym przykładzie wyczyszczenie określonego planu 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 (począwszy od programu SQL Server 2022 (16.x))

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

Dodatkowe zasoby

Zasoby MAXDOP

zasoby LEGACY_CARDINALITY_ESTIMATION

zasoby PARAMETER_SNIFFING

zasoby QUERY_OPTIMIZER_HOTFIXES

zasoby ELEVATE_ONLINE

wskazówki dotyczące operacji indeksowania w trybie online

zasoby ELEVATE_RESUMABLE

wskazówki dotyczące operacji indeksowania w trybie online