Установка параметров базы данных

Некоторые параметры уровня базы данных, определяющие характеристики базы данных, могут быть установлены раздельно для каждой базы данных. Эти параметры уникальны для каждой базы данных и не влияют на другие базы данных. Эти параметры баз данных устанавливаются в значения по умолчанию при создании базы данных, но могут быть изменены впоследствии при помощи предложения SET инструкции ALTER DATABASE. Кроме того, большинство из этих параметров можно настроить в среде Среда SQL Server Management Studio.

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

Параметры на уровне сервера настраиваются с помощью системной хранимой процедуры sp_configure или в среде Среда SQL Server Management Studio. Дополнительные сведения см. в разделе Установка параметров конфигурации сервера. Настройки уровня соединения указываются с помощью инструкций SET. Дополнительные сведения см. в разделе Параметры SET.

Чтобы изменить значения по умолчанию любого из параметров баз данных для всех создаваемых баз данных, измените соответствующий параметр базы данных в базе данных model. Например, если параметр базы данных AUTO_CLOSE должен по умолчанию принимать значение True для всех создаваемых в дальнейшем баз данных, присвойте параметру AUTO_CLOSE значение True для базы данных model.

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

Параметры базы данных

В следующих таблицах перечислены параметры базы данных, устанавливаемые при создании базы данных, и их значения по умолчанию. Полное описание этих параметров приведено в разделе ALTER DATABASE (Transact-SQL).

Параметры Auto

Управление некоторыми аспектами автоматических действий.

Параметр

Описание

Значение по умолчанию

AUTO_CLOSE

При присваивании параметру значения ON после отключения последнего пользователя база данных правильно закрывается, а используемые ей ресурсы освобождаются. База данных автоматически открывается снова, когда пользователь опять пытается подключиться к ней.

При установке параметра в OFF база данных остается открытой и после отключения последнего пользователя.

Принимает значение True для всех баз данных при использовании SQL Server 2000 Desktop Engine или SQL Server Express и значение False для всех других выпусков (независимо от операционной системы).

AUTO_CREATE_STATISTICS

При установке параметра в ON для использованных в предикате столбцов автоматически создается статистика.

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

True

AUTO_UPDATE_STATISTICS

При установке параметра в ON любая отсутствующая статистика, требуемая при запросе для его оптимизации, будет автоматически создана во время оптимизации запроса.

При установке параметра в OFF статистика должна создаваться вручную. Дополнительные сведения см. в разделе Использование статистики для повышения производительности запросов.

True

AUTO_SHRINK

При установке параметра в ON файлы базы данных подлежат периодическому сжатию. Как файлы данных, так и файлы журналов могут быть автоматически сжаты сервером SQL Server. AUTO_SHRINK уменьшает размер журнала транзакций только в том случае, если выбрана простая модель восстановления базы данных или была создана резервная копия журнала.

При установке параметра в OFF файлы баз данных во время периодических проверок на неиспользуемое пространство не будут сжиматься автоматически.

False

Auto_Update_Statistics_Asynchronously

При значении True обновляет статистику асинхронно.

False

Параметры курсора

Управление поведением и областью видимости курсора.

Параметр

Описание

Значение по умолчанию

CURSOR_CLOSE_ON_COMMIT

Если параметр установлен в ON, курсоры, открываемые при фиксации или откате транзакции, закрываются.

При установке параметра в OFF курсоры остаются открытыми, когда транзакция фиксируется; откат транзакции закрывает все курсоры, кроме курсоров, определенных как INSENSITIVE или STATIC.

OFF

CURSOR_DEFAULT

Если указано LOCAL и курсор не определен как GLOBAL при создании, то область курсора локальна по отношению к пакету, хранимой процедуре или триггеру, в которых он был создан. Имя курсора действительно только внутри этой области.

Если параметр GLOBAL задан и курсор во время создания не определен как LOCAL, то область курсора глобальна относительно соединения. Имя курсора может использоваться в любой хранимой процедуре или пакете, выполняемом соединением.

GLOBAL

Параметры доступности базы данных

Управляют переходом базы данных в режим «в сети» и режим «вне сети», определяют, кто может подключаться к базе данных, а также возможна ли запись в базу данных или она находится в режиме «только для чтения».

Параметр

Описание

Значение по умолчанию

OFFLINE | ONLINE | EMERGENCY

Если указано OFFLINE, база данных закрывается, правильно отключается и отмечается как перешедшая в автономный режим.

Если указано ONLINE, база данных открыта и доступна для использования.

Если задано EMERGENCY, то база данных помечается как READ_ONLY, запись в журнал отключается, а доступ будет разрешен лишь для членов предопределенной роли сервера sysadmin.

ONLINE

READ_ONLY | READ_WRITE

