ALTER DATABASE SET Options (Transact-SQL)

W tym temacie zawarto składni instrukcji ALTER DATABASE, która jest związana z ustawieniem opcji bazy danych.Aby zapoznać się ze składnią innych instrukcji ALTER DATABASE zobacz ALTER DATABASE języka Transact-SQL). Poziom dublowanie i zgodność bazy danych są opcje zestaw, ale są opisane w odrębnych tematach ze względu na ich długości.Aby uzyskać więcej informacji zobacz ALTER DATABASE dublowanie bazy danych (języka Transact-SQL) i ALTER DATABASE poziom zgodności (języka Transact-SQL).

Topic link iconKonwencje składni języka Transact-SQL

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 nazwą bazy danych, które zostaną zmodyfikowane.

  • AUTO_CLOSE {NA | WYŁĄCZONA}

    • DALEJ
      Kończy pracę z bazą danych niedziałający wyraźne 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 wysyłając USE database_name Instrukcja. Jeśli bazy danych kończy pracę w trybie cleanly AUTO_CLOSE jest zestaw on, baza danych nie otwarciu, aż użytkownik próbuje użyć bazy danych przy następnym Database Engine ponownego uruchomienia.

    • WYŁĄCZANIE
      Baza danych pozostanie otwarty po ostatni użytkownik zamyka.

    Opcja AUTO_CLOSE jest użyteczna w przypadku biurowe bazy danych, ponieważ umożliwia plików baz danych mają być zarządzane jako zwykłe pliki.Te mogą być przenoszone, kopiowane na tworzenie kopii zapasowych lub nawet wysyłane pocztą e-mail do innych użytkowników.

    Uwaga

    We wcześniejszych wersjach SQL ServerAUTO_CLOSE jest procesem synchronicznych, który może spowodować pogorszenie wydajności podczas dostępu do bazy danych przez aplikację, która wielokrotnie i przerywającej do Database Engine. Począwszy od SQL Server 2005, proces AUTO_CLOSE jest asynchroniczne; wielokrotne otwieranie i zamykanie bazy danych nie jest już obniża wydajność.

    Stan tej opcji można określić, przeglądając kolumna is_auto_close_on w widoku sys.databases katalogu lub właściwość IsAutoClose funkcja DATABASEPROPERTYEX.

    Uwaga

    Kiedy AUTO_CLOSE jest włączone, niektóre kolumny w sys.Databases wykazu widoku i funkcja DATABASEPROPERTYEX zwróci wartość NULL ponieważ baza danych jest niedostępny do pobierania danych.Aby rozwiązać ten problem, należy wykonać instrukcja USE, aby otworzyć bazę danych.

    Uwaga

    Dublowanie bazy danych wymaga AUTO_CLOSE OFF.

    Gdy baza danych jest ustawiony na AUTOCLOSE = ON operację, która inicjuje czyści zamknięcia automatyczne bazy danych planu pamięci podręcznej dla wystąpienie SQL Server. Czyszczenie pamięci podręcznej plan powoduje ponowną kompilację wszystkich planów późniejsze wykonanie i może spowodować nagłe, tymczasowe spadek wydajności kwerendy.W SQL Server 2005 Z dodatkiem usługa 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 Server Napotkano %d zamieniono cachestore opróżniania dla cachestore '% s' (część pamięci podręcznej plan) ze względu na pewne konserwacji bazy danych lub ponownie skonfigurować operacji".Ten komunikat jest rejestrowany co pięć minut, dopóki bufor jest opróżniany w tym przedziale czas.

  • AUTO_CREATE_STATISTICS {NA | WYŁĄCZONA}

    • DALEJ
      optymalizator kwerendy tworzy statystyki dla pojedynczej kolumny w predykaty kwerendy, w razie potrzeby poprawić planów kwerend i wydajność kwerendy.Te statystyki jednokolumnową są tworzone podczas kwerendy kompiluje optymalizator kwerendy.Statystyki jednokolumnową są tworzone tylko na kolumna, które nie są już istniejącego obiektu statystyk z pierwszej kolumna.

      Wartością domyślną jest włączone.Firma Microsoft zaleca, aby użyć domyślnego ustawienia dla większości baz danych.

    • WYŁĄCZANIE
      optymalizator kwerendy nie tworzy statystyki pojedynczej kolumny w kwerendzie predykatów, gdy jest on kompilowania kwerend.Ustawienie wyłączona dla tej opcji może spowodować, że planów kwerend suboptimal i obniża wydajność kwerendy.

    Stan tej opcji można określić, przeglądając kolumna is_auto_create_stats_on w widoku sys.databases katalogu lub właściwość IsAutoCreateStatistics funkcja DATABASEPROPERTYEX.

    Aby uzyskać więcej informacji zobacz w sekcji "Using obowiązujących w całej bazy danych statystyki opcje" Using Statistics to Improve Query Performance.

  • AUTO_SHRINK {NA | WYŁĄCZONA}

    • DALEJ
      Pliki bazy danych są kandydatami do zmniejszania okresowych.

      Plik danych i pliki dziennika mogą być automatycznie ściągnąć.AUTO_SHRINK zmniejsza rozmiar dziennik transakcji, tylko wtedy, gdy baza danych jest zestaw modelu odzyskiwanie SIMPLE lub jeśli dziennik jest kopii zapasowej.Gdy zestaw do OFF, pliki bazy danych są nie automatycznie ściągnąć podczas okresowo sprawdza, czy nieużywane miejsce.

      Opcja AUTO_SHRINK powoduje, że pliki ściągnąć, gdy więcej niż 25 procent plik zawiera nieużywane miejsce.Podczas tworzenia, zależnie od tego, który jest większy, plik jest ściągnąć rozmiar, w których 25 procent pliku jest nieużywane miejsce lub rozmiar pliku.

      Tylko do odczytu bazy danych nie może zostać zmieniona.

    • WYŁĄCZANIE
      Pliki bazy danych nie są automatycznie ściągnąć podczas okresowo sprawdza, czy nieużywane miejsce.

    Stan tej opcji można określić, przeglądając kolumna is_auto_shrink_on w widoku sys.databases katalogu lub właściwość IsAutoShrink funkcja DATABASEPROPERTYEX.

  • AUTO_UPDATE_STATISTICS {NA | WYŁĄCZONA}

    • DALEJ
      Określa, że optymalizator kwerendy aktualizuje statystyki, gdy są one używane przez kwerendę i mogą być nieaktualne.Statystyki stają się poza - o-data po wstawić, maksymalnie data, usuwanie lub scalić operacje zmiany rozkładu danych tabela lub widok indeksowany.optymalizator kwerendy określa, kiedy statystyki może być poza - z-data zliczając liczbę modyfikacji danych od czasu ostatniego statystyki data i porównanie liczby zmian progu.Próg zależy od liczby wierszy w tabela lub widok indeksowany.

      Kwerendy Optymalizator kontroli dla poza - o-data statystyki przed kompilowania kwerendy i przed wykonaniem buforowanego planu kwerend.Przed kompilowania kwerendy, optymalizator kwerendy korzysta z kolumn tabel, i widoki indeksowane w predykacie kwerendy, aby określić, które statystyki może być mało - z-data.Przed wykonaniem buforowanego planu kwerend, Database Engine sprawdza, czy plan kwerend odwołuje - do-data statystyki.

      Opcja AUTO_UPDATE_STATISTICS odnosi się do tworzenia indeksów kolumn pojedyncze predykaty kwerendy i dane statystyczne, które zostały utworzone za pomocą instrukcja CREATE STATISTICS statystyki.Opcja ta dotyczy również filtrowanych danych statystycznych.

      Wartością domyślną jest włączone.Firma Microsoft zaleca, aby użyć domyślnego ustawienia dla większości baz danych.

      Opcja AUTO_UPDATE_STATISTICS_ASYNC służy do określania, czy aktualizacji statystyk synchronicznego lub asynchronicznego.

    • WYŁĄCZANIE
      Określa, że optymalizator kwerendy nie aktualizuje statystyki są one używane przez kwerendę i mogą być nieaktualne.Ustawienie wyłączona dla tej opcji może spowodować, że planów kwerend suboptimal i obniża wydajność kwerendy.

    Stan tej opcji można określić, przeglądając kolumna is_auto_update_stats_on w widoku sys.databases katalogu lub właściwość IsAutoUpdateStatistics funkcja DATABASEPROPERTYEX.

    Aby uzyskać więcej informacji zobacz w sekcji "Using obowiązujących w całej bazy danych statystyki opcje" Using Statistics to Improve Query Performance.

  • AUTO_UPDATE_STATISTICS_ASYNC {NA | WYŁĄCZONA}

    • DALEJ
      Określa, że aktualizacje statystyki dla opcji AUTO_UPDATE_STATISTICS asynchronicznego.optymalizator kwerendy nie czeka na zakończenie przed jej kompiluje kwerendy aktualizacji statystyki.

      tę opcję, aby ON jest ignorowany, chyba że AUTO_UPDATE_STATISTICS ting zestaw zestaw on.

      Domyślnie opcja AUTO_UPDATE_STATISTICS_ASYNC jest zestaw do OFF, i optymalizator kwerendy aktualizuje statystyki synchronicznie.

    • WYŁĄCZANIE
      Określa, że aktualizacje statystyki dla opcji AUTO_UPDATE_STATISTICS są synchroniczne.optymalizator kwerendy czeka na zakończenie przed jej kompiluje kwerendy statistcs aktualizacji.

      tę opcję, aby OFF jest ignorowany, chyba że AUTO_UPDATE_STATISTICS ting zestaw zestaw on.

    Stan tej opcji można określić, przeglądając kolumna is_auto_update_stats_async_on w widoku sys.databases wykazu.

    Aby uzyskać więcej informacji, która opisuje, kiedy należy używać aktualizacji statystyk synchroniczna lub asynchroniczna, zobacz w sekcji "Using obowiązujących w całej bazy danych statystyki opcje" Using Statistics to Improve Query Performance.

