Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект лекцій розробка.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
24 Мб
Скачать
☆

4.5. Робота з параметрами бд. Управління рівнем сумісності бд.

Параметры конфигурации базы данных изменяются с помощью инструкция ALTER DATABASE. Для новых установок SQL Server параметры конфигурации БД model и master одинаковы. При создании новых баз данных параметры по умолчанию для них берутся из БД model. Всякий раз при изменении какого-либо параметра ядро базы данных перекомпилирует содержимое ее кэша. В табл. 4-6 приведен перечень доступных параметров БД, даются соответствующие им параметры пакета инструкций/соединения и параметры сервера, поддерживаемые SQL Server 2005, а также их значения по умолчанию (если применимо).

Табл. 4-6. Параметры конфигурации БД

Параметр БД

Параметр пакета инструкций/соединения

Параметр сервера

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

ANSI_NULL_DEFAULT

ANSI_NULL_DFLT_

ON ANSI_NULL_DFLT_OFF

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

OFF

ANSI_NULLS

ANSI_NULLS

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

OFF

ANSI_PADDING

ANSI_PADDING

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

OFF

ANSI_WARNINGS

ANSI_WARNINGS

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

OFF

AUTO_CLOSE

Нет

Нет

OFF

AUTO_CREATE_STATISTICS

Нет

Нет

ON

AUTO_SHRINK

Нет

Нет

OFF

AUTO_UPDATE_STATISTICS

Нет

Нет

ON

AUTO_UPDATE_

STATISTICS_ASYNC

Нет

Нет

OFF

CONCAT_NULL_YIELDS_

NULL

CONCAT_

NULL_YIELDS_NULL

Нет

OFF

CURSOR_CLOSE_ON_

COMMIT

CURSOR_CLOSE_ON_

COMMIT

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

OFF

CURSOR_DEFAULT

Нет

Нет

GLOBAL

MERGE PUBLISH

Нет

Нет

FALSE

DB_STATE

Нет

Нет

ONLINE

PUBLISHED

Нет

Нет

FALSE

QUOTED_IDENTIFIER

QUOTED_IDENTIFIER

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

ON

READ_ONLY

Нет

Нет

FALSE

RECOVERY BULK_

LOGGGED

Нет

Нет

FALSE

RECOVERY SIMPLE

Нет

Нет

TRUE

RECURSIVE_TRIGGERS

Нет

Нет

FALSE

RESTRICTED_USER

Нет

Нет

FALSE

SINGLE_USER

Нет

Нет

FALSE

SUBSCRIBED

Нет

Нет

TRUE

TORN_PAGE_DETECTION

Нет

Нет

TRUE

Управление уровнем совместимости БД

По умолчанию при создании новой базы данных в SQL Server 2005 ее уровень совместимости устанавливается в значение 90. Когда какая-либо БД, созданная в предыдущих версиях SQL Server, обновляется для использования в SQL Server 2005, ее уровень совместимости остается прежним:

_ 80 — для SQL Server 2000;

_ 70 — для SQL Server 7.0;

_ 65 — для SQL Server 6.5.

Хотя нельзя модифицировать уровень совместимости БД master, его можно изменить для БД model. Это позволяет создавать новые базы данных со значением уровня совместимости, отличным от значения по умолчанию. Для изменения уровня совместимости применяется хранимая процедура sp_dbcmptlevel.

Она также позволяет установить уровень совместимости для определенной БД.

При этом задаются некоторые аспекты поведения базы данных, делая ее совместимой с указанной предыдущей версией SQL Server. В следующем примере изменяется уровень совместимости для БД Personnel, что делает ее совместимой с SQL Server 2000:

EXEC sp_dbcmptlevel 'Personnel', '80';

GO

При возможных конфликтах между параметрами совместимости (и другими параметрами) важно знать, какой контекст БД используется. Вообще говоря, текущий контекст базы данных — это БД, определенная посредством инструкции USE, если речь идет о пакете инструкций либо сценарии, или БД, содержащая хранимую процедуру, если речь идет о выполнении таковой. Когда хранимая процедура выполняется из пакета инструкций или другой хранимой процедуры, это происходит в контексте параметров конфигурации той базы данных, в которой она хранится. Например, когда хранимая процедура, содержащаяся в БД Support, вызывает хранимую процедуру, содержащуюся в БД Personnel, процедура БД Support выполняется c применением уровня совместимости этой же базы данных, а в случае с БД Personnel — соответственно, БД Personnel.