SET Options That Affect Results

To pole jest indeksowane, widoki i indeksów dla kolumny obliczanej Magazyn wyniki bazy danych do późniejszego wykorzystania.Przechowywane wyniki są ważne tylko wtedy, gdy wszystkie połączenia odnoszące się do widok indeksowany lub indeksowane obliczona kolumn można wygenerować tego samego zestaw wyników jako połączenie, które utworzył indeks.Aby upewnić się, że przechowywane wyniki można obsługiwać poprawnie i zwraca spójne wyniki, należy ustawić opcje zestaw w poniższej tabela wartości w Wymagana wartość kolumna za każdym razem, gdy występują następujące warunki:

  • Tworzony jest indeks z widokiem lub kolumna obliczana.

  • Kolumna obliczana jest zdefiniowana i określono PERSISTED.

  • Operacja INSERT, UPDATE lub DELETE modyfikuje danych wartości przechowywane w widoku indeksowanym lub indeksowania kolumna obliczana.Dotyczy to także operacji, takich jak BCP, DTS, replikacja i kwerendami rozproszonymi.

  • optymalizator kwerendy w plan wykonania kwerend korzysta z indeksu.

  • Dla widoków indeksowanych opcje ANSI_NULLS i QUOTED_IDENTIFIER należy ustawić on podczas tworzenia widoku, ponieważ te dwa ustawienia są przechowywane z metadanymi widoku.

    Opcje zestaw

    Wymagana wartość

    Wartość domyślna serwera

    Default

    Wartość OLE DB i ODBC

    Default

    Wartość biblioteki DB

    ANSI_NULLS

    DALEJ

    WYŁĄCZANIE

    DALEJ

    WYŁĄCZANIE

    ANSI_PADDING

    DALEJ

    DALEJ

    DALEJ

    WYŁĄCZANIE

    ANSI_WARNINGS *

    DALEJ

    WYŁĄCZANIE

    DALEJ

    WYŁĄCZANIE

    ARITHABORT

    DALEJ

    DALEJ

    WYŁĄCZANIE

    WYŁĄCZANIE

    CONCAT_NULL_YIELDS_NULL

    DALEJ

    WYŁĄCZANIE

    DALEJ

    WYŁĄCZANIE

    NUMERIC_ROUNDABORT

    WYŁĄCZANIE

    WYŁĄCZANIE

    WYŁĄCZANIE

    WYŁĄCZANIE

    QUOTED_IDENTIFIER

    DALEJ

    WYŁĄCZANIE

    DALEJ

    WYŁĄCZANIE

    *zestawting ANSI_WARNINGS do ON niejawnie zestaw s ARITHABORT on, gdy poziom zgodności bazy danych jest zestaw 90 lub wyższym.Jeśli poziom zgodności bazy danych jest ustawiony na 80 lub wcześniej, opcja ARITHABORT musi jawnie ustawiona na ON.

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

  • The Database Engine generates an error and rolls back any INSERT, UPDATE, or DELETE instrukcja that changes data values stored in the index.

  • optymalizator kwerendy nie bierze pod uwagę indeksu w plan wykonania jakiejkolwiek Transact-SQL Instrukcja.

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

zestaw ustawienia opcji dla połączeń ODBC i OLE DB

Większość aplikacji używa albo z dostawca OLE DB dla SQL Server lub SQL Server Sterownik ODBC do łączenia się z wystąpienie SQL Server w tym SQL Server Management StudioUsługi integracja, replikacja i kopiowanie masowe operacji. Domyślne ustawienia OLE DB i ODBC są poprawne dla sześć opcji zestaw, które są wymagane dla indeksów dla widoków lub kolumny obliczane.Domyślne wartości OLE DB i ODBC można znaleźć w poprzedniej tabela.Te ustawienia zasady ISO standardowych i są zalecane ustawienia dla SQL Server. Aby uzyskać więcej informacji zobaczClient Network Configuration.

Uwaga

Niektóre z SQL Server narzędzia zestaw jedną lub więcej z ANSI zestaw tings do OFF, aby zachować zgodność z wcześniejszymi wersjami tych narzędzi.