<change_tracking_option>::=

Formanty Zmień opcje śledzenia.Można włączyć śledzenie, zmian zestaw opcje, zmień opcje i wyłączanie śledzenia zmian.Aby zapoznać się z przykładami zobacz sekcję przykłady w dalszej części tego tematu.

  • DALEJ
    Umożliwia zmienianie śledzenia dla bazy danych.Po włączeniu śledzenia zmian, można również ustawić opcje oczyszczania AUTO i przechowywania CHANGE.

  • AUTO_CLEANUP = {DALEJ | OFF }

    • DALEJ
      Informacje śledzenia zmian są automatycznie usuwane po upływie okresu przechowywania określonych.

    • WYŁĄCZANIE
      Dane śledzenia zmian nie jest usuwany z bazy danych.

  • CHANGE_RETENTION = retention_period { DNI | Godziny | MINUTES}
    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_period jest to liczba całkowita, która określa numeryczny składnika okres zachowywania.

    Domyślny okres zachowywania wynosi 2 dni.Okres zachowywania minimalną jest 1 minuta.

  • WYŁĄCZANIE
    Wyłącza zmienić śledzenia dla bazy danych.Należy wyłączyć zmian na wszystkich tabelach, zanim można wyłączyć śledzenie wyłączona w bazie danych zmian.

<cursor_option>::=

Określa opcje kursor.

  • CURSOR_CLOSE_ON_COMMIT {NA | WYŁĄCZONA}

    • DALEJ
      Wszelkie otwarte, gdy transakcja jest zatwierdzona lub jej wycofania kursory są zamknięte.

    • WYŁĄCZANIE
      Kursory pozostają otwarte, gdy transakcja jest zatwierdzona, wycofywanie transakcji zamyka jakiekolwiek kursory, z wyjątkiem tych, które są zdefiniowane jako INSENSITIVE lub STATYCZNEJ.

    Ustawienia poziom połączenia, ustawione za pomocą instrukcja zestaw zastąpić domyślne ustawienie CURSOR_CLOSE_ON_COMMIT bazy danych.Domyślnie, klienci ODBC i OLE DB wydawania instrukcja zestaw poziom połączeń, ustawienie CURSOR_CLOSE_ON_COMMIT OFF dla sesja podczas łączenia się z wystąpienie SQL Server. Aby uzyskać więcej informacji zobaczSET CURSOR_CLOSE_ON_COMMIT (Transact-SQL).

    Stan tej opcji można określić, przeglądając kolumna is_cursor_close_on_commit_on w widoku sys.databases katalogu lub właściwość IsCloseCursorsOnCommitEnabled funkcja DATABASEPROPERTYEX.

  • CURSOR_DEFAULT {LOKALNEGO | GLOBALNE}
    Określa, czy zakres kursor używa LOCAL lub GLOBAL.

    • LOKALNE
      Gdy określono LOCAL i kursor nie jest zdefiniowany jako GLOBAL podczas tworzenia, zakres kursora jest lokalnego do partia, procedura przechowywana lub 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 kursora w partia, procedura przechowywana, wyzwalacza lub procedura przechowywana parametr OUTPUT.Kursor jest niejawnie dealokowane po zakończeniu partia, procedura przechowywana lub wyzwalacza, o ile nie została przekazana po powrocie do parametru WYJŚCIOWEGO.Jeśli kursor zostanie przekazany po powrocie do parametru WYJŚCIOWEGO, kursor jest przydziałów podczas ostatniego zmienna, która odwołuje się ona jest przydziałów lub wykracza poza zakres.

    • GLOBALNE
      Gdy GLOBAL jest określony, a kursor nie jest zdefiniowany jako LOCAL podczas tworzenia, zakresem kursor jest globalny do połączenia.Nazwa kursor można odwoływać się w procedurze przechowywanej lub wsadowym wykonane przez połączenie.

    Niejawnie deallocated tylko przy rozłączaniu znajduje się kursor.Aby uzyskać więcej informacji zobaczDECLARE CURSOR (Transact-SQL).

    Stan tej opcji można określić, przeglądając kolumna is_local_cursor_default w widoku sys.databases katalogu lub właściwość IsLocalCursorsDefault funkcja DATABASEPROPERTYEX.

<database_mirroring>

Aby uzyskać opis argumentu zobacz temat ALTER DATABASE dublowanie bazy danych (języka Transact-SQL).

<date_correlation_optimization_option> ::=

