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

8.3. Налаштування видалених серверних з'єднань. Управління параметрами конфігурації сервера

Настройка удаленных серверных соединений

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

1. В диалоговом окне Server Properties (Свойства сервера) перейдите на страницу Connections (Соединения).

2. Установите флажок Allow remote connections to this server (Разрешить удаленные соединения к этому серверу). После этого удаленные серверы смогут подключаться к данному серверу для выполнения хранимых процедур удаленно. Чтобы новое значение параметра вступило в силу, следует остановить и перезапустить сервер.

Внимание! Соединения, устанавливаемые для удаленного вызова процедур (RPC, remote procedure call), разрешены по умолчанию. Если изменить этот параметр, удаленные серверы не смогут подключаться к SQL Server.

3. По умолчанию время ожидания запросов, выполняемых удаленными серверами, ограничено 600 с. Этот параметр можно изменить, введя другое значение в поле Remote query timeout (Время ожидания для удаленных запросов) на странице Connections (Соединения). Значение времени ожидания указывается в секундах, допустимый диапазон значений — от 0 до 2 147 483 647. Значение 0 указывает, что это время не ограничено.

4. Хранимые процедуры и запросы, выполняемые на сервере, могут быть обработаны как распределенные транзакции с помощью координатора распределенных транзакций. Если требуется выполнять процедуры таким способом, установите флажок Require distributed transactions for server-to-server communication (Требовать применения распределенных транзакций для связи между серверами). Чтобы новое значение параметра вступило в силу, следует остановить и перезапустить сервер.

5. Щелкните кнопку OK.

Эти параметры также могут быть установлены с помощью хранимой процедуры sp_configure. Соответствующими инструкциями Transact-SQL являются:

EXEC sp_configure 'remote access', {0 | 1}

EXEC sp_configure 'remote query timeout', number_of_seconds

EXEC sp_configure 'remote proc trans', {0 | 1}

Примечание Значение 0 выключает параметр, а значение 1 — включает.

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

Большинство основных параметров сервера настраиваются на странице Advanced (Дополнительные) диалогового окна Server Properties (Свойства сервера). Здесь, как показано на рис. 6-6, можно установить язык по умолчанию, некоторые общие аспекты поведения сервера и многие другие параметры.

Р ис. 6-6. Основные параметры конфигурации сервера на странице Advanced диалогового окна Server Properties

8.4. Установка мови за умовчанням для sql Server

Язык по умолчанию определяет форматы по умолчанию для отображения дат, названий месяцев и дней. Ели не установлена локализированная версия SQL Server, используется английский (США) язык. Локализированные версии SQL Server отображают информацию на французском, немецком, японском, испанском и других языках. На локализированном сервере доступны два набора системных сообщений: на английском (США) и локальном языках, и сообщения SQL Server будут отображаться на том из них, который установлен как язык по умолчанию.

На странице Advanced (Дополнительные) диалогового окна Server Properties (Свойства сервера) из раскрывающегося списка Default Language (Язык по умолчанию) выберите язык и щелкните кнопку OK. Чтобы применить установку нового языка по умолчанию, требуется остановить и перезапустить сервер. Соответствующая инструкция Transact-SQL с использованием хранимой процедуры sp_configure такая:

EXEC sp_configure 'default language', language_id

Идентификатором для английского языка (США) всегда является значение 0.

Системное представление sys.languages содержит одну строку для каждого языка, доступного на сервере.

Разрешение и запрещение обновления системных таблиц

В SQL Server 2005 непосредственное обновлении системных таблиц не поддерживается, хотя параметр allow updates хранимой процедуры sp_configure оставлен для обеспечения обратной совместимости. Однако его установка не производит никакого эффекта.

Разрешение и запрещение вложенных триггеров

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

Настроить SQL Server для использования вложенных триггеров позволяет один из параметров на странице Advanced (Дополнительные) диалогового окна Server Properties (Свойства сервера). Для этого выполните следующие действия.

1. В диалоговом окне Server Properties (Свойства сервера) перейдите на страницу Advanced (Дополнительные).

2. В раскрывающемся списке Allow Triggers to Fire Others (Разрешить триггерам запускать другие триггеры) выберите необходимое значение — True или False.

3. Щелкните кнопку OK.

Соответствующая инструкция Transact-SQL с использованием хранимой процедуры sp_configure такая:

EXEC sp_configure 'nested triggers', {0 | 1}

Используйте 0, чтобы запретить, и 1, чтобы разрешить вложенность триггеров.

Управление выполнением запроса

Регулятор запросов (query governor) не позволяет выполнение запросов, имеющих расчетное время исполнения, превышающее определенный установленный порог стоимости запроса. Стоимостью запроса называется расчетное время в секундах, требуемое для выполнения запроса и предварительно рассчитанное на основании данных планировщика запросов. По умолчанию регулятор запросов выключен, и это означает, что максимальная стоимость запроса не установлена. Чтобы активировать регулятор запросов, выполните следующую последовательность действий.

1. В диалоговом окне Server Properties (Свойства сервера) перейдите на страницу Connections (Соединения).

2. Установите флажок Use query governor to prevent long-running queries (Использовать регулятор запросов для предотвращения длительных запросов).

3. Под флажком в поле, ставшим доступным после его установки, введите максимальный предел стоимости запроса. Допустимый диапазон — от 0 до 2 147 483 647.

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

4. Щелкните кнопку OK.

Следующая инструкция Transact-SQL с использованием хранимой процедуры sp_configure активирует регулятор запросов:

EXEC sp_configure 'query governor cost limit', cost_limit

Также можно установить предел стоимости запроса на уровне соединения, используя такую инструкцию в Transact-SQL:

SET QUERY_GOVERNOR_COST_LIMIT cost_limit

Совет Прежде чем активировать регулятор запросов, используйте окно формирования запросов для оценки стоимости типичных запросов, выполняемых на сервере. Это позволит определить значение максимальной стоимости запроса. Также утилиту можно использовать для оптимизации запросов.

Настройка поддержки 2000 года

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

По умолчанию все двухзначные даты от 50 до 99 считаются годами, начинающимися с 19, а от 00 до 49 — начинающимися с 20. Таким образом, SQL Server интерпретирует двухзначный год 99 как 1999 и двухзначный год 02 как 2002.

Чтобы поддержать обратную совместимость с предыдущими версиями, Microsoft советует оставить этот параметр со значением по умолчанию. Тем не менее, его можно изменить, выполнив следующие действия.

1. В диалоговом окне Server Properties (Свойства сервера) перейдите на страницу Advanced (Дополнительные).

2. В поле Two Digit Year Cutoff (Переходной предел двухзначного года) установите значение, являющееся завершающим годом временного интервала, который требуется использовать. Допустимый диапазон для завершающего года — от 1753 до 9999.

3. Щелкните кнопку OK.

Примечание Выбранный временной интервал влияет на все БД на текущем сервере.

Также некоторые старые клиенты OLE поддерживают только даты в диапазоне лет от 1931 до 2030. Чтобы обеспечить совместимость с этими клиентами, возможно, потребуется использовать 2030 в качестве завершающего года временного интервала.

Соответствующей инструкцией Transact-SQL, использующей хранимую процедуру sp_configure, является:

EXEC sp_configure 'two digit year cutoff', ending_year