Ustaw opcje, które wpływają na wyniki

Widoki indeksowane i indeksów dla kolumny obliczanej magazynu wyniki bazy danych do późniejszego wykorzystania.Przechowywane wyniki są ważne tylko wtedy, gdy wszystkie połączenia odnoszące się do indeksowany widok lub indeksowane kolumna obliczana można wygenerować tego samego zestaw wyników jako połączenie utworzony indeks.Aby upewnić się, że przechowywane wyniki można obsługiwać poprawnie i zwraca spójne wyniki zestaw opcje w poniższej tabela muszą być zestaw z wartościami podanymi w wymagane wartości kolumna, gdy występują te warunki:

  • Indeks w widoku lub kolumna obliczana jest tworzony.

  • Kolumna obliczana jest zdefiniowana i PERSISTED jest określony.

  • INSERT, UPDATE lub DELETE operacji Modyfikuje wartości danych przechowywanych w indeksowany widok lub obliczanej kolumna indeksowanej.Obejmuje to operacje takie jak BCP, DTS, replikacja i kwerendami rozproszonymi.

  • optymalizator kwerendy w plan wykonania kwerend korzysta z indeksu.

  • Widoki indeksowane opcje ANSI_NULLS i QUOTED_IDENTIFIER musi zestaw on podczas tworzenia widoku, ponieważ te dwa ustawienia są przechowywane z metadane widok.

    Ustawianie opcji

    Wymagana wartość

    Wartość domyślna serwera

    Default

    Wartość OLE DB i ODBC

    Default

    Wartość biblioteki DB

    ANSI_NULLS

    NA

    WYŁĄCZANIE

    NA

    WYŁĄCZANIE

    SPOWODOWAŁYBY

    NA

    NA

    NA

    WYŁĄCZANIE

    ANSI_WARNINGS *

    NA

    WYŁĄCZANIE

    NA

    WYŁĄCZANIE

    ARITHABORT

    NA

    NA

    WYŁĄCZANIE

    WYŁĄCZANIE

    CONCAT_NULL_YIELDS_NULL

    NA

    WYŁĄCZANIE

    NA

    WYŁĄCZANIE

    NUMERIC_ROUNDABORT

    WYŁĄCZANIE

    WYŁĄCZANIE

    WYŁĄCZANIE

    WYŁĄCZANIE

    QUOTED_IDENTIFIER

    NA

    WYŁĄCZANIE

    NA

    WYŁĄCZANIE

    * zestaw ANSI_WARNINGS ON niejawnie ustawia ARITHABORT on, gdy poziom zgodności bazy danych jest ustawiony na 90 lub wyższej.Jeśli poziom zgodności bazy danych jest zestaw 80 lub wcześniej, opcja ARITHABORT musi być jawnie zestaw on.

Gdy zestaw opcje są zestaw , może wystąpić jeden lub więcej z następujących czynności:

  • Aparat baz danych Generuje błąd i wycofuje wszystkie INSERT, UPDATE lub DELETE instrukcja , zmiany wartości danych przechowywanych w indeksie.

  • optymalizator kwerendy nie uzna indeksu plan wykonania wszelkich Transact-SQL instrukcja.

  • indeksowany widok lub kolumna obliczana nie można utworzyć.

Ustawianie opcji ustawień dla połączenia ODBC i OLE DB

Większość aplikacji używa albo OLE DB Provider for SQL Server lub SQL Server sterownika ODBC, aby połączyć się z wystąpienie SQL Server łącznie z SQL Server Management Studio, usług integracji, replikacja, i kopiowanie masowe operacji.OLE DB i ODBC domyślne ustawienia są poprawne dla sześciu Ustaw opcje, które są wymagane dla indeksów na widokach lub kolumny obliczane.Domyślne wartości OLE DB i ODBC zobacz w poprzedniej tabela.Te ustawienia zasady normy ISO i są zalecane ustawienia dla SQL Server.Aby uzyskać więcej informacji, zobacz Konfiguracja klienta sieci.

Ostrzeżenie

Niektóre z SQL Server narzędzia zestaw jeden lub więcej ANSI zestawtings do OFF, aby zachować zgodność ze starszymi wersjami narzędzia.