Określa opcję date_correlation_optimization.

  • DATE_CORRELATION_OPTIMIZATION {NA | WYŁĄCZONA}

    • DALEJ
      SQL Server obsługuje statystykę korelacji między wszystkie dwie tabele w bazie danych, które są połączone przez ograniczenie klucz obcy i mieć datetime kolumny. Aby uzyskać więcej informacji zobaczOptimizing Queries That Access Correlated datetime Columns.

    • WYŁĄCZANIE
      Statystyki korelacji nie są obsługiwane.

    Aby zestaw DATE_CORRELATION_OPTIMIZATION on musi być nie aktywnych połączeń z bazą danych, z wyjątkiem dla połączenia, który jest wykonywany instrukcja ALTER DATABASE.Następnie wiele połączeń są obsługiwane.

    Bieżące ustawienie tej opcji można określić, przeglądając kolumna is_date_correlation_on w widoku sys.databases wykazu.

<db_encryption_option>::=

Określa stan szyfrowanie bazy danych.

Po włączeniu szyfrowanie poziom bazy danych wszystkie filegroups będą szyfrowane.Każdy nowy filegroups odziedziczy właściwość zaszyfrowane.Jeśli wszystkie filegroups w bazie danych są zestaw do READ ONLY, operacja szyfrowanie bazy danych nie powiedzie się.

Stan szyfrowanie bazy danych można wyświetlić przy użyciu sys.dm_database_encryption_keys dynamicznego zarządzania widoku.

<db_state_option>::=

Steruje stanem bazy danych.

  • TRYB OFFLINE
    Baza danych jest zamknięte, czysto zamknąć i oznaczony jako w trybie offline.Baza danych nie można modyfikować w czasie, gdy jest w trybie offline.

  • TRYB ONLINE
    Baza danych jest otwarty i dostępne do użytku.

  • AWARYJNE
    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.ZAGROŻENIA jest używany głównie w celu rozwiązywania problemów.Na przykład bazy danych oznaczony jako podejrzane z powodu do pliku dziennika uszkodzony może być ustawiona na stan zagrożenia.Może to umożliwić administrator systemu dostęp tylko do odczytu do bazy danych.Tylko członkowie sysadmin, stałe roli serwera zestaw bazy danych, stan zagrożenia.

Stan tej opcji można określić, sprawdzając stan i state_desc kolumn w sys.Databases wykazu widoku lub właściwość status DATABASEPROPERTYEX funkcja.Aby uzyskać więcej informacji zobaczDatabase States.

Nie zestaw RESTORING OFFLINE, ONLINE, lub w nagłych oznaczył bazy danych.Baza danych może być w stanie RESTORING podczas operacji przywracanie aktywny lub operacji przywracanie bazy danych lub dziennika plikiem kończy się niepowodzeniem z powodu uszkodzenia plik kopia zapasowa.Aby uzyskać więcej informacji zobaczResponding to SQL Server Restore Errors Caused by Damaged Backups.

<db_update_option>::=

Określa, czy aktualizacje są dozwolone w bazie danych.

  • READ_ONLY
    Użytkownicy mogą odczytywać dane z bazy danych, ale nie można go zmodyfikować.

  • READ_WRITE
    Baza danych jest dostępna dla operacji zapisu i odczytu.

Aby zmienić ten stan, musi mieć wyłączny dostęp do bazy danych.Aby uzyskać więcej informacji zobacz klauzulę SINGLE_USER.

<db_user_access_option> ::=

Umożliwia sterowanie dostępem użytkowników do bazy danych.

  • SINGLE_USER
    Określa, że tylko jeden użytkownik w danej chwili można uzyskać dostęp do bazy danych.Jeśli określono SINGLE_USER i nie ma innych użytkowników połączony z bazą danych instrukcja ALTER DATABASE zostaną zablokowane do chwili rozłączyć wszystkich użytkowników z określonej bazy danych.Aby zastąpić to zachowanie, zobacz temat WITH <Zakończenie> Klauzula.

    W bazie danych pozostaje w trybie SINGLE_USER, nawet jeśli użytkownik który zestaw wylogowuje się z opcji.W tym punkcie innego użytkownika, ale tylko jedno może połączyć się z bazą danych.

    Przed rozpoczęciem zestaw bazy danych do SINGLE_USER, upewnij się, jest opcja AUTO_UPDATE_STATISTICS_ASYNC zestaw na OFF.Gdy zestaw on, wątek tła używany w celu aktualizacja statystyki trwa połączenie w bazie danych, i będzie mógł uzyskać dostęp do bazy danych tryb jednego użytkownika.Aby wyświetlić stan tej opcji, kwerendy kolumna is_auto_update_stats_async_on sys.Databases Służy do wyświetlania katalogu. Jeśli opcja jest zestaw on, należy wykonać następujące czynności:

    1. zestaw AUTO_UPDATE_STATISTICS_ASYNC na OFF.

    2. Sprawdź, czy zadania aktywne statystyki asynchroniczne wykonywanie kwerend sys.dm_exec_background_job_queue dynamicznego zarządzania widoku.

    W przypadku aktywnych zadań, albo zezwolić zadania do wykonania lub zakończyć je ręcznie za pomocą ZADANIE STATYSTYKA "ZABICIA".

  • RESTRICTED_USER
    RESTRICTED_USER umożliwia tylko członkowie roli db_owner stałej bazy danych i dbcreator oraz sysadmin stałe role serwera do połączenia się z bazą danych, ale nie ograniczy ich liczbę.Wszystkie połączenia z bazą danych są rozłączane w przedziale czasowym określonym przez klauzula zakończenie instrukcja ALTER DATABASE.Po bazy danych ma transitioned do stanu RESTRICTED_USER, prób nawiązania połączenia przez użytkowników niekwalifikowanych są odrzucane.

  • MULTI_USER
    Wszystkich użytkowników, którzy mają odpowiednie uprawnienia do łączenia się z bazą danych są dozwolone.

Stan tej opcji można określić, przeglądając kolumna user_access w widoku sys.databases katalogu lub właściwość UserAccess funkcja DATABASEPROPERTYEX.

<external_access_option>::=

Określa, czy w bazie danych są dostępne zasoby zewnętrzne, takie jak obiekty z innej bazy danych.

  • DB_CHAINING {NA | WYŁĄCZONA}

    • DALEJ
      Baza danych może być źródłowego lub docelowego łańcuch własności bazy danych między.

    • WYŁĄCZANIE
      Baza danych nie może uczestniczyć w międzybazowy łańcuch własności.

    Important noteImportant Note:

    Wystąpienie SQL Server Spowoduje to ustawienie jest rozpoznawane podczas krzyżowego db własność łańcucha serwera opcji wynosi 0 (OFF). Tworzenie łańcucha własności innej DB, jeśli jest 1 (ON) wszystkich użytkowników DB może uczestniczyć w łańcuchy własność DB między, niezależnie od wartości tej opcji.Ta opcja jest zestaw przy użyciu sp_configure.

    Aby zestaw ta opcja wymaga członkostwo w roli sysadmin stałych serwera.W tych nie zestaw opcję DB_CHAINING bazy danych systemu: wzorzec, modelu i tempdb.

    Stan tej opcji można określić, przeglądając kolumna is_db_chaining_on w widoku sys.databases wykazu.

    Aby uzyskać więcej informacji zobacz Ownership Chains.

  • GODNE ZAUFANIA {NA | WYŁĄCZONA}

    • DALEJ
      Moduły bazy danych (na przykład, funkcje zdefiniowane przez użytkownika lub procedury przechowywane), które personifikacji kontekstu, może uzyskać dostęp do zasobów poza bazą danych.

    • WYŁĄCZANIE
      Moduły bazy danych w kontekście personifikacji nie może uzyskać dostęp do zasobów poza bazą danych.

    TRUSTWORTHY ma wartość OFF, za każdym razem, gdy baza danych jest podłączony.

    Domyślnie wszystkie systemu bazy danych z bazy danych msdb mają TRUSTWORTHY zestaw na OFF.Nie można zmienić wartości dla modelu i tempdb baz danych.Zaleca się, że użytkownik nigdy nie zestaw ZAUFANEGO opcję on dla wzorzec bazy danych.

    Aby zestaw ta opcja wymaga członkostwo w roli sysadmin stałych serwera.

    Stan tej opcji można określić, przeglądając kolumna is_trustworthy_on w widoku sys.databases wykazu.

