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

4.2. Способи управління параметрами конфігурації. Установка параметрів конфігурації.

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

Установка параметров конфигурации

Параметры конфигурации могут быть установлены для следующих блоков.

  • Экземпляра сервера Параметры сервера, также называемые параметрами экземпляра, задаются посредством выполнения хранимой процедуры sp_configure.

  • Базы данных Параметры БД, также называемые параметрами уровня базы данных, задаются путем выполнения инструкции ALTER DATABASE. Уровень совместимости БД может быть установлен выполнением хранимой процедуры sp_dbcmptlevel.

  • Соединения Параметры соединения определяются свойствами поставщика Microsoft OLE DB Provider for SQL Server или драйвера SQL Server ODBC — при установке соединения, а также посредством инструкций SET — при установленном соединении.

  • Инструкции или пакета инструкций Параметры уровня пакета инструкций задаются с помощью инструкций SET. Параметры уровня инструкции устанавливаются в индивидуальных инструкциях Transact-SQL.

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

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

2. Параметр БД.

3. Параметр пакета инструкций/соединения (устанавливается с помощью инструкций

SET).

4. Параметр индивидуальной инструкции SQL (устанавливается с помощью указаний

(hints).

Примечание Хранимая процедура sp_configure поддерживает параметр user options, позволяющий изменять глобальные значения по умолчанию для некоторых параметров пакета инструкций/соединения. Хотя выглядит это так, будто параметр user options является параметром конфигурации экземпляра сервера, на самом деле он определяет значения параметров пакета инструкций/соединения. В предыдущих версиях SQL Server параметры уровня пакета инструкций SQL назывались параметрами уровня соединения. В SQL Server 2005 параметры уровня пакета инструкций при отключении использования множественных активных результирующих наборов данных также считаются параметрами уровня соединения.

Для изменения параметров базы данных используйте инструкцию ALTER DATABASE, параметров уровня сервера — хранимую процедуру sp_configure, а для изменения параметров, влияющих только на текущий сеанс соединения, — инструкции SET. В случае конфликта параметров те из них, которые были установлены позже, имеют приоритет над установленными ранее. Например, параметры соединения имеют приоритет над параметрами базы данных и параметрами сервера.

4.3. Робота з параметрами пакету інструкцій/з'єднання.

Обычно параметры пакета инструкций/соединения устанавливаются пользователями внутри пакета инструкций или сценария с помощью инструкций SET и остаются действительными до тех пор, пока не будут переустановлены или не закончится сеанс пользовательского соединения. Параметры данного типа также могут быть установлены внутри хранимой процедуры или триггера. Действительными в этом случае они остаются до их переустановки внутри хранимой процедуры или триггера, или пока управление не вернется к коду, который вызвал хранимую процедуру или триггер.

Некоторые параметры, устанавливаемые инструкциями SET, применяются во время синтаксического анализа кода, другие — при его выполнении. Параметрами, применяемыми во время синтаксического анализа, являются QUOTED_INDENTIFIER, PARSEONLY, OFFSETS и FIPS_FLAGGER. Все остальные — это параметры времени исполнения. Первые указанные параметры применяются, как только они встречаются в коде во время синтаксического анализа. Параметры времени выпонения применяются при выполнении кода, в котором они заданы.

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

При подключении пользователя к базе данных параметры соединения, определяемые драйвером ODBC и OLE DB (пользователя, сервера и соединения), могут быть автоматически установлены в значение ON (Включен). Если пользователь изменяет параметры соединения внутри пакета инструкций или сценария, содержащего динамический SQL, такие изменения действительны только до окончания выполнения этого пакета или сценария.

Примечание Соединения, поддерживающие множественные активные результирующие наборы данных, ведут список значений по умолчанию параметров соединения. Когда в контексте такого соединения выполняется пакет инструкций или сценарий, значения по умолчанию параметров соединения копируются в среду выполняемого запроса. Они остаются действительными, если не будут переустановлены внутри запроса. При завершении пакета инструкций или сценария значения параметров среды выполнения копируются назад, в значения по умолчанию всего сеанса соединения. Это гарантирует, что каждый из несколько пакетов инструкций, выполняющихся одновременно в контексте одного соединения, будет иметь свою собственную среду параметров пакета. Однако это же означает, что текущие значения по умолчанию для соединения зависят от последнего пакета инструкций или сценария, завершившего выполнение.

В табл. 4-4 приведен список доступных параметров пакета инструкций/соединения, а также даны соответствующие им параметры базы данных и сервера, поддерживаемые SQL Server 2005, и их значения по умолчанию (если применимо). Инструкция SET ANSI_DEFAULTS предоставляет наиболее быстрый способ установки значений по умолчанию для параметров соединения, определенных в стандарте SQL-92. При применении этой инструкции сбрасываются значения следующих параметров: SET ANSI_NULLS, SET CURSOR_CLOSE_ON_COMMIT, SET ANSI_NULL_DFLT_ON, SET IMPLICIT_TRANSACTIONS, SET ANSI_PADDING, SET QUOTED_IDENTIFIER и SET ANSI_WARNINGS.

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

Параметр БД

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

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

ANSI_DEFAULTS

Нет

Нет

Недоступно

ANSI_NULL_DFLT_OFF

ANSI_NULL_DFLT_ON

ANSI_NULL_DEFAULT

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

OFF

ANSI_NULLS

ANSI_NULLS

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

OFF

ANSI_PADDING

ANSI_PADDING

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

ON

ANSI_WARNINGS

ANSI_WARNINGS

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

OFF

ARITHABORT

ARITHABORT

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

OFF

ARITHIGNORE

Нет

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

OFF

CONCAT_NULL_YIELDS_NULL

CONCAT_NULL_YIELDS_NULL

Нет

OFF

CONTEXT_INFO

Нет

Нет

OFF

CURSOR_CLOSE_ON_COMMIT

CURSOR_CLOSE_ON_COMMIT

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

OFF

DATEFIRST

Нет

Нет

7

DATEFORMAT

Нет

Нет

mdy

DEADLOCK_PRIORITY

Нет

Нет

NORMAL

FIPS_FLAGGER

Нет

Нет

OFF

FMTONLY

Нет

Нет

OFF

FORCEPLAN

Нет

Нет

OFF

IDENTITY_INSERT

Нет

Нет

OFF

IMPLICIT_TRANSACTIONS

Нет

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

OFF

LANGUAGE

Нет

Нет

us_english

LOCK_TIMEOUT

Нет

Нет

–1 (ждать вечно)

NOCOUNT

Нет

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

OFF

NOEXEC

Нет

Нет

OFF

NUMERIC_ROUNDABORT

NUMERIC_ROUNDABORT

Нет

OFF

OFFSETS

Нет

Нет

OFF

PARSEONLY

Нет

Нет

OFF

QUERY_GOVERNOR_COST_LIMIT

Нет

query governor cost limit

OFF

QUOTED_IDENTIFIER

quoted identifier

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

OFF

REMOTE_PROC_TRANSACTIONS

Нет

Нет

OFF

ROWCOUNT

Нет

Нет

OFF

SHOWPLAN_ALL

Нет

Нет

OFF

SHOWPLAN_TEXT

Нет

Нет

OFF

SHOWPLAN_XML

Нет

Нет

OFF

STATISTICS IO

Нет

Нет

OFF

STATISTICS PROFILE

Нет

Нет

OFF

STATISTICS TIME

Нет

Нет

OFF

STATISTICS XML

Нет

Нет

OFF

TEXTSIZE

Нет

Нет

OFF

TRANSACTION ISOLATION LEVEL

Нет

Нет

Недоступно

XACT_ABORT

Нет

Нет

OFF