Если задано READ_ONLY, то пользователи смогут считывать данные из базы данных, но не смогут изменять их.

Если задано значение READ_WRITE, база данных доступна для чтения и записи.

READ_WRITE

SINGLE_USER | RESTRICTED_USER | MULTI_USER

Если указано SINGLE_USER, то к базе данных одновременно может быть подключен лишь один пользователь. Соединения всех остальных пользователей разрываются.

Если задано RESTRICTED_USER, то к базе данных могут подключаться лишь члены предопределенной роли базы данных db_owner и члены предопределенных ролей сервера dbcreator и sysadmin, но их количество неограниченно.

При указании MULTI_USER разрешается подключение всех пользователей, имеющих соответствующие разрешения.

MULTI_USER

Параметры оптимизации корреляции дат

Управляет параметром date_correlation_optimization.

Параметр

Описание

Значение по умолчанию

DATE_CORRELATION_OPTIMIZATION

Если выбрано ON, SQL Server поддерживает статистику корреляции между любыми двумя таблицами в базе данных, связанными ограничением FOREIGN KEY и содержащими столбцы типа datetime.

Если задано OFF, то статистика корреляции не поддерживается.

OFF

Дополнительные сведения см. в разделе Оптимизация запросов, которые обращаются к коррелируемым столбцам типа datetime.

Параметры внешнего доступа

Управляет возможностью доступа к базе данных со стороны внешних ресурсов (например, объектов из другой базы данных).

Параметр

Описание

Значение по умолчанию

DB_CHAINING

Если указано значение ON, то база данных может быть источником или целевой базой данных в межбазовой цепочке владения.

Если указано значение OFF, база данных не может участвовать в межбазовых цепочках владения.

OFF

TRUSTWORTHY

Если указано значение ON, модули базы данных (например, пользовательские функции или хранимые процедуры), использующие контекст олицетворения, могут получать доступ к ресурсам, расположенным вне базы данных.

Если указано значение OFF, контекст олицетворения не имеет доступа к ресурсам вне базы данных.

Параметр TRUSTWORTHY устанавливается в OFF при каждом присоединении базы данных.

OFF

Параметры параметризации

Управляет параметром parameterization.

Параметр

Описание

Значение по умолчанию

PARAMETERIZATION

Если выбрано SIMPLE, параметризация запросов основывается на поведении базы данных по умолчанию.

Если выбрано FORCED, SQL Server выполняет параметризацию всех запросов в базе данных.

SIMPLE

Параметры восстановления

Управляют моделью восстановления базы данных.

Параметр

Описание

Значение по умолчанию

RECOVERY

Если указано FULL, при ошибке носителя обеспечивается полное восстановление с помощью резервных копий журналов транзакций. Если файл данных поврежден, восстановление носителя может восстановить все зафиксированные транзакции.

Если указано BULK_LOGGED, после сбоя носителя обеспечивается восстановление, совмещающее наивысшую производительность и минимальное использование пространства журнала для определенных массовых (крупномасштабных) операций.

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

FULL

PAGE_VERIFY

Если указан параметр CHECKSUM, компонент Database Engine рассчитывает контрольную сумму для содержимого страницы в целом и сохраняет значение в заголовке страницы при записи страницы на диск. При чтении страницы с диска контрольная сумма вычисляется повторно и сравнивается с сохраненным в заголовке страницы значением.

Если установлен параметр TORN_PAGE_DETECTION, для каждого 512-байтового сектора из 8-килобайтовой (КБ) страницы базы данных в заголовке страницы устанавливается особый двухбитный шаблон, который будет сохранен при записи страницы на диск. При чтении страницы с диска биты разрыва, хранимые в заголовке страницы, сравниваются с действительными сведениями о секторах страницы.

Если установлено значение NONE, для страницы базы данных не будет создаваться ни значение CHECKSUM, ни TORN_PAGE_DETECTION. SQL Server не будет проверять страницу на разрыв или совпадение контрольной суммы, даже если соответствующие данные CHECKSUM или TORN_PAGE_DETECTION присутствуют в заголовке страницы.

CHECKSUM

Параметры компонента Service Broker

Управляет параметрами компонента Service Broker.

Параметр

Описание

Значение по умолчанию

ENABLE_BROKER | DISABLE_BROKER | NEW_BROKER | ERROR_BROKER_CONVERSATIONS

Значение ENABLE_BROKER включает компонент Service Broker в заданной базе данных.

Значение ENABLE_BROKER выключает компонент Service Broker в заданной базе данных.

Если выбрано NEW_BROKER, база данных получает новый идентификатор брокера.

Если выбрано ERROR_BROKER_CONVERSATIONS, при присоединении базы данных диалоги в базе данных получают сообщение об ошибке.