<parameterization_option> ::=

Kontroluje opcji Parametry.

  • isencrypted

    • PROSTE
      Kwerendy są parametryzowane oparte na zachowanie domyślne bazy danych.Aby uzyskać więcej informacji zobaczParametryzacja proste.

    • WYMUSZONA
      SQL Server parameterizes wszystkie kwerendy w bazie danych.Aby uzyskać więcej informacji zobaczParametryzacja wymuszony.

    Bieżące ustawienie tej opcji można określić, przeglądając kolumna is_parameterization_forced w widoku sys.databases wykazu.

<recovery_option> ::=

Formanty bazy danych, opcje odzyskiwanie i sprawdzania błędów We/Wy dysku.

  • PEŁNE
    Zapewnia pełne odzyskiwanie po awarii nośników przy użyciu kopie zapasowe dziennik transakcji.Jeśli plik danych jest uszkodzony, nośnika odzyskiwanie można przywrócić wszystkie przekazane transakcje.Aby uzyskać więcej informacji zobaczBackup Under the Full Recovery Model.

  • BULK_LOGGED
    Zapewnia odzyskiwanie po awarii nośników, łącząc najlepszą wydajność i najmniejszą ilość miejsca w dzienniku użycia dla określonych dużych operacjach lub operacje zbiorcze.Aby dowiedzieć się, jakie operacje są rejestrowane zbiorczej zobacz Operations That Can Be Minimally Logged. W obszarze modelu odzyskiwanie BULK_LOGGED rejestrowania dla tych operacji jest minimalne.Aby uzyskać więcej informacji zobaczBackup Under the Bulk-Logged Recovery Model.

  • PROSTE
    Proste strategii wykonywania kopii zapasowych, korzystającej z minimalnym dziennika jest dostępna.Miejsca w dzienniku może zostać użyty automatycznie ponownie, gdy nie jest już wymagane w przypadku odzyskiwanie awaria serwera.Aby uzyskać więcej informacji zobaczBackup Under the Simple Recovery Model.

    Important noteImportant Note:

    Proste model odzyskiwanie jest łatwiejsze w zarządzaniu niż dwóch modeli, ale na koszt większy ekspozycji utraty danych, jeśli plik danych jest uszkodzony.Wszystkie zmiany od momentu ostatniej bazy danych lub kopia zapasowa bazy danych różnicowe zostaną utracone i ręcznie reentered.

Wartość domyślna model odzyskiwanie zależy od tego, model odzyskiwanie modelu bazy danych.Aby uzyskać więcej informacji na temat zaznaczania modelu odpowiednie odzyskiwanie Zobacz Choosing the Recovery Model for a Database.

Stan tej opcji można określić, przeglądając recovery_model i recovery_model_desc kolumn w widoku sys.databases katalogu lub właściwość odzyskiwanie funkcja DATABASEPROPERTYEX.

  • TORN_PAGE_DETECTION {NA | WYŁĄCZONA}

    • DALEJ
      Niepełne strony mogą być wykryte przez Database Engine.

    • WYŁĄCZANIE
      Niepełne strony nie mogą być wykryte przez Database Engine.

    Important noteImportant Note:

    Struktura składni TORN_PAGE_DETECTION ON | OFF zostaną usunięte w przyszłej wersja programu SQL Server. Należy unikać stosowania tej struktury składni w nowej pracy rozwoju i zaplanować do modyfikowania aplikacji korzystających aktualnie struktury składni.Zamiast tego należy użyć opcji PAGE_VERIFY.

  • PAGE_VERIFY {suma kontrolna | TORN_PAGE_DETECTION | NONE}
    Wykrywa stron uszkodzonej bazy danych spowodowane przez błędy ścieżka We/Wy dysku.Błędy ścieżka We/Wy dysku może być przyczyną bazę danych problemów uszkodzenia i są zazwyczaj spowodowane awarie zasilania lub awarii sprzętu dysku, które występują w czas strona jest zapisywany na dysku.

    • SUMA KONTROLNA
      Oblicza zawartość całej strona suma kontrolna i przechowuje wartość w nagłówku strona, gdy strona są zapisywane na dysku.Gdy strona jest odczytywany z dysku, tej suma kontrolna jest przeliczane i porównywana z wartością suma kontrolna zachowywane w nagłówku strony.Jeśli wartości nie są zgodne, komunikat o błędzie 824 (co oznacza błąd suma kontrolna) jest zgłaszane do obu SQL Server Dziennik błędów i okien zdarzenie dziennika. Błąd suma kontrolna wskazuje problem ścieżka We/Wy.Aby określić katalog główny przyczyna wymaga badania sprzętu, sterowników oprogramowania układowego, BIOS, sterowników filtrów (takie jak oprogramowanie wirus) i inne składniki ścieżka We/Wy.

    • TORN_PAGE_DETECTION
      Zapisuje określony wzorzec 2-bitową dla każdego sektora 512-bajtowych w strona 8 kilobajtów (KB) bazy danych i przechowywane w nagłówku strony bazy danych, gdy strony są zapisywane na dysku.Gdy strona jest odczytywany z dysku, poszarpane bitów, przechowywane w nagłówku strony są porównywane z informacji o sektorach Strona rzeczywista.Niezgodne wartości wskazują, czy tylko część strona zostały zapisane na dysku.W takim przypadku komunikat o błędzie 824 (co oznacza błąd strona poszarpane) po zgłoszeniu do obu SQL Server Dziennik błędów, a w dzienniku zdarzeń systemu Windows. strona poszarpane zazwyczaj są wykrywane przez odzyskiwanie bazy danych, jeśli jest on naprawdę niekompletne zapisu strona.Jednak inne błędy ścieżka We/Wy mogą powodować poszarpane strona w dowolnym czas.

    • BRAK
      Database page writes will not generate a CHECKSUM or TORN_PAGE_DETECTION value.SQL Server will not verify a checksum or torn page during a read even if a CHECKSUM or TORN_PAGE_DETECTION value is present in the page header.

    Po wybraniu opcji PAGE_VERIFY, należy wziąć pod uwagę następujące ważne kwestie:

    • W SQL Server 2005 i SQL Server 2008, domyślnie jest to funkcja suma kontrolna. W SQL Server 2000TORN_PAGE_DETECTION jest to wartość domyślna.

    • Gdy użytkownik lub systemowej bazy danych jest uaktualniany do SQL Server 2005 lub SQL Server 2008, wartość PAGE_VERIFY (Brak lub TORN_PAGE_DETECTION) jest zachowywana. Zaleca się, że używasz Funkcja suma kontrolna.

      Uwaga

      We wcześniejszych wersjach SQL Server, opcja PAGE_VERIFY bazy danych jest zestaw / / / none dla tempdb bazy danych i nie mogą być modyfikowane. W SQL Server 2008, wartością domyślną dla bazy danych tempdb jest funkcja suma kontrolna dla nowych instalacji SQL Server. W przypadku uaktualniania instalacji SQL Server, wartością domyślną jest brak. Opcja może być modyfikowany.Zaleca się stosowanie Funkcja suma kontrolna w bazie danych tempdb.

    • TORN_PAGE_DETECTION mogą korzystać z mniejszą ilość zasobów, ale zapewnia minimalny podzbiór ochrony Funkcja suma kontrolna.

    • Może być ustawiona PAGE_VERIFY bez przełączanie w bazie danych trybu offline, blokowania bazy danych lub w przeciwnym razie utrudnić współbieżność w tej bazie danych.

    • Funkcja suma kontrolna się wzajemnie wykluczają do TORN_PAGE_DETECTION.Nie można włączyć obie opcje w tym samym czasie.

    Po wykryciu poszarpane strona lub błąd suma kontrolna, można je odzyskać przez przywrócenie danych lub potencjalnie przebudowywanie indeksu, jeśli uszkodzenie jest ograniczone tylko do stron w indeksie.Jeśli wystąpi błąd suma kontrolna, aby określić typ strona bazy danych lub strona, należy uruchomić CHECKDB DBCC.Aby uzyskać więcej informacji na temat opcji przywracanie Zobacz RESTORE Arguments (Transact-SQL). Mimo że przywrócenie danych rozwiąże problem uszkodzenie danych, głównej przyczyny, na przykład awaria sprzętowa dysku, powinny być zdiagnozowana i jak najszybciej poprawić, aby uniemożliwić dalsze błędy.

    SQL Server będzie ponawiać wszelkie odczytu, nie działa z suma kontrolna, poszarpane strona lub inny błąd We/Wy cztery razy.W przypadku pomyślnego w jednym z prób ponawiania odczytu 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, to polecenie zakończy się niepowodzeniem z komunikatem o błędzie 824.

    Aby uzyskać więcej informacji na temat suma kontrolna podarte komunikatów o błędzie odczytu ponownych prób, strona, 823 824 i inne SQL Server Funkcje inspekcji we/wy, to zobaczyć Witryny firmy Microsoft w sieci Web.

    Bieżące ustawienie tej opcji można określić, przeglądając kolumna page_verify_option w sys.Databases Właściwość IsTornPageDetectionEnabled lub wykazu widokuDATABASEPROPERTYEX funkcja.