zestaw Embedded SQL C połączenia i ustawienia opcji dla biblioteki DB

Biblioteki DB i osadzonym SQL dla aplikacji C nie, domyślnie zestaw wszystkie opcje sesja.Systemami, które korzystają z tych interfejsów API musi albo kodem aplikacji do wydawania odpowiednie instrukcje zestaw lub zmienić ustawienia domyślne bazy danych lub serwera na poprawne ustawienia.

Priorytet dla ustawienia Opcje

Na kilku poziomach, można określić ustawienia opcji zestaw ON lub OFF.Ustawienie końcowym dla każdej opcji sesja zależy od najwyższego operacji pierwszeństwa, która ustawia opcję.Poniżej przedstawiono pierwszeństwo w sesja, ustawienia operacji, z najwyższym uprzednie u góry listy:

  • Każda aplikacja jawnie mogą zastępować żadnych ustawień domyślnych przez wykonywanie instrukcja zestaw po połączył się z serwerem.Instrukcja zestaw zastępuje wszystkie poprzednie ustawienia i umożliwiają włączanie opcji i wyłączać dynamicznie jako uruchamia aplikację.Ustawienia opcji mają zastosowanie tylko do bieżącej sesja połączenia.

  • Aplikacje baz danych OLE i ODBC można określić ustawienia opcji, które obowiązują w momencie połączenia przez określenie ustawienia opcji w ciągów połączeń.Ustawienia opcji mają zastosowanie tylko do bieżącej sesja połączenia.

  • Określony dla opcji zestaw SQL Server urządzenie źródłowe 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 instrukcji ALTER DATABASE lub w Eksploratorze obiektów SQL Server Management Studio.

  • Domyślne ustawienia dla serwera.Te wartości można określić przy użyciu formatu sp_configure lub Eksplorator obiektów w SQL Server Management Studio Aby ustawić opcję konfiguracja serwera o nazwie Opcje użytkownika.

Na przykład, wartość domyślna ODBC ANSI_NULLS jest włączone; jednak zmienić tę wartość przez ustawienie tej opcji na OFF w ciąg połączenia ODBC lub za pomocą instrukcji zestaw po nawiązaniu połączenia z bazą danych.

Procedury przechowywane i wyzwalacze

Procedur przechowywanych i wyzwalaczy powinny być zapisane do pracy z sześć opcji zestaw, które są wymagane do obsługi indeksy na widoki i kolumny obliczane.optymalizator kwerendy w widoku lub kolumna obliczana w instrukcji SELECT, które są wykonywane przez procedura przechowywana lub wyzwalacza nieprawidłowo ustawione opcje zestaw nie korzysta z indeksu.Instrukcja INSERT, UPDATE lub DELETE w procedurze przechowywanej lub wyzwalacz, który modyfikuje wartości danych przechowywanych w widoku indeksowanym lub kolumna obliczana generuje błąd.

Uwagi

Instrukcja zestaw dynamicznie zmienić opcje sesja; dlatego wystawiania instrukcji zestaw w bazie danych, ma indeksy w widokach i indeksowane kolumny obliczane należy starannie wykonać.Na przykład aplikacji można utworzyć połączenie, polegający na tym, że domyślne ustawienia umożliwia dla widok indeksowany lub obliczanej kolumna indeksowanej do którego ma być utworzone odwołanie; Jeśli jednak połączenia wywołuje procedura przechowywana lub wyzwalacz, który ma pierwsza instrukcja zestaw ANSI_WARNINGS OFF, w tej instrukcji zastępuje poprzednie ustawienia domyślne lub ustawienia ANSI_WARNINGS.W takim przypadek Optymalizator ignoruje wszystkie widoki indeksowane i indeksowane kolumny obliczane podczas przetwarzania instrukcja procedura przechowywana lub wyzwalacza.

Trzy inne opcje sesja potencjalnie może mieć wpływ na format zestawów wyników: DATEFIRST DATEFORMAT i LANGUAGE. Wszystkie funkcje, których wyniki jest zagrożony przez zmiany tych opcji są klasyfikowane jako nondeterministic i nie mogą być używane w widoków indeksowanych lub indeksowania kolumny obliczane.