Установка параметров базы данных
Несколько параметров уровня базы данных, определяющих характеристики базы данных, можно устанавливать раздельно для каждой базы данных. Эти параметры уникальны для каждой базы данных и не влияют на другие базы данных. Эти параметры баз данных устанавливаются в значения по умолчанию при создании базы данных, но могут быть изменены впоследствии при помощи предложения 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 |
Параметры внешнего доступа
Управляет возможностью доступа к базе данных со стороны внешних ресурсов (например объектов из другой базы данных).
Параметр |
Описание |
Значение по умолчанию |
---|---|---|
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 |
Изменение параметров базы данных