ZESTAW ustawień opcji dla biblioteki DB i osadzone SQL dla połączeń c

Biblioteki DB i osadzone SQL dla aplikacji c nie, domyślnie zestaw wszystkie opcje sesja.Systemy korzystające z tych interfejsów API musi albo kodem aplikacji wydawać odpowiednie instrukcje SET lub zmienić ustawienia domyślne bazy danych lub serwera poprawne ustawienia.

Pierwszeństwo w celu ustawienia opcji

Ustawianie opcji ustawienia ON lub OFF można określić na kilku poziomach.Ustawienie końcowego dla każdej opcji sesja jest określana przez operację najwyższy priorytet ustawia opcję.Poniżej wymieniono pierwszeństwo sesja ustawienie operacji z najwyższym precedensu na górze listy:

  • Każda aplikacja jawnie można zastąpić żadnych ustawień domyślnych przez wykonanie instrukcja SET po połączył się z serwerem.Instrukcja SET zastępuje wszystkie poprzednie ustawienia i można włączyć opcje i wyłączyć dynamicznie jako uruchamia aplikację.Ustawienia opcji są stosowane tylko do bieżącej sesja połączenia.

  • Aplikacji OLE DB i ODBC można określić ustawienia opcji, które działają na połączenie, czas , określając ustawienia opcji w ciągów połączeń.Ustawienia opcji są stosowane tylko do bieżącej sesja połączenia.

  • Ustaw opcje dla SQL Server źródło danych ODBC za pomocą aplikacji ODBC w Panelu sterowania lub ODBC SQLConfigDataSource funkcja.

  • Domyślne ustawienia dla bazy danych.Te wartości można określić przy użyciu ZMIEŃ bazę danych lub w Eksploratorze obiektów w SQL Server Management Studio.

  • Domyślne ustawienia dla serwera.Te wartości można określić przy użyciu sp_configure lub Object Explorer w SQL Server Management Studio do zestaw opcji konfiguracja serwera o nazwie Opcje użytkownika.

Na przykład wartość domyślna ODBC ANSI_NULLS jest włączone; może jednak zmienić tę wartość przez ustawienie opcji OFF w połączenie ODBC ciąg lub przy użyciu zestawu instrukcji, po nawiązaniu połączenia z bazą danych.

Procedury przechowywane i wyzwalacze

Procedury przechowywane i wyzwalacze powinny być zapisywane do pracy z sześciu Ustaw opcje, które są wymagane do obsługi indeksy na widoki i kolumny obliczane.optymalizator kwerendy nie korzysta się z indeksu w widoku lub kolumna obliczanej w instrukcji SELECT, które są wykonywane przez procedura składowana lub kiedy wyzwolenia zestaw opcje są niepoprawnie zestaw.W instrukcja INSERT, UPDATE lub DELETE procedura składowana lub generuje błąd, wyzwalacz, który modyfikuje danych wartości przechowywane w widoku indeksowanym lub kolumna obliczana.

Uwagi

Instrukcja SET można dynamicznie zmieniać opcje sesja; Dlatego wydawania instrukcji SET w bazie danych ma indeksy w widokach i indeksowane kolumny obliczane muszą być starannie przeprowadzane.Na przykład aplikacji mogą tworzyć połączenia, w którym ustawienia domyślne umożliwiają indeksowany widok lub indeksowane kolumna obliczana do odwołania; Jeśli jednak połączenia wywołuje procedura składowana lub wyzwalacz, który ma pierwsza instrukcja SET ANSI_WARNINGS OFF, to oświadczenie zastępuje poprzednie ustawienia domyślne lub ustawienia ANSI_WARNINGS.W takim przypadek Optymalizator ignoruje wszystkie widoki indeksowane lub indeksowanych kolumny obliczane podczas przetwarzania instrukcja procedura składowana lub wyzwalacza.

Trzy inne opcje sesja potencjalnie może wpłynąć na format zestawów wyników: DATEFIRST, format daty i język.Wszelkie funkcje, których wyniki jest zagrożony przez zmiany tych opcji są klasyfikowane jako rodzaju i nie może być używane w widokach indeksowanych lub obliczanych kolumn indeksowanych.