Установка параметров соединения по умолчанию
Как видно из рис. 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