<service_broker_option>::=

Następujące formanty Service Broker opcje: Włącza lub wyłącza dostarczanie wiadomości, ustawia nowe Service Broker Identyfikator lub zestawy priorytetów konwersacji na ON lub OFF. Aby uzyskać więcej informacji na temat wiadomości dostarczania i Service Broker identyfikatory, zobacz Zarządzanie usługa Broker tożsamości. Aby uzyskać więcej informacji na temat poziomów priorytetu konwersacji zobacz Priorytety konwersacji. Przykłady przedstawiają metody korzystania z opcji HONOR_BROKER_PRIORITY można znaleźć w temacie Zarządzanie priorytety konwersacji.

  • ENABLE_BROKER
    Określa, że Service Broker jest włączone dla określonej bazy danych. Dostarczanie wiadomości jest uruchomiona, a flaga is_broker_enabled jest zestaw na wartość true w widoku sys.databases wykazu.W bazie danych, zachowuje istniejące Service Broker identyfikator.

    Uwaga

    ENABLE_BROKER wymaga blokada wyłączności bazy danych.Jeśli inne sesje zostały zablokowane zasobów w bazie danych, ENABLE_BROKER będzie czekał innych sesji zwolnić blokady ich.Aby włączyć Service Broker w bazie danych użytkownika Upewnij się, nie innych sesji używających bazy danych przed uruchomieniem w instrukcja ALTER DATABASE zestaw ENABLE_BROKER, takie jak umieszczenie bazy danych w trybie pojedynczego użytkownika. Aby włączyć Service Broker w bazie danych msdb najpierw zatrzymać SQL Server Agent tak, aby Service Broker można uzyskać blokada niezbędne.

  • DISABLE_BROKER
    Określa, że Service Broker jest wyłączony dla określonej bazy danych. Dostarczanie wiadomości zostanie zatrzymana, a flaga is_broker_enabled jest zestaw do fałszywych w widoku sys.databases wykazu.W bazie danych, zachowuje istniejące Service Broker identyfikator.

  • NEW_BROKER
    Określa, że baza danych powinna znaleźć się nowy identyfikator brokera.Ponieważ baza danych jest traktowana jako nowa usługa Broker, wszystkie konwersacje istniejących w bazie danych są natychmiast usuwane bez wytwarzania koniec okna dialogowego wiadomości.Każda trasa, która odwołuje się do starego Service Broker Identyfikator musi być utworzony ponownie z nowym identyfikatorem.

  • ERROR_BROKER_CONVERSATIONS
    Określa, że Service Broker dostarczanie wiadomości jest włączona. This preserves the existing Service Broker identifier for the database.Service Broker ends all conversations in the database with an error.Dzięki temu aplikacje, aby wykonać regularne czyszczenie do istniejącej konwersacji.

  • HONOR_BROKER_PRIORITY {NA | WYŁĄCZONA}

    • DALEJ
      Wysłanie operacji wziąć pod uwagę poziomy priorytetu, które są przypisane do konwersacji.Przed wiadomości będą wysyłane komunikaty z poziomu Wysoki priorytet rozmowy z konwersacji, którym przypisano poziom niski priorytet.

    • WYŁĄCZANIE
      Wysłanie operacji uruchamiania, jeśli wszystkie konwersacje domyślny poziom priorytetu.

    Zmiany opcji HONOR_BROKER_PRIORITY zaczynają obowiązywać natychmiast dla nowych okien dialogowych i okien dialogowych, w których wiadomości nie oczekuje na wysłanie.Okna dialogowe, które wiadomości czekające na wysłanie przy uruchamianiu ALTER DATABASE nie Podnieś nowe ustawienie, dopóki nie zostały wysłane niektóre z wiadomości do okna dialogowego.Czas, przed rozpoczęciem wszystkie okna dialogowe, za pomocą nowego ustawienia mogą się znacznie różnić.

    Bieżące ustawienie tej właściwość jest raportowany kolumna is_broker_priority_honored sys.DatabasesSłuży do wyświetlania katalogu .

<snapshot_option>::=

