Установка параметров соединения по умолчанию


Как видно из рис. 6-5, на странице Connections (Соединения) есть список Default connection options (Параметры соединения по умолчанию). Воспользуйтесь этим списком, чтобы назначить параметры по умолчанию для обработки запросов пользовательских соединений. При установке флажка параметр будет включен, для выключения параметра флажок возле него снимается. Любые производимые изменения относятся только к новым соединениям, текущие — не затрагиваются. Кроме того, в случае необходимости пользователи могут переопределять параметры по умолчанию для своего соединения, используя инструкции SET.

В табл. 6-1 приведен перечень параметров соединения с указанием их состояния по умолчанию для драйверов ODBC и OLE DB (может отличаться от установок SQL Server по умолчанию). Также здесь представлены битовые маски (их можно использовать с хранимой процедурой sp_configure для установки соответствующего значения) и инструкции SET, которые в пользовательском сеансе могут переопределять параметры по умолчанию.

Табл. 6-1. Настройка параметров соединения

Параметр При включенном состоянии Состояние по умолчанию Битовая маска Инструкция SET
implicit transactions   При выполнении инструкций начинает транзакции неявно OFF IMPLICIT_ TRANSACTIONS
cursor close on commit Автоматически закрывает курсоры по завершении транзакции OFF CURSOR_CLOSE_ ON_COMMIT
ansi warnings SQL Server отображает предупреждения о появлении значений NULL в агрегатных функциях, о переполнении и делении на ноль. В противном случае может не отображаться предупреждение или будет возвращено значение NULL OFF ANSI_WARNINGS
ansi padding Данные в полях фиксиро ванной длины дополняются пробелами, чтобы заполнить ширину столбца OFF ANSI_PADDING
ANSI NULLS Сравнение любого значения с NULL дает неизвестный результат OFF ANSI_NULLS
arithmetic abort Прерывает запрос при возникновении ошибок пе реполнения или деления на ноль OFF ARITHABORT
arithmetic ignore Возвращает NULL при возникновении ошибок переполнения или деления на ноль во время запроса OFF ARITHIGNORE
quoted identifier   SQL Server интерпретирует двойные кавычки как огра ничитель идентификатора, а не символьной строки OFF QUOTED_ IDENTIFIER
no count Выключает отображение числа строк, возвращенных запросом OFF NOCOUNT
ANSI NULL Default On   При определении новых столбцов хранение в них значения NULL разрешено (если в инструкции Transact-SQL явно не задано иное) OFF ANSI_NULL_ DFLT_ON
ANSI NULL Default Off При определении новых столбцов хранение в них значения NULL запрещено (если в инструкции Transact-SQL явно не задано иное) OFF ANSI_NULL_ DFLT_OFF
concat null yields null Возвращает значение NULL при конкатенации строки и значения NULL OFF CONCAT_NULL_ YIELDS_NULL
numeric round abort Генерирует ошибку при потере точности OFF NUMERIC_ ROUNDABORT
xact abort Производит откат транзакции, если инструкция Transact-SQL вызывает ошибку выполнения OFF XACT_ABORT

Параметры по умолчанию устанавливаются с помощью параметра user options

хранимой процедуры sp_configure:

EXEC sp_configure 'user options', integer_bit_mask_value

В этом случае значением битовой маски является сумма числовых значений для всех нужных параметров. Каждый параметр имеет соответствующую инструкцию SET.

При установке соединения можно применить инструкцию SET, чтобы переопределить параметры по умолчанию для текущего сеанса. Например, если нужно включить параметры ansi padding, ANSI NULLS и ansi warnings, используйте значение битовой маски 56, как в этом примере:

EXEC sp_configure 'user options', 56

В пользовательском сеансе эти параметры можно выключать и включать:

SET ANSI_PADDING ON

SET ANSI_NULLS OFF