Использование параметров в СУБД SQL Server

В Microsoft SQL Server предусмотрены параметры, которые влияют на результат и производительность инструкций SQL. Эти параметры можно задать следующими способами.

  • Чтобы задать параметры конфигурации для всего экземпляра, воспользуйтесь хранимой процедурой sp_configure.

  • Чтобы задать параметры на уровне базы данных, используйте инструкцию ALTER DATABASE SET Options.

  • Чтобы задать уровень совместимости базы данных, используйте инструкцию ALTER DATABASE Compatibility Level.

  • Чтобы указать параметры на уровне пакета (параметры инструкции SET), используйте такие инструкции SET, как SET ANSI_PADDING и SET ANSI_NULLS.

    ПримечаниеПримечание

    Параметры уровня пакета в более ранних версиях SQL Server, а также в соединениях без использования результирующего набора MARS называются параметрами уровня соединения.

  • Чтобы указать параметры на уровне инструкций (такие, как подсказки в запросе, таблицах и соединении), используйте отдельные инструкции языка Transact-SQL. Дополнительные сведения см. в разделе Подсказки (Transact-SQL).

Приложения ODBC могут задавать особые параметры соединения, которые управляют некоторыми параметрами ANSI SET. Поставщик OLE DB для собственного клиента SQL Server и ODBC-драйвер собственного клиента SQL Server задают некоторые параметры SET по умолчанию.

По возможности лучше не изменять параметры SET или задавать их с помощью инструкций SET. Вместо этого рекомендуется задавать параметры SET на уровне соединения через свойства соединения ODBC или OLE DB. Параметр SET можно также изменить с помощью хранимой процедуры sp_configure.

Процедура sp_configure имеет параметр user options. Это позволяет изменять значения по умолчанию некоторых параметров SET. Хотя user options кажется параметром экземпляра, user options — параметр SET.

Иерархия параметров

Если параметр поддерживается на нескольких уровнях, используется следующая иерархия.

  1. Параметр базы данных имеет приоритет над параметром экземпляра.

  2. Параметр SET имеет приоритет над параметром базы данных.

  3. Подсказка имеет приоритет над параметром SET.

ПримечаниеПримечание

Параметры SET, заданные внутри динамического пакета SQL, действуют только в области этого пакета.

ПримечаниеПримечание

Такие параметры SET, как QUOTED_IDENTIFIER и ANSI_NULLS, сохраняются вместе с определениями хранимых процедур и, следовательно, имеют приоритет над различными значениями, явно заданными для них.