ZMIENIA opcje zestawu bazy danych (Transact-SQL)
Ten temat zawiera składni ALTER DATABASE, związane z ustawieniem opcji bazy danych.Dla innych składni ZMIEŃ bazę danych, zobacz ALTER DATABASE (Transact-SQL).Poziomy zgodności i dublowanie bazy danych są Ustaw opcje, ale zostały opisane w oddzielnych tematy ze względu na ich długość.Aby uzyskać więcej informacji, zobacz ZMIANY bazy danych bazy danych, dublowanie (Transact-SQL) i ZMIENIA poziom zgodności bazy danych (Transact-SQL).
Składnia
ALTER DATABASE database_name
SET
{
{ <optionspec> [ ,...n ] [ WITH <termination> ] }
}
<optionspec>::=
{
<auto_option>
| <change_tracking_option>
| <cursor_option>
| <database_mirroring_option>
| <date_correlation_optimization_option>
| <db_encryption_option>
| <db_state_option>
| <db_update_option>
| <db_user_access_option>
| <external_access_option>
| <parameterization_option>
| <recovery_option>
| <service_broker_option>
| <snapshot_option>
| <sql_option>
}
<auto_option> ::=
{
AUTO_CLOSE { ON | OFF }
| AUTO_CREATE_STATISTICS { ON | OFF }
| AUTO_SHRINK { ON | OFF }
| AUTO_UPDATE_STATISTICS { ON | OFF }
| AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}
<change_tracking_option> ::=
{
CHANGE_TRACKING {
= ON [ <change_tracking_option_list > ] |
<change_tracking_option_list> |
= OFF
}
}
<change_tracking_option_list> ::=
{
( <change_tracking_option> | <change_tracking_option_list> ,
<change_tracking_option> )
}
<change_tracking_option> ::=
{
AUTO_CLEANUP = { ON | OFF }
| CHANGE_RETENTION = { retention_period { DAYS | HOURS | MINUTES } ]
}
<cursor_option> ::=
{
CURSOR_CLOSE_ON_COMMIT { ON | OFF }
| CURSOR_DEFAULT { LOCAL | GLOBAL }
}
<database_mirroring_option>
ALTER DATABASE Database Mirroring
<date_correlation_optimization_option> ::=
{
DATE_CORRELATION_OPTIMIZATION { ON | OFF }
}
<db_encryption_option> ::=
ENCRYPTION { ON | OFF }
<db_state_option> ::=
{ ONLINE | OFFLINE | EMERGENCY }
<db_update_option> ::=
{ READ_ONLY | READ_WRITE }
<db_user_access_option> ::=
{ SINGLE_USER | RESTRICTED_USER | MULTI_USER }
<external_access_option> ::=
{
DB_CHAINING { ON | OFF }
| TRUSTWORTHY { ON | OFF }
}
<parameterization_option> ::=
{
PARAMETERIZATION { SIMPLE | FORCED }
}
<recovery_option> ::=
{
RECOVERY { FULL | BULK_LOGGED | SIMPLE }
| TORN_PAGE_DETECTION { ON | OFF }
| PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
}
<service_broker_option> ::=
{
ENABLE_BROKER
| DISABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
| HONOR_BROKER_PRIORITY { ON | OFF}
}
<snapshot_option> ::=
{
ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
| READ_COMMITTED_SNAPSHOT {ON | OFF }
}
<sql_option> ::=
{
ANSI_NULL_DEFAULT { ON | OFF }
| ANSI_NULLS { ON | OFF }
| ANSI_PADDING { ON | OFF }
| ANSI_WARNINGS { ON | OFF }
| ARITHABORT { ON | OFF }
| COMPATIBILITY_LEVEL = { 80 | 90 | 100 }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }
}
<termination> ::=
{
ROLLBACK AFTER integer [ SECONDS ]
| ROLLBACK IMMEDIATE
| NO_WAIT
}
Argumenty
<auto_option>:: =
Określa opcje automatycznego.
database_name
Jest to nazwa bazy danych ma zostać zmodyfikowana.AUTO_CLOSE {ON | OFF}
NA
Zamykanie bazy danych niedziałający bezpośrednio i jego zasoby są zwalniane po ostatni użytkownik zamyka.Baza danych automatycznie ponownie otwiera, gdy użytkownik próbuje ponownie używać bazy danych.Na przykład, poprzez wydawanie na wykorzystanie database_name instrukcja.Jeśli zamykanie bazy danych niedziałający bezpośrednio podczas AUTO_CLOSE jest zestaw na, nie otwarciu bazy danych, dopóki użytkownik próbuje użyć bazy danych następnym czas Aparat baz danych jest ponownie uruchamiany.
WYŁĄCZANIE
Baza danych pozostanie otwarty, po ostatni użytkownik zamyka.
Opcja AUTO_CLOSE jest przydatna przy bazach danych pulpitu, ponieważ pozwala na pliki bazy danych mają być zarządzane jako zwykłe pliki.Mogą zostać przeniesiona, skopiowana tworzenie kopii zapasowych albo nawet przesyłać pocztą elektroniczną do innych użytkowników.
Ostrzeżenie
W starszych wersjach SQL Server, AUTO_CLOSE to proces synchroniczny może zmniejszyć wydajność, gdy baza danych jest dostępny przez aplikację, która wielokrotnie nawiązującej i do Aparat baz danych.Począwszy od SQL Server 2005, AUTO_CLOSE proces jest asynchroniczna; Wielokrotne otwieranie i zamykanie bazy danych nie jest już zmniejsza wydajność.
Stan tej opcji można ustalić poprzez badanie is_auto_close_on kolumna w sys.databases katalogu widoku lub IsAutoClose właściwość DATABASEPROPERTYEX funkcja.
Ostrzeżenie
Gdy AUTO_CLOSE jest włączone, niektóre kolumny w sys.databases widok wykazu i DATABASEPROPERTYEX, funkcja zwróci wartość NULL, ponieważ baza danych jest niedostępne do pobierania danych.Aby rozwiązać ten problem, wykonać użycia instrukcja do bazy danych.
Ostrzeżenie
dublowanie bazy danych wymaga AUTO_CLOSE OFF.
Gdy baza danych jest zestaw na AUTOCLOSE = ON operację, która inicjuje czyści zamknięcia automatyczne bazy danych, planu w pamięci podręcznej dla wystąpienie SQL Server.Czyszczenie pamięci podręcznej plan powoduje ponowną kompilację wszystkich kolejnych wykonanie planów i może spowodować nagłe, tymczasowe spadek wydajności kwerendy.W SQL Server 2005 Service Pack 2 dla każdego cachestore wyczyszczone w pamięci podręcznej planu SQL Server dziennik błędów zawiera następujący komunikat informacyjny: "SQL ServerNapotkano %d zamieniono opróżniania dla '% s' cachestore cachestore (część planu w pamięci podręcznej) ze względu na niektórych operacji konserwacji lub ponownej konfiguracji bazy danych".Ten komunikat jest rejestrowany co pięć minut, tak długo, jak jest opróżniany z pamięci podręcznej w tym przedziale czas .
AUTO_CREATE_STATISTICS {ON | OFF}
NA
optymalizator kwerendy tworzy statystyki w pojedynczych kolumnach predykaty kwerendy, jak to konieczne poprawić wydajność kwerendy i planów kwerend.Jedno -kolumna statystyki te są tworzone podczas optymalizator kwerendy skompiluje kwerend.Jedno -kolumna statystyki są tworzone tylko na kolumnach, które nie są już pierwszej kolumna istniejący obiekt statystyki.Domyślnie jest włączone.Zaleca się, aby użyć domyślnego ustawienia dla większości baz danych.
WYŁĄCZANIE
Trwa kompilowanie kwerend optymalizator kwerendy nie tworzy statystyki na pojedynczych kolumn w kwerendzie predykatów.Ustawienie tej opcji na OFF może powodować planów kwerend warunkami panującymi i pogorszenie wydajności kwerendy.
Stan tej opcji można ustalić poprzez badanie is_auto_create_stats_on kolumna w sys.databases katalogu widoku lub IsAutoCreateStatistics właściwość DATABASEPROPERTYEX funkcja.
Aby uzyskać więcej informacji zobacz sekcję "Przy użyciu całej bazy danych statystyk opcje" in Aby poprawić wydajność kwerendy przy użyciu statystyk.
AUTO_SHRINK {ON | OFF}
NA
Pliki bazy danych są kandydatami do zmniejszania okresowych.Plik danych i plików dziennika można ściągnąć automatycznie.AUTO_SHRINK zmniejsza rozmiar dziennika transakcji, tylko wtedy, gdy baza danych jest zestaw PROSTEGO odzyskiwanie modelu lub jeśli dziennik jest kopii zapasowej.Gdy zestaw na wyłączone, pliki bazy danych nie są automatycznie ściągnąć podczas okresowych kontroli nieużywane miejsce.
Opcja AUTO_SHRINK powoduje, że pliki ściągnąć na więcej niż 25 procent ten plik zawiera nieużywane miejsce.Plik jest ściągnąć rozmiar gdzie 25 procent plików to nieużywane miejsce lub rozmiar pliku, podczas jej tworzenia, którakolwiek jest większa.
Nie można zmniejszyć tylko do odczytu bazy danych.
WYŁĄCZANIE
Pliki bazy danych nie są automatycznie ściągnąć podczas okresowych kontroli nieużywane miejsce.
Stan tej opcji można ustalić poprzez badanie is_auto_shrink_on kolumna w sys.databases katalogu widoku lub IsAutoShrink właściwość DATABASEPROPERTYEX funkcja.
AUTO_UPDATE_STATISTICS {ON | OFF}
NA
Określa, że optymalizator kwerendy są używane przez kwerendę i może być mało, aktualizuje statystyki-o-data.Statystyki stają się poza-o-data po insert, update, delete lub operacji scalania zmiany rozkładu danych w tabela lub indeksowany widok.optymalizator kwerendy Określa, kiedy statystyk może być mało-o-data przez liczenie modyfikacji danych od czasu ostatniego statystyki aktualizacji i porównanie liczby zmian do progu.Próg jest oparty na liczbę wierszy w tabela lub indeksowany widok.optymalizator kwerendy szuka się-o-Statystykadata przed kompilowania kwerendy i przed wykonaniem buforowanego planu kwerend.Przed kompilowania kwerendy, optymalizator kwerendy używa kolumn tabel i widoków indeksowanych w predykacie kwerendy, aby określić, które statystyki mogą być poza-o-data.Przed wykonaniem buforowanego planu kwerend, Aparat baz danych weryfikuje, że plan kwerend odwołuje się-do-data statystyki.
Opcja AUTO_UPDATE_STATISTICS dotyczy statystyki tworzone dla indeksów kolumn pojedynczej kwerendy predykatów i statystyki, utworzony za pomocą instrukcjatworzenia statystyk.Opcja ta dotyczy również filtrowanych danych statystycznych.
Domyślnie jest włączone.Zaleca się, aby użyć domyślnego ustawienia dla większości baz danych.
Opcja AUTO_UPDATE_STATISTICS_ASYNC służy do określania, czy dane statystyczne są aktualizowane synchronicznie lub asynchronicznie.
WYŁĄCZANIE
Określa, że optymalizator kwerendy nie aktualizacja statystyki , gdy są używane przez kwerendę i może być mało-o-data.Ustawienie tej opcji na OFF może powodować planów kwerend warunkami panującymi i pogorszenie wydajności kwerendy.
Stan tej opcji można ustalić poprzez badanie is_auto_update_stats_on kolumna w sys.databases katalogu widoku lub IsAutoUpdateStatistics właściwość DATABASEPROPERTYEX funkcja.
Aby uzyskać więcej informacji zobacz sekcję "Przy użyciu całej bazy danych statystyk opcje" in Aby poprawić wydajność kwerendy przy użyciu statystyk.
AUTO_UPDATE_STATISTICS_ASYNC {ON | OFF}
NA
Określa, że aktualizacja statystyki dla opcji AUTO_UPDATE_STATISTICS asynchronicznego.optymalizator kwerendy nie czeka na zakończenie przed kompiluje kwerend aktualizacji statystyki.Ustawienie tej opcji ON nie ma wpływu chyba, że AUTO_UPDATE_STATISTICS jest zestaw na.
Domyślnie opcja AUTO_UPDATE_STATISTICS_ASYNC jest zestaw na wyłączone i statystyki aktualizacje optymalizator kwerendy synchronicznie.
WYŁĄCZANIE
Określa, że aktualizacja statystyki dla opcji AUTO_UPDATE_STATISTICS są synchroniczne.optymalizator kwerendy czeka na zakończenie przed kompiluje kwerend aktualizacji statistcs.Ustawienie tej opcji na OFF jest ignorowany, chyba że AUTO_UPDATE_STATISTICS jest zestaw na.
Stan tej opcji można ustalić poprzez badanie is_auto_update_stats_async_on kolumna w sys.databases wykazu widoku.
Aby uzyskać więcej informacji w tym artykule opisano zastosowania aktualizacji statystyk synchroniczna lub asynchroniczna zobacz sekcję "Przy użyciu całej bazy danych statystyk opcje" in Aby poprawić wydajność kwerendy przy użyciu statystyk.
<change_tracking_option>:: =
Formanty Zmień opcje śledzenia.Włącz zmienianie śledzenia, zestaw opcje, zmień opcje i wyłączanie śledzenia zmian.Przykłady zobacz sekcję przykłady w dalszej części tego tematu.
NA
Umożliwia zmienianie śledzenia dla bazy danych.Po włączeniu śledzenia zmian można też zestaw automatyczne oczyszczanie i opcje zmiany przechowywania.AUTO_CLEANUP = { ON | OFF}
NA
Śledzenie zmian jest automatycznie usuwany po okresie retencji określony.WYŁĄCZANIE
Dane śledzenia zmian nie jest usuwany z bazy danych.
CHANGE_RETENTION =retention_period { DAYS | GODZINY | MIN}
Określa minimalny okres przechowywania informacji w bazie danych śledzenia zmian.Dane zostaną usunięte tylko wtedy, gdy wartość AUTO_CLEANUP jest włączone.retention_periodto liczba całkowita, która określa numeryczny części okresu przetrzymania.
Domyślny okres zachowywania wynosi 2 dni.Minimalny okres przechowywania jest 1 minuta.
WYŁĄCZANIE
Wyłącza zmienić śledzenia dla bazy danych.Należy wyłączyć zmian na wszystkie tabele przed wyłączeniem bazy danych śledzenie zmian.
<cursor_option>:: =
Określa opcje kursor .
CURSOR_CLOSE_ON_COMMIT {ON | OFF}
NA
Jakiekolwiek kursory otwarte po zatwierdzeniu lub wycofać transakcji są zamknięte.WYŁĄCZANIE
Kursory pozostają otwarte, gdy transakcja zostanie zatwierdzona; Wycofywanie transakcji zamyka jakiekolwiek kursory, z wyjątkiem tych, określone jako INSENSITIVE lub STATYCZNEJ.
Połączenie -poziom ustawień, które są zestaw przy użyciu zestawu instrukcja zastąpić ustawienie domyślna baza danych dla CURSOR_CLOSE_ON_COMMIT.Domyślnie ODBC i OLE DB klientów wydaje połączenia — instrukcja ustawienie CURSOR_CLOSE_ON_COMMIT OFF dla sesja podczas łączenia się do wystąpienie USTAWIONYpoziom SQL Server.Aby uzyskać więcej informacji, zobacz ZESTAW CURSOR_CLOSE_ON_COMMIT (Transact-SQL).
Stan tej opcji można ustalić poprzez badanie is_cursor_close_on_commit_on kolumna w sys.databases katalogu widoku lub IsCloseCursorsOnCommitEnabled właściwość DATABASEPROPERTYEX funkcja.
CURSOR_DEFAULT {LOKALNE | GLOBALNE}
Określa, czy korzysta z kursor zakres lokalny lub GLOBALNY.LOKALNE
LOKALNY jest określony, gdy kursor nie jest zdefiniowany jako GLOBALNY podczas tworzenia, zakres kursor jest lokalnym partia, procedura składowanalub wyzwalacz, w którym utworzono kursor .Nazwa kursor jest prawidłowy tylko wewnątrz tego zakres.kursor można się odwoływać za zmiennych lokalnych kursor partia, procedura składowanawyzwalacz lub parametr wyjściowy procedura składowana .kursor niejawnie dealokowaniu podczas partia, procedura składowanalub wyzwalacza kończy się, o ile nie została przekazana w parametru WYJŚCIOWEGO.Jeśli kursor zostanie przekazany po powrocie do parametru WYJŚCIOWEGO, kursor jest dealokowane wtedy, kiedy ostatnia zmienna, która odwołuje się do niej jest deallocated lub wykracza zakres.GLOBALNE
Gdy określono globalne i kursor nie jest zdefiniowany jako lokalny podczas tworzenia, zakres kursor jest globalnego połączenia.Nazwa kursor można odwoływać się w jakąkolwiek procedura składowana lub partia wykonane przez połączenie.
kursor jest niejawnie deallocated tylko na rozłączenie.Aby uzyskać więcej informacji, zobacz DECLARE CURSOR (Transact-SQL).
Stan tej opcji można ustalić poprzez badanie is_local_cursor_default kolumna w sys.databases katalogu widoku lub IsLocalCursorsDefault właściwość DATABASEPROPERTYEX funkcja.
<database_mirroring>
Zobacz opis argumentu ZMIANY bazy danych bazy danych, dublowanie (Transact-SQL).
<date_correlation_optimization_option> :: =
Kontroluje opcji date_correlation_optimization.
DATE_CORRELATION_OPTIMIZATION {ON | OFF}
NA
SQL Serverutrzymuje statystyki korelacji między dwiema tabelami w bazie danych, które są połączone przez ograniczenie klucza OBCEGO i mieć datetime kolumny.Aby uzyskać więcej informacji, zobacz Optymalizacja kwerend że dostępu skorelowane kolumny Data/Godzina.WYŁĄCZANIE
Korelacja, statystyki nie są obsługiwane.
Aby zestaw DATE_CORRELATION_OPTIMIZATION on musi być aktywnych połączeń z bazą danych, z wyjątkiem dla połączenia, które jest wykonywanie instrukcjaALTER DATABASE.Później wiele połączeń są obsługiwane.
Bieżące ustawienie tej opcji można ustalić poprzez badanie is_date_correlation_on kolumna w sys.databases wykazu widoku.
<db_encryption_option>:: =
Określa stan szyfrowanie bazy danych.
- SZYFROWANIE {ON | OFF}
Ustawia bazy danych zaszyfrowane (włączone) lub nie zaszyfrowany (OFF).Aby uzyskać więcej informacji dotyczących szyfrowaniebazy danych, zobacz Opis przezroczystego szyfrowania danych (TDE).
Po włączeniu szyfrowanie na poziom bazy danych wszystkie aplikacjami będą szyfrowane.Wszelkie nowe aplikacjami odziedziczą właściwośćzaszyfrowane.Jeśli wszelkie aplikacjami w bazie danych są zestaw na READ ONLY, operacji szyfrowanie bazy danych będzie zakończą się niepowodzeniem.
Stan szyfrowanie bazy danych można wyświetlić za pomocą sys.dm_database_encryption_keys dynamiczny widok zarządzania.
<db_state_option>:: =
Określa stan bazy danych.
W TRYBIE OFFLINE
Baza danych jest zamknięta, został niedziałający bezpośrednio i oznaczony jako w trybie offline.Nie można zmodyfikować bazę danych w trybie offline.ONLINE
Baza danych jest otwarta i dostępne do użytku.AWARYJNEGO
Baza danych jest oznaczony jako TYLKO_DO_ODCZYTU, rejestrowanie jest wyłączone i dostęp jest ograniczony do członków sysadmin stała rola serwera.AWARYJNY jest używany głównie w celu rozwiązywania problemów.Na przykład bazy danych oznaczony jako podejrzane, ze względu na uszkodzony plik może być zestaw stan awaryjnego.Może to umożliwić administrator systemu tylko do odczytu do bazy danych.Tylko członkowie sysadmin stała rola serwera można zestaw bazę danych do stanu awaryjnego.
Ostrzeżenie
Uprawnienia:Uprawnienie ZMIEŃ bazę danych na temat bazy danych jest wymagane do zmiany bazy danych do stanu offline lub awaryjnego.Serwer poziom uprawnień ALTER DATABASE dowolny jest wymagany do przeniesienia bazy danych z trybu offline do trybu online.
Stan tej opcji można ustalić poprzez badanie state i state_desc kolumn w sys.databases katalogu widoku lub Status właściwość DATABASEPROPERTYEX funkcja.Aby uzyskać więcej informacji, zobacz Państwa bazy danych.
Przywracanie nie może być zestaw do trybu OFFLINE, ONLINE, lub awaryjnego oznaczył bazy danych.Baza danych może być w stanie przywracanie, podczas operacji przywracanie active lub podczas operacji przywracanie bazy danych lub pliku dziennika kończy się niepowodzeniem z powodu uszkodzony plik kopii kopia zapasowa .Aby uzyskać więcej informacji, zobacz Reagowanie na SQL Server przywracania błędy spowodowane przez uszkodzone kopie zapasowe.
<db_update_option>:: =
Określa, czy aktualizacje są dozwolone w bazie danych.
TYLKO_DO_ODCZYTU
Użytkownicy mogą odczytywać dane z bazy danych, ale nie można go modyfikować.READ_WRITE
Baza danych jest dostępna dla operacji zapisu i odczytu.
Aby zmienić ten stan, należy mieć wyłączny dostęp do bazy danych.Aby uzyskać więcej informacji zobacz SINGLE_USER klauzula.
<db_user_access_option> :: =
Steruje dostępem użytkowników do bazy danych.
SINGLE_USER
Określa, że tylko jeden użytkownik w danej czas może uzyskać dostęp do bazy danych.Jeśli określono SINGLE_USER i innych użytkowników podłączonych do bazy danych, ZMIEŃ bazę danych są instrukcja będą zablokowane, dopóki odłączyć wszystkich użytkowników z określonej bazy danych.Aby zmienić to zachowanie, zobacz temat z <zakończenie> klauzula.Baza danych pozostaje w trybie SINGLE_USER, nawet jeśli ten zestaw opcji wylogowania użytkownika.W tym punkcie innego użytkownika, ale tylko jeden, można połączyć z bazą danych.
Zanim zostanie zestaw bazy danych do SINGLE_USER Sprawdź, czy opcja AUTO_UPDATE_STATISTICS_ASYNC jest zestaw na wyłączone.Gdy zestaw na tle wątek używany do aktualizacja statystyki trwa połączenie w bazie danych i będzie mógł uzyskać dostęp do bazy danych w tryb jednego użytkownika.Aby wyświetlić stan tej opcji, kwerenda is_auto_update_stats_async_on kolumna w sys.databases katalogu widoku.Jeśli opcja jest zestaw na, należy wykonać następujące zadania:
Ustaw AUTO_UPDATE_STATISTICS_ASYNC na OFF.
Sprawdź, czy aktywna Statystyka asynchronicznego zadań Badanie sys.dm_exec_background_job_queue dynamiczny widok zarządzania.
W przypadku aktywnych zadań albo umożliwić zadania do wykonania lub zakończyć je ręcznie za pomocą SKASOWAĆ ZADANIE STATYSTYKĘ.
RESTRICTED_USER
RESTRICTED_USER umożliwia tylko członkowie db_owner stałej rola bazy danych i dbcreator i sysadmin stałe role serwera do połączenia z bazą danych, ale nie ograniczają ich liczbę.Wszystkie połączenia z bazą danych są odłączani, w przedziale czasu określonym przez zakończenie klauzula instrukcjaALTER DATABASE.Po bazie przeszła do stanu RESTRICTED_USER, próby połączeń przez użytkowników niekwalifikowanych zostaną odrzucone.MULTI_USER
Wszyscy użytkownicy, którzy mają odpowiednie uprawnienia do łączenia się z bazą danych są dozwolone.
Stan tej opcji można ustalić poprzez badanie user_access kolumna w sys.databases katalogu widoku lub UserAccess właściwość DATABASEPROPERTYEX funkcja.
<external_access_option>:: =
Określa, czy baza danych są dostępne zasoby zewnętrzne, takie jak obiekty z innej bazy danych.
DB_CHAINING {ON | OFF}
NA
Baza danych może być źródło lub miejsce docelowe między bazami danych łańcuch własności.WYŁĄCZANIE
Bazy danych nie może uczestniczyć w międzybazowy łańcuch własności.
Ważne: wystąpienie SQL Server rozpozna tego ustawienia, gdy cross db ownership chaining opcji serwera jest równa 0 (wyłączone).Gdy cross db ownership chaining 1 (włączone), wszystkie użytkownika, którego baz danych mogą uczestniczyć w łańcucha własności między bazami danych, niezależnie od wartości opcji.Ta opcja jest zestaw za pomocą sp_configure.
Aby zestaw ta opcja wymaga CONTROL SERVER uprawnień w bazie danych.Opcja DB_CHAINING nie można zestaw dla tych bazy danych systemu: master, model, and tempdb.
Stan tej opcji można ustalić poprzez badanie is_db_chaining_on kolumna w sys.databases wykazu widoku.
Aby uzyskać więcej informacji, zobacz Łańcuchy własności.
WIARYGODNY {ON | OFF}
NA
Moduły bazy danych (na przykład, funkcje zdefiniowane przez użytkownika lub procedury przechowywane), korzystających z kontekstu personifikacji można uzyskać dostęp do zasobów poza bazą danych.WYŁĄCZANIE
Moduły bazy danych w kontekście personifikacji nie może uzyskać dostępu do zasobów poza bazą danych.
Godne zaufania jest zestaw na wyłączone w każdym przypadku, gdy baza danych jest dołączony.
Domyślnie wszystkie bazy danych systemu z wyjątkiem msdb bazy danych są godne zaufania zestaw na OFF.Nie można zmienić wartość dla model i tempdb baz danych.Zaleca się, że użytkownik nigdy nie zestaw TRUSTWORTHY opcji on dla master bazy danych.
Aby zestaw ta opcja wymaga CONTROL SERVER uprawnień w bazie danych.
Stan tej opcji można ustalić poprzez badanie is_trustworthy_on kolumna w sys.databases wykazu widoku.
<parameterization_option> :: =
Określa opcję parametryzacji.
PARAMETRYZACJA {PROSTE | WYMUSZONE}
PROSTE
Kwerendy są parametryzowane oparte na zachowanie domyślne bazy danych.Aby uzyskać więcej informacji, zobacz Parametryzacja proste.WYMUSZONY
SQL Serverparameterizes wszystkie kwerendy w bazie danych.Aby uzyskać więcej informacji, zobacz Parametryzacja wymuszony.
Bieżące ustawienie tej opcji można ustalić poprzez badanie is_parameterization_forced kolumna w sys.databases wykazu widoku.
<recovery_option> :: =
Określa opcje odzyskiwanie bazy danych i sprawdzania błędów dysku.
PEŁNE
Zapewnia pełne odzyskiwanie po awarii nośnika przy użyciu kopie zapasowe dziennika transakcji.Jeśli plik danych jest uszkodzony, nośników odzyskiwanie można przywracanie wszystkich transakcji.Aby uzyskać więcej informacji, zobacz Kopia zapasowa w obszarze modelu odzyskiwania Pełny.BULK_LOGGED
Zapewnia odzyskiwanie po awarii nośników, łącząc najlepszą wydajność i najmniejszy stopień wykorzystania miejsca w dzienniku Logged lub operacje zbiorcze.Aby dowiedzieć się, jakie operacje są rejestrowane zbiorczo, zobacz Operacje, które mogą być rejestrowane minimalny.W obszarze modelu odzyskiwanie BULK_LOGGED rejestrowania tych czynności jest minimalny.Aby uzyskać więcej informacji, zobacz Kopia zapasowa w obszarze modelu Bulk-Logged odzyskiwania.PROSTE
Zapewnia proste kopia zapasowa strategii, która korzysta z miejsca w dzienniku minimal.Obszar rejestrowania można automatycznie ponownie, gdy nie jest już wymagane w przypadku awarii serwera odzyskiwanie.Aby uzyskać więcej informacji, zobacz Kopia zapasowa w obszarze prostego modelu odzyskiwania.Ważne: Model prostej odzyskiwanie jest łatwiejsze w zarządzaniu niż dwóch modeli, ale na koszt zwiększa się zagrożenie utraty danych, jeśli plik danych jest uszkodzony.Wszystkie zmiany od ostatniego bazy danych lub różnicy bazy danych kopia zapasowa zostaną utracone i trzeba trzeba ponownie ręcznie wprowadzić.
Domyślny model odzyskiwanie zależy od modelu odzyskiwanie model bazy danych.Aby uzyskać więcej informacji o wybieraniu modelu odpowiednie odzyskiwanie , zobacz Wybieranie modelu odzyskiwania bazy danych.
Stan tej opcji można ustalić poprzez badanie recovery_model i recovery_model_desc kolumn w sys.databases katalogu widoku lub Recovery właściwość DATABASEPROPERTYEX funkcja.
TORN_PAGE_DETECTION {ON | OFF}
NA
Niepełne strony może być wykryta przez Aparat baz danych.WYŁĄCZANIE
Niepełne strony nie mogą być wykryte przez Aparat baz danych.
Ważne: Struktura składnia W TORN_PAGE_DETECTION | WYŁĄCZONE zostaną usunięte w przyszłej wersja programu SQL Server.Plan do modyfikowania aplikacji, które używają obecnie strukturę składni i uniknąć używania tej struktury składni w nowych prac rozwojowych.Zamiast tego należy użyć opcji PAGE_VERIFY.
PAGE_VERIFY {SUMY KONTROLNEJ | TORN_PAGE_DETECTION | BRAK}
Wykrywa strony uszkodzonej bazy danych spowodowane przez błędy ścieżka do dysku.Błędy ścieżka do dysku może być przyczyną bazy danych związanej z uszkodzeniem problemów i są zazwyczaj spowodowane awarie zasilania lub awarii sprzętu dysku, które występują w czas zapisywania strona na dysku.SUMA KONTROLNA
Oblicza suma kontrolna zawartość całej strona i przechowuje wartość w nagłówku strona , podczas zapisywania strona na dysku.Gdy strona jest odczytywana z dysku, suma kontrolna jest przeliczane i porównywana z wartością suma kontrolna w nagłówku strona .Jeśli wartości nie pasują do siebie, zarówno jest zgłoszony komunikat o błędzie 824 (co oznacza błąd suma kontrolna ) SQL Server dziennik błędów i informacje zdarzenie systemu WindowsBłąd suma kontrolna wskazuje problem ścieżka We/Wy.Aby określić katalog główny przyczyna wymaga dochodzenia sprzętu, oprogramowania układowego sterowników, BIOS, sterowników filtrów (takich jak oprogramowanie antywirusowe) i inne składniki ścieżka We/Wy.TORN_PAGE_DETECTION
Zapisuje określone 2 -wzorzec bitowy dla każdego sektora 512 bajtów w 8-kilobajtów (KB) bazy danych strona i przechowywane w nagłówku strona bazy danych podczas zapisywania strona na dysku.Podczas odczytywania strona z dysku poszarpane bitów przechowywane w nagłówku strona są porównywane informacji sektora rzeczywistą strona .Wartości niedopasowanych wskazują, czy tylko część strona zostały zapisane na dysku.W takim przypadku komunikat o błędzie 824 (co oznacza błąd poszarpane strona ) jest raportowany zarówno SQL Server dziennik błędów i informacje zdarzenie systemu WindowsPoszarpane strony zazwyczaj są wykrywane przez odzyskiwanie bazy danych, jeśli naprawdę jest niekompletne zapisu strona.Jednakże inne we/wy awarie ścieżka może spowodować poszarpane strona w dowolnym czas.BRAK
Zapisywanie strona bazy danych nie wygeneruje wartość sumy kontrolnej lub TORN_PAGE_DETECTION.SQL Servernie sprawdzi suma kontrolna lub poszarpane strona podczas odczytu, nawet jeśli wartość sumy kontrolnej lub TORN_PAGE_DETECTION znajduje się w nagłówku strona .
Po wybraniu opcji PAGE_VERIFY, należy wziąć pod uwagę następujące istotne kwestie:
W SQL Server 2005 i SQL Server 2008, wartość domyślna to sumy kontrolnej.W SQL Server 2000, TORN_PAGE_DETECTION jest domyślna.
Gdy użytkownik lub system bazy danych jest uaktualniany do SQL Server 2005 lub SQL Server 2008, PAGE_VERIFY wartość (Brak lub TORN_PAGE_DETECTION) jest zachowywana.Zaleca się używać sumy kontrolnej.
Ostrzeżenie
W starszych wersjach SQL Server, PAGE_VERIFY opcję bazy danych jest zestaw na wartość Brak dla tempdb bazy danych i nie może być modyfikowana.W SQL Server 2008, wartość domyślna dla tempdb Baza danych jest sumy kontrolnej dla nowych instalacji SQL Server.Podczas uaktualniania instalacji SQL Server, wartość domyślna pozostaje Brak.Opcja może być modyfikowana.Zaleca się używania sumy kontrolnej dla tempdb bazy danych.
TORN_PAGE_DETECTION mogą używać mniej zasobów, ale zapewnia minimalny podzbiór ochrony sumy kontrolnej.
PAGE_VERIFY można zestaw bez podejmowania bazy danych w trybie offline, blokowania bazy danych lub inaczej utrudnienia współbieżność w tej bazie danych.
Suma kontrolna jest wzajemnie wykluczających TORN_PAGE_DETECTION.Obie opcje nie może być włączone w tym samym czas.
Po wykryciu poszarpane błąd suma kontrolna lub strona można odzyskać przywracanie danych lub potencjalnie odbudowanie indeksu, jeśli błąd jest ograniczony tylko do stron indeksowych.Jeśli wystąpi błąd suma kontrolna , w celu określenia typu bazy danych strona lub stron dotkniętych, uruchom DBCC CHECKDB.Aby uzyskać więcej informacji dotyczących opcji przywracanie , zobacz Przywracanie argumenty (Transact-SQL).Mimo, że przywrócenie danych rozwiąże problem uszkodzenie danych , głównej przyczyny, na przykład awaria sprzętowa dysku, należy zdiagnozować i poprawione tak szybko, jak to możliwe, aby zapobiec błędom nieprzerwaną.
SQL ServerPróba zostanie ponowiona wszelkie odczytu, nie działa z suma kontrolna, poszarpane stronalub inny błąd We/Wy cztery razy.Odczyt zakończyło się pomyślnie w każdym z ponawiania prób, wiadomości będą zapisywane do dziennik błędów i polecenia, który wyzwolił odczytu będzie kontynuowana.Jeśli ponawiania próby zakończą się niepowodzeniem, polecenie może zawieść, komunikat o błędzie 824.
Aby uzyskać więcej informacji na temat suma kontrolna, poszarpane strona, ponów próbę odczytu błędu wiadomości 823 i 824 i inne SQL Server funkcji inspekcjonowania we/wy, zobacz firmy Microsoft w witryna sieci Web.
Bieżące ustawienie tej opcji można ustalić poprzez badanie page_verify_option kolumna w sys.databases katalogu widoku lub IsTornPageDetectionEnabled właściwość DATABASEPROPERTYEX funkcja.
<service_broker_option>:: =
Kontroluje następujące Service Broker Opcje: Włącza lub wyłącza dostarczanie wiadomości, ustawia nowy Service Broker identyfikatora lub zestawy konwersacji priorytetów on lub OFF.Aby uzyskać więcej informacji o komunikacie dostarczania i Service Broker identyfikatorów, zobacz Zarządzanie Service Broker tożsamości.Aby uzyskać więcej informacji dotyczących poziomów priorytetu konwersacji, zobacz Priorytety konwersacji.Zobacz przykłady pokazujące, jak używać opcji HONOR_BROKER_PRIORITY Zarządzanie priorytetami konwersacji.
ENABLE_BROKER
Określa, że Service Broker jest włączone dla określonej bazy danych.Dostarczanie wiadomości jest uruchomiona i is_broker_enabled Flaga jest zestaw na wartość true w sys.databases wykazu widoku.Baza danych zachowuje istniejące Service Broker identyfikatora.Ostrzeżenie
ENABLE_BROKER wymaga wyłącznego bazy danych blokada.Jeśli inne sesje zablokować zasobów w bazie danych, ENABLE_BROKER będzie czekał innych sesji zwolnić blokady ich.Aby włączyć Service Broker w baza danych użytkownikaupewnij się, że inne sesje używające bazy danych przed uruchomieniem zmienić ENABLE_BROKER ustawienia bazy danych instrukcja, takich jak umieszczenie bazy danych w trybie pojedynczego użytkownika.Aby włączyć Service Broker w msdb bazy danych, pierwszym krokiem SQL Server Agent tak, aby Service Broker można uzyskać niezbędne blokada.
DISABLE_BROKER
Określa, że Service Broker jest wyłączony dla określonej bazy danych.Dostarczanie wiadomości zostanie zatrzymana, a is_broker_enabled Flaga jest zestaw na wartość false w sys.databases wykazu widoku.Baza danych zachowuje istniejące Service Broker identyfikatora.NEW_BROKER
Określa, że baza danych powinno otrzymać nowy identyfikator broker.Ponieważ baza danych jest uważana za nowy usługa broker, wszystkie konwersacje istniejących w bazie danych są usuwane natychmiast bez wytwarzania wiadomości okno dialogowe Koniec.Każda trasa odwołuje się do starego Service Broker identyfikatora musi być ponownie utworzony z nowego identyfikatora.ERROR_BROKER_CONVERSATIONS
Określa, że Service Broker Dostarczanie wiadomości jest włączona. Pozwala to zachować istniejące Service Broker identyfikator dla bazy danych.Service Brokerkończy wszystkie konwersacje w bazie danych z powodu błędu.Włącza aplikacje, aby wykonać oczyszczanie regularnych dla istniejącej konwersacji.HONOR_BROKER_PRIORITY {ON | OFF}
NA
Wysyłanie operacji bierze pod uwagę poziomy priorytetu, które są przypisane do konwersacji.Przed wiadomości będą wysyłane komunikaty z konwersacji, których poziomy o wysokim priorytecie z konwersacji przypisane poziomy o niskim priorytecie.WYŁĄCZANIE
Wysyłanie operacji uruchamiania, jak gdyby wszystkie konwersacje mają priorytet domyślny poziom.
Zmiany opcji HONOR_BROKER_PRIORITY zaczynają obowiązywać natychmiast dla nowych okien dialogowych lub okien dialogowych, w których żadne wiadomości czekające na wysłanie.Okna dialogowe, które wiadomości czekające na wysłanie przy uruchamianiu ALTER DATABASE nie wpłynie nowe ustawienie do chwili niektóre wiadomości dla okna dialogowego zostały wysłane.Ilość czas przed rozpoczęciem wszystkie okna dialogowe z nowymi ustawieniami może się znacznie różnić.
Bieżące ustawienie tej właściwość jest zgłaszana w is_broker_priority_honored kolumna w sys.databases katalogu widoku.
<snapshot_option>:: =
Określa poziom izolacjitransakcji.
ALLOW_SNAPSHOT_ISOLATION {ON | OFF}
NA
Włącza opcję migawki na poziombazy danych.Jest włączony, sprawozdania DML rozpocząć generowanie wersji wiersza, nawet wtedy, gdy żadna transakcja nie korzysta z izolacji migawki.Po włączeniu tej opcji Transakcje można określić transakcji SNAPSHOT poziom izolacji.Podczas transakcji na poziom izolacjiMIGAWKI, wszystkie instrukcje zobacz migawka danych, ponieważ istnieje w chwili rozpoczęcia transakcji.Jeśli uruchomiony na MIGAWCE poziom izolacji transakcji uzyskuje dostęp do danych w wielu baz danych, ALLOW_SNAPSHOT_ISOLATION musi być zestaw na w przypadku wszystkich baz danych lub każdej instrukcja w transakcji należy użyć wskazówki blokowania na każde odniesienie w klauzula FROM tabela w bazie danych, gdzie ALLOW_SNAPSHOT_ISOLATION jest wyłączona.WYŁĄCZANIE
Wyłącza opcję migawki na poziombazy danych.Transakcji nie można określić transakcji SNAPSHOT poziom izolacji.
Gdy zestaw ALLOW_SNAPSHOT_ISOLATION do nowego stanu (na wyłączająca lub OFF on), ZMIEŃ bazę danych nie zwrócić sterowanie do wywołującego aż do wszystkich istniejących transakcji w bazie danych są zobowiązane.Jeśli baza danych jest już Państwo określone w instrukcjaALTER DATABASE, sterowanie jest zwracane niezwłocznie do obiektu wywołującego.Jeśli instrukcja ALTER DATABASE nie zwraca się szybko, sys.dm_tran_active_snapshot_database_transactions do określenia, czy istnieją transakcje długotrwały.instrukcja ALTER DATABASE zostało anulowane, bazy danych pozostaje w Państwie, w którym znajdował się podczas uruchomienia ZMIEŃ bazę danych.Sys.databases widok wykazu wskazuje stan migawka-izolacji transakcji w bazie danych.Jeśli snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, zmiany bazy danych ALLOW_SNAPSHOT_ISOLATION będzie wstrzymać sześć sekund i ponów próbę wykonania operacji.
Nie można zmienić stanu ALLOW_SNAPSHOT_ISOLATION, jeśli baza danych jest w trybie OFFLINE.
Jeśli zestaw ALLOW_SNAPSHOT_ISOLATION w bazie danych TYLKO_DO_ODCZYTU, ustawienie zostanie zachowana Jeśli baza danych jest nowszy zestaw READ_WRITE.
Można zmienić ustawienia ALLOW_SNAPSHOT_ISOLATION master, model, msdb, i tempdb baz danych.Jeśli zmienisz ustawienie dla tempdb, ustawienie jest zachowywane każdy czas wystąpienie Aparat baz danych zatrzymaniu i ponownym uruchomieniu.Jeśli zmienisz ustawienie dla modelu ustawienie staje się domyślną dla nowych baz danych, które zostały utworzone, z wyjątkiem tempdb.
Opcja jest włączone, domyślnie, dla master i msdb baz danych.
Bieżące ustawienie tej opcji można ustalić poprzez badanie snapshot_isolation_state kolumna w sys.databases wykazu widoku.
READ_COMMITTED_SNAPSHOT {ON | OFF}
NA
Włącza opcję migawki Read-Committed na poziombazy danych.Jest włączony, sprawozdania DML rozpocząć generowanie wersji wiersza, nawet wtedy, gdy żadna transakcja nie korzysta z izolacji migawki.Po włączeniu tej opcji Transakcje Określanie odczytu popełnione poziom izolacji użyć wersji wiersza zamiast blokowania.Po uruchomieniu transakcji na odczytu popełnione poziom izolacjiwszystkich instrukcji zobacz migawka danych, ponieważ istnieje w chwili rozpoczęcia instrukcja.WYŁĄCZANIE
Wyłącza opcję Read-Committed migawki na poziombazy danych.Określanie ODCZYTAĆ POPEŁNIONYCH poziom izolacji transakcji korzystanie z blokowania.
Aby zestaw READ_COMMITTED_SNAPSHOT ON lub OFF musi być aktywnych połączeń z bazą danych, z wyjątkiem dla połączenia, wykonywanie polecenia ZMIEŃ bazę danych.Jednak baza danych nie ma być w tryb jednego użytkownika.Nie można zmienić stan tej opcji, gdy baza danych jest w trybie OFFLINE.
Jeśli zestaw READ_COMMITTED_SNAPSHOT w bazie danych TYLKO_DO_ODCZYTU, ustawienie zostanie zachowana, gdy baza danych jest nowszy zestaw READ_WRITE.
READ_COMMITTED_SNAPSHOT nie może być włączona dla master, tempdb, lub msdb bazy danych systemu.Jeśli zmienisz ustawienie dla model, że ustawienie staje się domyślnym dla wszystkich nowych baz danych utworzonych, z wyjątkiem tempdb.
Bieżące ustawienie tej opcji można ustalić poprzez badanie is_read_committed_snapshot_on kolumna w sys.databases wykazu widoku.
<sql_option>:: =
Określa opcje zgodności ANSI na poziombazy danych.
ANSI_NULL_DEFAULT {ON | OFF}
Określa wartość domyślną wartość NULL lub NOT NULL, kolumna Typ danychalias, lub zdefiniowany przez użytkownika typ CLR dla którego opcje dopuszczania wartości null nie jest jawnie zdefiniowane w instrukcji ALTER TABLE lub CREATE TABLE.Kolumny, które są zdefiniowane z ograniczeniami postępuj zgodnie z regułami ograniczeń, niezależnie od tego ustawienia.NA
Wartością domyślną jest NULL.WYŁĄCZANIE
Wartością domyślną jest NULL.
Połączenie -poziom ustawień, które są zestaw przy użyciu zestawu instrukcja zastąpić domyślna baza danych-poziom dla ANSI_NULL_DEFAULT.Domyślnie ODBC i OLE DB klientów wydaje połączenia — instrukcja ustawienie ANSI_NULL_DEFAULT ON dla sesja podczas łączenia się do wystąpienie USTAWIONYpoziom SQL Server.Aby uzyskać więcej informacji, zobacz ZESTAW ANSI_NULL_DFLT_ON (Transact-SQL).
Dla zachowania zgodności z ANSI ustawienie opcji bazy danych ANSI_NULL_DEFAULT ON zmienia domyślne bazy danych wartość null.
Stan tej opcji można ustalić poprzez badanie is_ansi_null_default_on kolumna w sys.databases katalogu widoku lub IsAnsiNullDefault właściwość DATABASEPROPERTYEX funkcja.
KLAUZULE ANSI_NULLS {ON | OFF}
NA
Oceny wszystkich porównań wartości null do nieznane.WYŁĄCZANIE
Porównania wartości innych niż UNICODE ma wartość null oceny na wartość TRUE, jeśli obie wartości NULL.
Ważne: W przyszłej wersja programu SQL Server, klauzule ANSI_NULLS zawsze będzie ON i wszystkie aplikacje, że jawnie zestaw opcję OFF powoduje wygenerowanie błędu.Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.
Połączenie -poziom ustawień, które są zestaw przy użyciu zestawu instrukcja zastąpić ustawienie domyślna baza danych ANSI_NULLS.Domyślnie ODBC i OLE DB klientów wydaje połączenia — instrukcja ustawienie ANSI_NULLS ON dla sesja podczas łączenia się do wystąpienie USTAWIONYpoziom SQL Server.Aby uzyskać więcej informacji, zobacz USTAWIENIA ANSI_NULLS (Transact-SQL).
USTAWIENIA ANSI_NULLS również musi być zestaw na podczas tworzenia lub zmiany indeksów dla kolumny obliczanej lub widoki indeksowane.
Stan tej opcji można ustalić poprzez badanie is_ansi_nulls_on kolumna w sys.databases katalogu widoku lub IsAnsiNullsEnabled właściwość DATABASEPROPERTYEX funkcja.
SPOWODOWAŁYBY {ON | OFF}
NA
Ciągi znaków są wyściełane, by taką samą długość przed konwersji lub wstawianie do varchar lub nvarchar typu danych.Końcowe spacje wstawione do wartości znaku varchar lub nvarchar kolumny i końcowe zera w wartości binarnych wstawione do varbinary kolumny nie zostaną obcięte.Wartości nie są wyściełane, by długość kolumna.
WYŁĄCZANIE
Końcowe spacje dla varchar lub nvarchar i zer dla varbinary są przycięte.
Jeżeli określono wartość OFF, to ustawienie dotyczy tylko definicję nowe kolumny.
Ważne: W przyszłej wersja programu SQL Server, spowodowałyby zawsze będzie ON i wszystkie aplikacje, że jawnie zestaw opcję OFF powoduje wygenerowanie błędu.Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.
char(n) i binary(n) kolumny, które pozwalają na wartości Null są wyściełane, by długość kolumna spowodowałyby jest zestaw na, ale końcowe puste i wartości zerowe są obcinane podczas spowodowałyby jest wyłączona.char(n) i binary(n) kolumnach nie akceptujących wartooci Null są zawsze wyściełane, aby długość kolumna.
Połączenie -poziom ustawień, które są zestaw przy użyciu zestawu instrukcja zastąpić domyślna baza danych-poziom dla spowodowałyby.Domyślnie ODBC i OLE DB klientów wydaje połączenia — instrukcja ustawienie spowodowałyby ON dla sesja podczas łączenia się do wystąpienie USTAWIONYpoziom SQL Server.Aby uzyskać więcej informacji, zobacz Ustaw spowodowałyby (Transact-SQL).
Ważne: Zaleca się, że spowodowałyby być zawsze zestaw na.Spowodowałyby musi być ON podczas tworzenia i manipulowania indeksów dla kolumny obliczanej lub widoki indeksowane.
Stan tej opcji można ustalić poprzez badanie is_ansi_padding_on kolumna w sys.databases katalogu widoku lub IsAnsiPaddingEnabled właściwość DATABASEPROPERTYEX funkcja.
ANSI_WARNINGS {ON | OFF}
NA
Błędy lub ostrzeżenia są wydawane, gdy występują warunki, takie jak dzielenie przez zero lub wartooci null są wyświetlane w funkcji wartość zagregowana .WYŁĄCZANIE
Brak ostrzeżeń są hodowane oraz po wystąpieniu warunki, takie jak dzielenie przez zero, zwracane są wartości null .
Ustaw ANSI_WARNINGS musi być zestaw na podczas tworzenia lub zmiany indeksów dla kolumny obliczanej lub widoki indeksowane.
Połączenie -poziom ustawień, które są zestaw przy użyciu zestawu instrukcja zastąpić ustawienie domyślna baza danych ANSI_WARNINGS.Domyślnie ODBC i OLE DB klientów wydaje połączenia — instrukcja ustawienie ANSI_WARNINGS ON dla sesja podczas łączenia się do wystąpienie USTAWIONYpoziom SQL Server.Aby uzyskać więcej informacji, zobacz Ustaw ANSI_WARNINGS (Transact-SQL).
Stan tej opcji można ustalić poprzez badanie is_ansi_warnings_on kolumna w sys.databases katalogu widoku lub IsAnsiWarningsEnabled właściwość DATABASEPROPERTYEX funkcja.
ARITHABORT {ON | OFF}
NA
Kwerenda została zakończona, gdy błąd dzielenia przez zero lub przepełnienie odbywa się podczas wykonywania kwerendy.WYŁĄCZANIE
Wyświetlany jest komunikat ostrzegawczy, gdy wystąpi jedno z tych błędów, ale kwerendy, partialub transakcja kontynuuje przetwarzanie, tak jakby błąd nie wystąpił.
Ustaw ARITHABORT musi być zestaw na podczas tworzenia lub zmiany indeksów dla kolumny obliczanej lub widoki indeksowane.
Stan tej opcji można ustalić poprzez badanie is_arithabort_on kolumna w sys.databases katalogu widoku lub IsArithmeticAbortEnabled właściwość DATABASEPROPERTYEX funkcja.
COMPATIBILITY_LEVEL {80 | 90 | 100}
Aby uzyskać więcej informacji, zobacz ZMIENIA poziom zgodności bazy danych (Transact-SQL).CONCAT_NULL_YIELDS_NULL {ON | OFF}
NA
Wynik operacji łączenie jest NULL, gdy albo argument ma wartość NULL.Na przykład Konkatenowanie ciąg znaków "To jest" a NULL powoduje wartości NULL, zamiast wartości "To jest".WYŁĄCZANIE
Wartość null jest traktowana jako znak pusty ciąg.
CONCAT_NULL_YIELDS_NULL musi być zestaw na podczas tworzenia lub zmiany indeksów dla kolumny obliczanej lub widoki indeksowane.
Ważne: W przyszłej wersja programu SQL Server, CONCAT_NULL_YIELDS_NULL zawsze będzie ON i wszystkie aplikacje, że jawnie zestaw opcję OFF powoduje wygenerowanie błędu.Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.
Połączenie -poziom ustawień, które są zestaw przy użyciu zestawu instrukcja zastąpić ustawienie domyślna baza danych CONCAT_NULL_YIELDS_NULL.Domyślnie ODBC i OLE DB klientów wydaje połączenia — instrukcja ustawienie CONCAT_NULL_YIELDS_NULL ON dla sesja podczas łączenia się do wystąpienie USTAWIONYpoziom SQL Server.Aby uzyskać więcej informacji, zobacz SET CONCAT_NULL_YIELDS_NULL (Transact-SQL).
Stan tej opcji można ustalić poprzez badanie is_concat_null_yields_null_on kolumna w sys.databases katalogu widoku lub IsNullConcat właściwość DATABASEPROPERTYEX funkcja.
QUOTED_IDENTIFIER {ON | OFF}
NA
Podwójny cudzysłów może służyć do należy ująć rozdzielanego identyfikatorów.Wszystkie ciągi rozdzielane w podwójne cudzysłowy są interpretowane jako identyfikatory obiektów.Identyfikatorów w cudzysłowach nie trzeba wykonać Transact-SQL zasady dotyczące identyfikatorów.Może być słowa kluczowe i może zawierać znaków nie jest ogólnie dozwolone w Transact-SQL identyfikatorów.Jeśli pojedynczy cudzysłów (') jest częścią literał ciąg, może być reprezentowany przez podwójny cudzysłów (").
WYŁĄCZANIE
Identyfikatory nie mogą być ujęte w znaki cudzysłowu i należy wykonać wszystkie Transact-SQL zasady dotyczące identyfikatorów.Literały mogą być rozdzielone pojedyncze lub podwójne cudzysłowy.
SQL ServerUmożliwia również dla identyfikatorów rozdzielone przez nawiasy kwadratowe ([]).Identyfikatory w nawiasach kwadratowych zawsze można, niezależnie od ustawienia QUOTED_IDENTIFIER.Aby uzyskać więcej informacji, zobacz Identyfikatory rozdzielanego (aparat bazy danych).
Podczas tworzenia tabela opcji Identyfikator podane jest zawsze przechowywane w sprawie w metadane tabelanawet wtedy, gdy opcja jest zestaw na wyłączone, podczas tworzenia tabela .
Połączenie -poziom ustawień, które są zestaw przy użyciu zestawu instrukcja zastąpić ustawienie domyślna baza danych dla QUOTED_IDENTIFIER.Domyślnie ODBC i OLE DB klientów wydaje połączenia — instrukcja przy łączeniu się z wystąpienie ustawienie QUOTED_IDENTIFIER ON USTAWIONYpoziom SQL Server.Aby uzyskać więcej informacji, zobacz ZESTAW QUOTED_IDENTIFIER (Transact-SQL).
Stan tej opcji można ustalić poprzez badanie is_quoted_identifier_on kolumna w sys.databases katalogu widoku lub IsQuotedIdentifiersEnabled właściwość DATABASEPROPERTYEX funkcja.
NUMERIC_ROUNDABORT {ON | OFF}
NA
Utrata precyzji w wyrażeniegenerowany jest błąd.WYŁĄCZANIE
Straty dokładność nie generować komunikaty o błędach i wynik jest zaokrąglany do precyzji kolumna lub zmiennej przechowywanie wyników.
NUMERIC_ROUNDABORT musi być zestaw na wyłączone podczas tworzenia lub zmiany indeksów dla kolumny obliczanej lub widoki indeksowane.
Stan tej opcji można ustalić poprzez badanie is_numeric_roundabort_on kolumna w sys.databases katalogu widoku lub IsNumericRoundAbortEnabled właściwość DATABASEPROPERTYEX funkcja.
RECURSIVE_TRIGGERS {ON | OFF}
NA
Wypalanie cykliczne z po wyzwalaczy jest dozwolone.WYŁĄCZANIE
Tylko bezpośrednie cykliczne wyzwalania z po wyzwalaczy jest niedozwolone.Aby wyłączyć także pośrednich rekursji po wyzwala, zestaw opcję Serwer wyzwalaczy zagnieżdżonych do 0 za pomocą sp_configure.
Ostrzeżenie
Tylko bezpośrednie rekursji nie będą mogły, gdy RECURSIVE_TRIGGERS jest zestaw na wyłączone.Aby wyłączyć rekursję pośrednie, należy również zestaw nested triggers server opcji do 0.
Stan tej opcji można ustalić poprzez badanie is_recursive_triggers_on kolumna w sys.databases katalogu widoku lub IsRecursiveTriggersEnabled właściwość DATABASEPROPERTYEX funkcja.
Z <zakończenie>:: =
Określa do wycofać nieukończone transakcje, gdy baza danych jest przenoszone z jednego Państwa do drugiego.klauzula wypowiedzenia w przypadku pominięcia instrukcja ALTER DATABASE czeka przez czas nieokreślony Jeśli wszystkie blokada bazy danych.Można określić tylko jeden wypowiedzenia klauzula i wynika z klauzul zestawu.
Ostrzeżenie
Nie wszystkie opcje bazy danych za pomocą z <zakończenie> klauzula.Aby uzyskać więcej informacji zobacz tabela w obszarze "Opcje ustawienie" w sekcji Uwagi.
Wycofywanie po integer [S] | NATYCHMIASTOWE wycofanie
Określa, czy wycofać po określonej liczbie sekund lub natychmiast.NO_WAIT
Określa, że jeśli zmiana stanu lub opcja żądanej bazy danych nie można ukończyć natychmiast bez oczekiwania na transakcje do zatwierdzanie lub wycofać na ich własnych, żądanie zakończy się niepowodzeniem.
Uwagi
Ustawianie opcji
Aby pobrać bieżących ustawień opcji bazy danych, należy użyć sys.databases katalogu widoku lub DATABASEPROPERTYEX.Listę wartości domyślne przypisane do bazy danych podczas jej tworzenia, zobacz Ustawianie opcji bazy danych.
Po można zestaw opcję bazy danych zmiana staje się skuteczne niezwłocznie.
Aby zmienić domyślne wartości dla jednej z opcji bazy danych dla wszystkich nowo utworzone baz danych, zmień opcję odpowiednią bazę danych w model bazy danych.
Nie wszystkie opcje bazy danych za pomocą z <zakończenie> klauzula lub można określić w połączeniu z innymi opcjami.W poniższej tabela wymieniono te opcje i ich stan opcji i zakończenie.
Opcje kategorii |
Można określić przy użyciu innych opcji |
Można korzystać z <zakończenie> klauzula |
---|---|---|
<db_state_option> |
Tak |
Tak |
<db_user_access_option> |
Tak |
Tak |
<db_update_option> |
Tak |
Tak |
<external_access_option> |
Tak |
Nie |
<cursor_option> |
Tak |
Nie |
<auto_option> |
Tak |
Nie |
<sql_option> |
Tak |
Nie |
<recovery_option> |
Tak |
Nie |
<database_mirroring_option> |
Nie |
Nie |
ALLOW_SNAPSHOT_ISOLATION |
Nie |
Nie |
READ_COMMITTED_SNAPSHOT |
Nie |
Tak |
<service_broker_option> |
Tak |
Nie |
DATE_CORRELATION_OPTIMIZATION |
Tak |
Tak |
<parameterization_option> |
Tak |
Tak |
<change_tracking_option> |
Tak |
Tak |
<db_encryption> |
Tak |
Nie |
Pamięć podręczna plan dla wystąpienie SQL Server jest wyczyszczone, ustawiając następujące opcje:
W TRYBIE OFFLINE |
READ_WRITE |
ONLINE |
ZMODYFIKOWAĆ DOMYŚLNE GRUPY PLIKÓW |
MODIFY_NAME |
MODYFIKOWANIE READ_WRITE GRUPY PLIKÓW |
SORTOWANIE |
MODYFIKOWANIE TYLKO_DO_ODCZYTU GRUPY PLIKÓW |
TYLKO_DO_ODCZYTU |
|
Czyszczenie pamięci podręcznej plan powoduje ponowną kompilację wszystkich kolejnych wykonanie planów i może spowodować nagłe, tymczasowe spadek wydajności kwerendy.Dla każdego cachestore wyczyszczone w pamięci podręcznej planu SQL Server dziennik błędów zawiera następujący komunikat informacyjny: "SQL ServerNapotkano %d zamieniono opróżniania dla '% s' cachestore cachestore (część planu w pamięci podręcznej) ze względu na niektórych operacji konserwacji lub ponownej konfiguracji bazy danych".Ten komunikat jest rejestrowany co pięć minut, tak długo, jak jest opróżniany z pamięci podręcznej w tym przedziale czas .
Przykłady
A.Ustawianie opcji dla bazy danych
Poniższy przykład ustawia odzyskiwanie strona AdventureWorks2008R2 przykładowej bazy danych.
USE master;
GO
ALTER DATABASE AdventureWorks2008R2
SET RECOVERY FULL, PAGE_VERIFY CHECKSUM;
GO
B.Ustawienie bazy danych TYLKO_DO_ODCZYTU
Zmiana stanu bazy danych lub grupa plików TYLKO_DO_ODCZYTU lub READ_WRITE wymaga wyłącznego dostępu do bazy danych.W poniższym przykładzie baza danych SINGLE_USER trybie uzyskiwania wyłącznego dostępu.Przykład następnie ustawia stan AdventureWorks2008R2 bazy danych, aby READ_ONLY i zwraca dostępu do bazy danych do wszystkich użytkowników.
Ostrzeżenie
W tym przykładzie użyto opcji zakończenia WITH ROLLBACK IMMEDIATE w pierwszym ALTER DATABASE instrukcja.Wszystkie nieukończone transakcje będą ponownie walcowane i inne połączenia do AdventureWorks2008R2 Przykładowa baza danych zostanie natychmiast rozłączone.
USE master;
GO
ALTER DATABASE AdventureWorks2008R2
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2008R2
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2008R2
SET MULTI_USER;
GO
C.Włączanie izolacji migawka bazy danych
Poniższy przykład włącza opcję migawka izolacji ramy dla AdventureWorks2008R2 bazy danych.
USE AdventureWorks2008R2;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'AdventureWorks2008R2';
GO
USE master;
GO
ALTER DATABASE AdventureWorks2008R2
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check again.
SELECT name, snapshot_isolation_state,
snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'AdventureWorks2008R2';
GO
zestaw wyników pokazuje, że ramy izolacji migawka jest włączone.
name snapshot_isolation_state description
--------------- ------------------------ -----------
AdventureWorks2008R2 1 ON
D.Włączanie, modyfikowanie i wyłączanie śledzenia zmian
Poniższy przykład włącza śledzenie dla zmian AdventureWorks2008R2 bazy danych i Ustawia okres zachowywania do 4 dni.
ALTER DATABASE AdventureWorks2008R2
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);
Poniższy przykład ilustruje sposób zmienić okres zachowywania do 3 dni.
ALTER DATABASE AdventureWorks2008R2
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);
Poniższy przykład ilustruje sposób wyłączania śledzenia zmian AdventureWorks2008R2 bazy danych.
ALTER DATABASE AdventureWorks2008R2
SET CHANGE_TRACKING = OFF;
Zobacz także