Использование параметров в СУБД SQL Server
В Microsoft SQL Server 2005 предусмотрены параметры, которые влияют на результат и производительность инструкций SQL. Эти параметры можно задать следующими способами.
- Чтобы задать параметры конфигурации для всего экземпляра, воспользуйтесь хранимой процедурой sp_configure.
- Чтобы задать параметры на уровне базы данных, используйте инструкцию ALTER DATABASE.
- Чтобы задать уровень совместимости базы данных, используйте хранимую процедуру sp_dbcmptlevel.
- Чтобы указать параметры на уровне пакета (параметры инструкции SET), используйте такие инструкции SET, как SET ANSI_PADDING и SET ANSI_NULLS.
Примечание. Параметры уровня пакета в более ранних версиях SQL Server, а также в подключениях без использования режима MARS называются параметрами уровня подключения. - Чтобы указать параметры на уровне инструкций (такие, как подсказки запросов, таблиц и соединений), используйте отдельные инструкции языка Transact-SQL. Дополнительные сведения см. в разделе Подсказки (Transact-SQL).
Приложения ODBC могут задавать особые параметры соединения, которые управляют некоторыми параметрами ANSI SET. И поставщик OLE DB для собственного клиента SQL, и ODBC-драйвер собственного клиента SQL задают некоторые параметры SET по умолчанию.
По возможности лучше не изменять параметры SET или задавать их с помощью инструкций SET. Вместо этого рекомендуется задавать параметры SET на уровне соединения через свойства соединения ODBC или OLE DB. Параметр SET можно также изменить с помощью хранимой процедуры sp_configure.
Процедура sp_configure имеет параметр user options. Это позволяет изменять значения по умолчанию некоторых параметров SET. Хотя user options кажется параметром экземпляра, user options — параметр SET.
Иерархия параметров
Если параметр поддерживается на нескольких уровнях, используется следующая иерархия.
- Параметр базы данных имеет приоритет над параметром экземпляра.
- Параметр SET имеет приоритет над параметром базы данных.
- Подсказка имеет приоритет над параметром SET.
Примечание. |
---|
Параметры SET, заданные внутри динамического пакета SQL, действуют только в области этого пакета. |
Примечание. |
---|
Такие параметры SET, как QUOTED_IDENTIFIER и ANSI_NULLS, сохраняются вместе с определениями хранимых процедур и, следовательно, имеют приоритет над различными значениями, явно заданными для них. |
См. также
Основные понятия
Параметры SET
Параметры базы данных
Параметры экземпляра
Параметр Database Compatibility Level