ENABLE_BROKER

Параметры изоляции моментальных снимков

Определяет уровень изоляции транзакции.

Параметр

Описание

Значение по умолчанию

ALLOW_SNAPSHOT_ISOLATION

Если выбрано ON, транзакции могут указать уровень изоляции транзакции SNAPSHOT. Если транзакция выполняется на уровне изоляции SNAPSHOT, всем инструкциям видны данные из моментального снимка в состоянии, которое существовало в момент начала транзакции.

Если выбрано OFF, транзакции не могут указать уровень изоляции транзакции SNAPSHOT.

OFF

READ_COMMITTED_SNAPSHOT

Если выбрано ON, транзакции, указывающие уровень изоляции READ COMMITTED, используют управление версиями строк вместо блокировки. Если транзакция выполняется с уровнем изоляции READ COMMITTED, данные моментального снимка видны всем инструкциям в состоянии, которое существовало на момент начала выполнения инструкции.

Если выбрано OFF, то в транзакциях, для которых установлен уровень изоляции READ COMMITTED, будут использоваться блокировки.

При настройке параметра READ_COMMITTED_SNAPSHOT в базе данных допустимо соединение только при помощи команды ALTER DATABASE. До завершения инструкции ALTER DATABASE в базе данных не должно быть других открытых соединений. База данных не обязательно должна находиться в однопользовательском режиме.

OFF

Параметры SQL

Управляет параметрами совместимости ANSI.

Параметр

Описание

Значение по умолчанию

ANSI_NULL_DEFAULT

Определяет значение по умолчанию, NULL или NOT NULL, для столбцов, типа данных alias или пользовательского типа CLR, для которых в инструкциях CREATE TABLE или ALTER TABLE не было явно указано, могут ли они содержать NULL.

Если выбрано ON, значением по умолчанию является NULL.

Если выбрано OFF, значением по умолчанию является NOT NULL.

OFF

ANSI_NULLS

Если выбрано ON, все сравнения со значением NULL выдают результат UNKNOWN.

Если выбрано значение OFF, при сравнении значений не в Юникоде со значением NULL выдается результат TRUE, если оба значения равны NULL.

OFF

ANSI_PADDING

Если задано значение ON, конечные пробелы в символьных значениях, вставляемых в столбцы varchar или nvarchar, и конечные нули в двоичных значениях, вставляемых в столбцы varbinary, не отбрасываются. Значения не подгоняются под длину столбца.

Если задано значение OFF, конечные пробелы (в столбцах varchar или nvarchar) и нули (в столбцах varbinary) отбрасываются. Эти параметры влияют только на определение вновь создаваемых столбцов.

Если для параметра ANSI_PADDING выбрано значение ON, столбцы типа char и binary, допускающие значения NULL, подгоняются по длине столбца, однако если выбрано значение OFF, конечные пробелы и нули отбрасываются. Столбцы типа char и binary, допускающие значения NULL, всегда подгоняются по длине столбца.

OFF

ANSI_WARNINGS

Если выбрано значение ON, при возникновении таких состояний, как деление на ноль или появление значений NULL в агрегатных функциях, создается предупреждение или сообщение об ошибке.

Если выбрано OFF, предупреждения не создаются, а при возникновении таких состояний, как деление на ноль, возвращаются значения NULL.

OFF

ARITHABORT

Если выбрано ON, при возникновении переполнения или деления на ноль во время выполнения запроса запрос завершается.

Если выбрано OFF, выводится предупреждающее сообщение о возникшей ошибке, но запрос, пакет или транзакция продолжают выполняться, как будто ошибка не происходила.

OFF

CONCAT_NULL_YIELDS_NULL

Если выбрано ON, операция объединения выдает результат NULL, если любой из операндов имеет значение NULL.

Если выбрано OFF, значение NULL обрабатывается как пустая символьная строка.

OFF

QUOTED_IDENTIFIER

Если выбрано ON, можно использовать двойные кавычки при выделении идентификаторов с разделителями.

Если выбрано OFF, идентификаторы нельзя заключать в кавычки, и они должны соответствовать всем правилам Transact-SQL для идентификаторов.

OFF

NUMERIC_ROUNDABORT

Когда выбрано ON, если при расчете выражения происходит потеря точности, возникает ошибка.

Если выбрано OFF, потеря точности не приводит к возникновению сообщения об ошибке, а результат округляется с точностью столбца или переменной, в которых сохраняется результат.

OFF

RECURSIVE_TRIGGERS

Если выбрано ON, допустимо рекурсивное срабатывание триггеров AFTER.

Если выбрано OFF, только прямое рекурсивное срабатывание триггеров AFTER запрещено.

OFF

Изменение параметров базы данных