Określa poziom izolacji transakcji.

  • ALLOW_SNAPSHOT_ISOLATION {NA | WYŁĄCZONA}

    • DALEJ
      Transakcje można określić poziom izolacji transakcji migawka.Podczas transakcji poziom izolacji migawka, wszystkie instrukcje Zobacz migawka danych, ponieważ istnieje w chwili rozpoczęcia transakcji.Jeśli używany jest poziom izolacji migawka transakcji uzyskuje dostęp do danych w wielu baz danych, ALLOW_SNAPSHOT_ISOLATION musi być ustawiony na ON w wszystkie bazy danych albo każdej instrukcja w transakcji muszą używać wskazówki blokowania na każde odwołanie w klauzula FROM do tabela w bazie danych, gdzie ALLOW_SNAPSHOT_ISOLATION jest wyłączona.

    • WYŁĄCZANIE
      Transakcji nie można określić poziom izolacji transakcji migawka.

    Gdy użytkownik zestaw ALLOW_SNAPSHOT_ISOLATION do nowego stanu (W celu OFF lub OFF on), ALTER DATABASE nie zwraca sterowania do obiektu wywołującego aż do wszystkich istniejących transakcji w bazie danych są przekazywane.Jeśli baza danych jest już w stanie, określona w instrukcja ALTER DATABASE, formant jest zwracana do obiektu wywołującego natychmiast.Jeśli w instrukcja ALTER DATABASE nie zwraca się szybko, należy użyć sys.dm_tran_active_snapshot_database_transactions , aby ustalić, czy istnieją transakcje długim.Instrukcja ALTER DATABASE zostało anulowane, w bazie danych pozostaje w stanie był, gdy instrukcji ALTER DATABASE została uruchomiona.The sys.databases catalog view indicates the state of migawka-isolation transactions in the database.Jeśli snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF będzie wstrzymać sześć sekund i ponów próbę wykonania operacji.

    Nie można zmienić stan ALLOW_SNAPSHOT_ISOLATION, jeśli baza danych jest OFFLINE.

    Jeśli użytkownik ALLOW_SNAPSHOT_ISOLATION zestaw bazy TYLKO_DO_ODCZYTU zestaw ting zostaną zachowane, jeśli baza danych jest nowszy zestaw do READ_WRITE.

    Można zmienić ustawienia ALLOW_SNAPSHOT_ISOLATION dla wzorca, modelu, msdb i baz danych tempdb.Jeśli zmienisz ustawienie w tempdb ustawienie będzie zachowane przy każdym wystąpieniu Database Engine zatrzymania i ponownego uruchomienia. Jeśli zmienisz ustawienie w modelu, ustawienie staje się domyślnym dla wszystkich nowych baz danych, które zostały utworzone, z wyjątkiem dla tempdb.

    Opcja ta jest włączone, domyślnie wzorca i msdb baz danych.

    Bieżące ustawienie tej opcji można określić, przeglądając kolumna snapshot_isolation_state w widoku sys.databases wykazu.

  • READ_COMMITTED_SNAPSHOT {NA | WYŁĄCZONA}

    • DALEJ
      Określanie odczytu, zatwierdzone transakcje poziom izolacji za pomocą wersji wiersza, a nie blokowania.Podczas odczytu izolacji zadeklarowana poziom transakcji, wszystkie instrukcje Zobacz migawka danych, ponieważ istnieje na początku instrukcja.

    • WYŁĄCZANIE
      Transakcje określające poziom izolacji odczytu POPEŁNIONYCH korzystanie z blokowania.

    Aby zestaw READ_COMMITTED_SNAPSHOT ON lub OFF, nie może być nie aktywnych połączeń z bazą danych, z wyjątkiem dla połączenia, w którym wykonywane jest polecenie ALTER DATABASE.Jednak w bazie danych nie ma być tryb jednego użytkownika.Stan tej opcji nie można zmienić, wówczas, gdy baza danych jest OFFLINE.

    Jeśli użytkownik READ_COMMITTED_SNAPSHOT zestaw bazy TYLKO_DO_ODCZYTU zestaw ting zostanie zachowana, wówczas, gdy baza danych jest nowszy zestaw do READ_WRITE.

    READ_COMMITTED_SNAPSHOT nie może być włączone dla wzorca, tempdb lub msdb baz danych systemu.Jeśli zmienisz ustawienie w modelu, ustawienie staje się domyślnym dla wszystkich nowych baz danych utworzonych z wyjątkiem dla tempdb.

    Bieżące ustawienie tej opcji można określić, przeglądając kolumna is_read_committed_snapshot_on w widoku sys.databases wykazu.

<sql_option>::=

Określa opcje zgodności ANSI poziom bazy danych.

  • ANSI_NULL_DEFAULT {NA | WYŁĄCZONA}
    Określa wartość domyślną, a wartość NULL lub NOT NULL, kolumna, alias typ danych, or zdefiniowany przez użytkownika typ danych CLR , dla których opcje dopuszczania wartości null nie została jawnie zdefiniowana w instrukcji CREATE tabela lub ALTER tabela.Kolumny, które są zdefiniowane z ograniczeniami zgodne z regułami ograniczeń niezależnie od tego ustawienia.

    • DALEJ
      Domyślną wartością jest NULL.

    • WYŁĄCZANIE
      Wartość domyślna nie jest NULL.

    Zastąp ustawienia poziom połączeń, które są ustawiane przy użyciu instrukcja zestaw domyślna baza danych - poziomu dla ANSI_NULL_DEFAULT.Domyślnie, klienci ODBC i OLE DB wydawania instrukcja zestaw poziom połączeń, ustawienie ANSI_NULL_DEFAULT ON sesja podczas łączenia się z wystąpienie SQL Server. Aby uzyskać więcej informacji zobaczSET ANSI_NULL_DFLT_ON (Transact-SQL).

    W celu zgodności z ANSI ustawienie opcji bazy danych ANSI_NULL_DEFAULT ON zmienia domyślną bazę danych na wartość NULL.

    Stan tej opcji można określić, przeglądając kolumna is_ansi_null_default_on w widoku sys.databases katalogu lub właściwość IsAnsiNullDefault funkcja DATABASEPROPERTYEX.

  • ANSI_NULLS {NA | WYŁĄCZONA}

    • DALEJ
      Nieokreślona być wszystkich porównań ma wartość null.

    • WYŁĄCZANIE
      Porównywanie wartości inne niż UNICODE, które mają wartość null oceny na wartość TRUE, jeśli obie wartości NULL.

    Important noteImportant Note:

    W przyszłych wersjach SQL ServerANSI_NULLS zawsze będzie ON i wszystkie aplikacje, które ustawić opcję OFF da błąd. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.

    Ustawienia poziom połączenia, ustawione za pomocą instrukcja zestaw zastąpić domyślne ustawienie ANSI_NULLS bazy danych.Domyślnie, klienci ODBC i OLE DB wydawania instrukcja zestaw poziom połączeń, ustawienie ANSI_NULLS ON sesja podczas łączenia się z wystąpienie SQL Server. Aby uzyskać więcej informacji zobaczSET ANSI_NULLS (Transact-SQL).

    zestaw ANSI_NULLS także musi być ustawiony na włączone, podczas tworzenia lub zmiany indeksów dla kolumny obliczane i indeksowania widoków.

    Stan tej opcji można określić, przeglądając kolumna is_ansi_nulls_on w widoku sys.databases katalogu lub właściwość IsAnsiNullsEnabled funkcja DATABASEPROPERTYEX.

  • ANSI_PADDING {NA | WYŁĄCZONA}

    • DALEJ
      Ciągi znaków są wypełniane do tej samej długości przed konwersji lub wstawianie do varchar lub nvarchar Typ danych.

      Końcowe spacje w wartości znaków wstawione do varchar lub nvarchar kolumny i końcowe zera w wartości binarnych, wstawione do varbinary kolumny nie są obcięte. 1 = Włączone odzyskiwanie oznaczona transakcja.

    • WYŁĄCZANIE
      Spacje końcowe dla varchar lub nvarchar i zer dla varbinary są obcięte.

    Jeżeli określono wartość OFF, to ustawienie dotyczy tylko definicję nowe kolumny.

    Important noteImportant Note:

    W przyszłości wersja z SQL ServerANSI_PADDING zawsze będzie ON i wszystkie aplikacje, które ustawić opcję OFF da błąd. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.

    char(n) and binary(n) columns that allow for nulls are padded to the length of the column when ANSI_PADDING is set to ON, but trailing blanks and zeros are trimmed when ANSI_PADDING is OFF.char(n) and binary(n) columns that do not allow nulls are always padded to the length of the column.

    Zastąp ustawienia poziom połączeń, które są ustawiane przy użyciu instrukcja zestaw domyślna baza danych - poziomu dla ANSI_PADDING.Domyślnie, klienci ODBC i OLE DB wydawania instrukcja zestaw poziom połączeń, ustawienie ANSI_PADDING ON sesja podczas łączenia się z wystąpienie SQL Server. Aby uzyskać więcej informacji zobaczSET ANSI_PADDING (Transact-SQL).

    Important noteImportant Note:

    Liczba urządzeń biorących udział w operacji przywracanie.ANSI_PADDING musi być włączone, podczas tworzenia lub manipulowania indeksów dla kolumny obliczanej lub indeksowania widoków.

    Stan tej opcji można określić, przeglądając kolumna is_ansi_padding_on w widoku sys.databases katalogu lub właściwość IsAnsiPaddingEnabled funkcja DATABASEPROPERTYEX.

  • ANSI_WARNINGS {NA | WYŁĄCZONA}

    • DALEJ
      Błędy lub ostrzeżenia są wydawane podczas wystąpienia warunki, takie jak dzielenie przez zero lub wartości puste są wyświetlane w funkcji agregacja.

    • WYŁĄCZANIE
      Nie ostrzeżenia są wywoływane i po wystąpieniu warunki, takie jak dzielenie przez zero, zwracane są wartości null.

    zestaw ANSI_WARNINGS musi być ustawiony na włączone, podczas tworzenia lub zmiany indeksów dla kolumny obliczanej lub indeksowania widoków.

    Zastąp ustawienia poziom połączeń, które są ustawiane przy użyciu instrukcja zestaw domyślna baza danych dla ANSI_WARNINGS.Domyślnie, klienci ODBC i OLE DB wydawania instrukcja zestaw poziom połączeń, ustawienie ANSI_WARNINGS ON sesja podczas łączenia się z wystąpienie SQL Server. Aby uzyskać więcej informacji zobaczSET ANSI_WARNINGS (Transact-SQL).

    Stan tej opcji można określić, przeglądając kolumna is_ansi_warnings_on w widoku sys.databases katalogu lub właściwość IsAnsiWarningsEnabled funkcja DATABASEPROPERTYEX.

  • ARITHABORT {NA | WYŁĄCZONA}

    • DALEJ
      Kwerendy zostaje zakończona, gdy błąd dzielenia przez zero lub przepełnienie programu odbywa się podczas wykonywania kwerendy.

    • WYŁĄCZANIE
      Jest wyświetlany komunikat ostrzegawczy, gdy następuje jedno z tych błędów, ale kwerendy, partia lub transakcja kontynuuje przetwarzanie, tak jakby błąd nie wystąpił.

    zestaw ARITHABORT musi być ustawiony na włączone, podczas tworzenia lub zmiany indeksów dla kolumny obliczanej lub indeksowania widoków.

    Stan tej opcji można określić, przeglądając kolumna is_arithabort_on w widoku sys.databases katalogu lub właściwość IsArithmeticAbortEnabled funkcja DATABASEPROPERTYEX.

  • COMPATIBILITY_LEVEL {80 | 90 | 100}
    Aby uzyskać więcej informacji zobaczALTER DATABASE poziom zgodności (języka Transact-SQL).

  • CONCAT_NULL_YIELDS_NULL {NA | WYŁĄCZONA}

    • DALEJ
      Wynik operacji łączenie jest równa zerowa, gdy albo argument ma wartość NULL.Na przykład łączenia ciąg znaków "to jest" i NULL powoduje wartości NULL, zamiast wartości "To jest".

    • WYŁĄCZANIE
      Wartość null jest traktowana jako ciąg znaków puste.

    Musi być CONCAT_NULL_YIELDS_NULL zestaw do na tworzenie lub wprowadzić zmiany do indeksów sporządzanych na obliczone kolumn lub indeksowania widoków.

    Important noteImportant Note:

    W przyszłych wersjach SQL ServerCONCAT_NULL_YIELDS_NULL zawsze będzie ON i wszystkie aplikacje, które ustawić opcję OFF da błąd. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.

    Ustawienia poziom połączenia, ustawione za pomocą instrukcja zestaw zastąpić domyślne ustawienie CONCAT_NULL_YIELDS_NULL bazy danych.Domyślnie, klienci ODBC i OLE DB wydawania instrukcja zestaw poziom połączeń, ustawienie CONCAT_NULL_YIELDS_NULL ON sesja podczas łączenia się z wystąpienie SQL Server. Aby uzyskać więcej informacji zobaczSET CONCAT_NULL_YIELDS_NULL (Transact-SQL).

    Stan tej opcji można określić, przeglądając kolumna is_concat_null_yields_null_on w widoku sys.databases katalogu lub właściwość IsNullConcat funkcja DATABASEPROPERTYEX.

  • QUOTED_IDENTIFIER {NA | WYŁĄCZONA}

    • DALEJ
      Rozdzielanego identyfikatorów, należy ująć można użyć podwójnych cudzysłowów.

      Wszystkie ciągi rozdzielane w podwójne cudzysłowy są interpretowane jako identyfikatory obiektów.Identyfikatorów w cudzysłowach nie będą musieli wykonać Transact-SQL reguły dla identyfikatorów. Mogą one słowa kluczowe oraz może zawierać znaki, które zazwyczaj nie są dozwolone w Transact-SQL identyfikatory. Jeśli jeden znak pojedynczego cudzysłowu (') jest częścią literałem ciąg znaków, może być reprezentowany w podwójne cudzysłowy ("").

    • WYŁĄCZANIE
      Identyfikatory nie mogą być w cudzysłowie i muszą być zgodne ze wszystkich Transact-SQL reguły dla identyfikatorów. Literały mogą być rozdzielone pojedynczy lub podwójny cudzysłów.

    SQL Server Umożliwia również identyfikatory na być rozdzielone nawiasy kwadratowe ([]).Identyfikatory bracketed można zawsze używać, niezależnie od ustawienia QUOTED_IDENTIFIER.Aby uzyskać więcej informacji zobaczIdentyfikatory rozdzielanego (aparat bazy danych).

    Podczas tworzenia tabela IDENTIFIER PODANA opcja jest zawsze przechowywane jako ON metadane w tabela nawet wtedy, gdy opcja ta zestaw do OFF podczas tworzenia tabela.

    Ustawienia poziom połączenia, ustawione za pomocą instrukcja zestaw zastąpić domyślne ustawienie QUOTED_IDENTIFIER bazy danych.Domyślnie klienci ODBC i OLE DB wydawania instrukcja zestaw poziom połączeń, ustawienie QUOTED_IDENTIFIER ON podczas łączenia się z wystąpienie SQL Server. Aby uzyskać więcej informacji zobaczzestaw QUOTED_IDENTIFIER (języka Transact-SQL).

    Stan tej opcji można określić, przeglądając kolumna is_quoted_identifier_on w widoku sys.databases katalogu lub właściwość IsQuotedIdentifiersEnabled funkcja DATABASEPROPERTYEX.

  • NUMERIC_ROUNDABORT {NA | WYŁĄCZONA}

    • DALEJ
      Zostanie wygenerowany błąd, gdy nastąpi precyzji w wyrażeniu.

    • WYŁĄCZANIE
      Straty dokładność nie generują komunikaty o błędach, a wynik jest zaokrąglany do precyzji kolumna lub zmiennej przechowywanie wyników.

    Musi być NUMERIC_ROUNDABORT zestaw do OFF tworzyć lub zmieniać indeksy na obliczone kolumn lub indeksowania widoków.

    Stan tej opcji można określić, przeglądając kolumna is_numeric_roundabort_on w widoku sys.databases katalogu lub właściwość IsNumericRoundAbortEnabled funkcja DATABASEPROPERTYEX.

  • RECURSIVE_TRIGGERS {NA | WYŁĄCZONA}

    • DALEJ
      Cykliczne wypalania z później wyzwalaczy jest dozwolone.

    • WYŁĄCZANIE
      Tylko bezpośrednie cyklicznej wyzwalania z po wyzwalaczy jest niedozwolone.Również wyłączenie rekursji pośrednich z później wyzwalacze, zestaw opcję Serwer zagnieżdżonych wyzwalaczy 0 by using sp_configure.

    Uwaga

    Tylko bezpośrednie rekursji, nie będą mogły po RECURSIVE_TRIGGERS zestaw na OFF.Aby wyłączyć rekursję pośredniego, należy również zestaw opcji serwera zagnieżdżonych wyzwalaczy na 0.

    Stan tej opcji można określić, przeglądając kolumna is_recursive_triggers_on w widoku sys.databases katalogu lub właściwość IsRecursiveTriggersEnabled funkcja DATABASEPROPERTYEX.

Z <Zakończenie>::=

Określa, kiedy wycofać nieukończone transakcje, gdy baza danych jest transitioned z jednego stanu do innego.W przypadku pominięcia klauzula zakończenie instrukcja ALTER DATABASE czeka przez czas nieokreślony, jeśli istnieje blokada dowolnej bazy danych.Można określić tylko jedno rozwiązanie klauzula i wynika z klauzul zestaw.

Uwaga

Nie wszystkie opcje bazy danych za pomocą WITH <Zakończenie> Klauzula. Aby uzyskać więcej informacji zobacz tabela w obszarze „ Opcje ustawienia w sekcji Uwagi.

  • Po ROLLBACK integer [S] | WYCOFYWANIA NATYCHMIASTOWE
    Określa, czy ma być wycofać po określonym czasie sekund lub natychmiast.

  • NO_WAIT
    Określa, że jeśli zmiana stanu lub opcja żądanej bazy danych nie można ukończyć bezpośrednio bez konieczności oczekiwania na transakcji zatwierdzić lub przywrócić własne, żądanie powiedzie się.

Remarks

Ustawianie opcji

Aby pobrać bieżących ustawień opcji bazy danych, należy użyć sys.Databases wyświetlanie katalogu lub DATABASEPROPERTYEX.Aby wyświetlić listę wartości domyślne przypisane do bazy danych podczas jej tworzenia zobacz Setting Database Options.

Po ustawieniu opcji bazy danych, zmiana zaczyna obowiązywać natychmiast.

Aby zmienić wartości domyślne dla dowolnego z bazy danych opcje dla wszystkich nowo utworzone baz danych, zmianę tej opcji odpowiednią bazę danych w bazie danych modelu.

Nie wszystkie opcje bazy danych za pomocą WITH <Zakończenie> Klauzula lub może być określony 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 użyć WITH <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 wyczyszczone jest przez ustawienie jednej z następujących opcji:

TRYB OFFLINE

READ_WRITE

TRYB ONLINE

MODYFIKUJ DOMYŚLNĄ grupa plików

MODIFY_NAME

MODYFIKOWANIE READ_WRITE grupa plików

SORTOWANIE

MODYFIKOWANIE READ_ONLY grupa plików

READ_ONLY

 

Czyszczenie pamięci podręcznej plan powoduje ponowną kompilację wszystkich planów późniejsze wykonanie 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 Server Napotkano %d zamieniono cachestore opróżniania dla cachestore '% s' (część pamięci podręcznej plan) ze względu na pewne konserwacji bazy danych lub ponownie skonfigurować operacji".Ten komunikat jest rejestrowany co pięć minut, dopóki bufor jest opróżniany w tym przedziale czas.

Przykłady

A.Ustawianie opcji dla bazy danych

W poniższym przykładzie strona danych i modelu odzyskiwanie pozwala ustawić opcje weryfikacji AdventureWorks Przykładowa baza danych.

B.Ustawienie TYLKO_DO_ODCZYTU bazy danych

Zmiana stanu bazy danych lub grupa plików TYLKO_DO_ODCZYTU lub READ_WRITE wymaga wyłącznego dostępu do bazy danych.Poniższy przykład przedstawia bazy danych SINGLE_USER Tryb uzyskiwania wyłącznego dostępu. W przykładzie następnie ustawia stan AdventureWorks bazy danych READ_ONLY i zwraca dostęp do bazy danych dla wszystkich użytkowników.

Uwaga

W tym przykładzie użyto opcji zakończenia WITH ROLLBACK IMMEDIATE w pierwszym ALTER DATABASE Instrukcja. Wszystkie nieukończone transakcje będą ponownie walcowanego i inne połączenia AdventureWorks Przykładowa baza danych zostanie natychmiast rozłączone.

C.Włączanie izolacji migawkę bazy danych

Poniższy przykład włącza opcję migawka izolacji ramy dla AdventureWorks Baza danych.

Pokazuje, czy RAM izolacji migawka jest włączony zestaw wyników.

name            snapshot_isolation_state  description
--------------- ------------------------  -----------
AdventureWorks  1                         ON

D.Włączanie, modyfikowanie i wyłączanie śledzenia zmian

Poniższy przykład włącza śledzenie dla zmian AdventureWorks Baza danych i Ustawia okres zachowywania do 4 dni.

W poniższym przykładzie pokazano, jak zmienić okres zachowywania do 3 dni.

W poniższym przykładzie pokazano sposób wyłączania śledzenia dla zmian AdventureWorks Baza danych.

Historia zmian

Microsoft Learning

Zaktualizowano opisów AUTO_CREATE_STATISTICS, AUTO_UPDATE_STATISTICS i AUTO_UPDATE_STATISTICS_ASYNC zwiększyć dokładność.