Основные операции после перехода от SQL Server 4.9.2 к System 11 (или System 10)

  • Записать дамп обновленной базы данных master
  • Установить пароль пользователя ’sa’
  • Восстановить режимы работы баз данных
  • Восстановить конфигурацию сервера
  • Восстановить прежнее имя сервера
  • Активизировать пороги
  • Создать роли для администраторов баз данных и пользователей
  • Повторно записать дамп базы данных master
  • Сохранить дампы всех баз данных
  • Проверить эксплуатационные командные файлы сервера
  • Восстановить прежние зеркальные пары
  • Обновить статистику оптимизатора
  • Открыть доступ пользователей
  • Удалить и воссоздать необходимые объекты баз данных
  • Записать дамп обновленной базы данных master

Сразу после установки сервера архивации Backup Server сохраните на диске дамп базы данных master.

При работе с SQL Server System 11 и с сервером архивации пользователь может непосредственно указывать имя файла, в который следует записать дамп базы данных или журнала транзакций, т.е. больше не требуется использовать серверные устройства вывода дампов (хотя они остаются доступными).

Для облегчения возможного восстановления сервера дайте файлу с дампом базы данных master имя dump_<имя_cepвepa>_master_11x _<дата>_<время>.out. Напомним, что находящаяся в дампе таблица sysdevices содержит описания только первичных устройств ранее существовавших зеркальных копий, и эти устройства теперь содержат данные в формате System 11.

Установить пароль пользователя ’sа’

По завершении обновления сервера немедленно восстановите прежний пароль системного администратора (напомним, что перед обновлением сервера этот пароль был установлен в NULL). Поскольку SQL Server System 11 шифрует пароли пользователей, записываемые в системную таблицу syslogins, теперь соответствующие поля таблицы нельзя прочитать “невооруженным глазом” (и, в частности, проверить, что пользователь ’sa’ действительно имеет пароль NULL). Если вы забыли пароль системного администратора, действовавший до обновления сервера, попробуйте найти его в таблице syslogins одного из серверов версии 4.9.2, остающихся в вашей информационной системе.

Восстановить режимы работы баз данных

Установите для всех баз данных режимы работы, использовавшиеся в прежнем сервере. Здесь вам снова понадобится ранее сохраненный дамп системных таблиц сервера.

Восстановить конфигурацию сервера

Здесь требуется вернуть количество поддерживаемых пользовательских сеансов работы и размеры стека к прежним значениям (напомним, что перед установкой новой версии SQL Server этим параметрам были присвоены значения 10 и 286 720 соответственно). Одновременное изменение значений рассматриваемых параметров может оказаться невозможным, поскольку при перезапуске сервер сначала резервирует память для пользователей, а затем уменьшает размер стека.

Если, например, необходимо увеличить количество пользователей с 10 до 800, одновременно сократив стек с 286 720 до 40 960, то сервер перезапустится успешно лишь при наличии достаточной памяти для поддержки 800 пользователей при размере стека, равном 286 720. Поэтому рекомендуется сначала сократить размер стека, перезапустить сервер для его загрузки с новым размером стека, проверить конфигурацию сервера и затем повторить эти действия для увеличения количества пользователей.

Восстановить прежнее имя сервера

В процессе обновления имя сервера было изменено на <имя_сервера>_SYS11, чтобы сделать невозможным случайный запуск командных файлов, ориентированных на сервер версии 4.9.2 с прежним именем сервера. В процессе подготовки обновленного сервера к доступу пользователей нужно восстановить имя сервера в командном файле его запуска и в файле интерфейсов либо установить новое постоянное имя, если это необходимо для используемых приложений. Подчеркнем, что речь здесь не идет об изменении имени сервера, записанного в системной таблице sysservers.

Активизировать пороги

SQL Server System 11 позволяет определить пороги во всех базах данных. В частности, в каждой из них можно установить порог последнего уровня (last”chance threshold). При преобразовании баз данных сервера 4.9.2 к формату System 11 пороги последнего уровня не устанавливаются автоматически, и их необходимо задать вручную путем выполнения команды select lct_admin (”lastchance”, db_id ( ) ) в каждой обновленной базе данных.

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

Если в подобной ситуации желательно полное прекращение всех таких транзакций с выдачей сообщения об ошибке 1105 (переполнение сегмента — segment full), то с помощью процедуры sp_dboption установите для соответствующей базы данных режим работы abort tran on log full.

Создать роли для администраторов баз данных и пользователей

Пользовательские роли являются основой механизма распределения полномочий в System 11. Новая версия сервера позволяет назначить роль оператора сервера (oper_role) определенной группе пользователей, каждый из которых сможет записывать и загружать дампы баз данных без установки специальных полномочий в каждой базе данных по отдельности, как это делалось в SQL Server 4.9.2 и в предшествующих версиях сервера. Нужно также определить, как именно будет осуществляться теперь работа администратора сервера.

С одной стороны, вы можете назначить роли sso_role и sa_role всем пользователям сервера, ранее входившим в него под именем ’sa’, что позволит индивидуально контролировать действия каждого администратора. С другой стороны, на сервере могут оставаться командные файлы, жестко сконфигурированные для запуска исключительно пользователем ’sa’. При переработке этих файлов следует решить, как именно командный файл будет определять, под именем какого пользователя ему следует подключаться к серверу.

Повторно записать дамп базы данных master

Сейчас нужно еще раз записать на диск дамп базы данных master. Поскольку SQL Server System 11 и сервер архивации позволяют явно указывать имя файла для записи дампа базы данных или журнала транзакций, больше не требуется использовать серверные устройства вывода дампов (хотя они остаются доступными). Для облегчения поиска создаваемого дампа базы данных master дайте его файлу имя dump_<имя_cepвepa>_master_llx_oldconfig_<дата>_<время>.оut:.

Сохранить дампы всех баз данных

Снова сбросьте дампы всех баз данных сервера на магнитную ленту (либо сначала в дисковые файлы, а затем эти файлы — на ленту). Тем самым вы получаете первый полный комплект дампов, которым можно будет воспользоваться непосредственно из сервера System 11 (не способного читать старые дампы SQL Server 4.9.2).

Проверить эксплуатационные командные файлы сервера
По завершении обновления сервера на System 11 и перед открытием доступа пользователей к новому серверу следует убедиься в работоспособности всех командных файлов и cron-заданий прежнего сервера. При необходимости внесите в них изменения, учитывающе особенности System 11 (например, появление механизма пользовательских ролей или использование зашифрованных паролей).

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

Перед открытием доступа пользователей к базам данных нового сервера необходимо окончательно убедиться в стабильной работе нового сервера System 11 со всеми существующими приложениями и в полной доступности прежних данных этим
приложениям. Любой возврат к старому серверу после начала работы пользователей с сервером System 11 будет означать утрату всех новых данных.

Приняв окончательное решение о переходе на новый сервер, восстановите зеркальное отображение устройств сервера System 11 на прежние разделы зеркальных копий этих устройств. Разумеется, в этот момент теряются все прежние версии баз данных в формате сервера 4.9.2, находившиеся на зеркальных копиях устройств старого сервера.

Обновить статистику оптимизатора

С помощью командного файла выполните команды update statistics и sp_recompile по отношению ко всем таблицам данных сервера.

Открыть доступ пользователей

Перезапустите новый сервер System 11 с прежним номером порта, указанным в клиентской версии файла интерфейсов. В этот момент сервер становится доступным для пользователей, поскольку его имя и номер порта совпадают с именем и номером порта прежнего сервера, указанными в файлах интерфейсов всех компьютеров-клиентов системы.

Удалить и воссоздать необходимые объекты баз данных

Из-за того что в SQL Server System 11 пересмотрена схема обработки вложенных запросов, при переходе к этой версии сервера необходимо удалить все объекты баз данных, содержащие вложенные запросы, а затем создать эти объекты заново. Рассматриваемую операцию следует обязательно выполнить для всех баз данных, перенесенных в сервер System 11 из SQL Server 4.9.2 и System 10.

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

В некоторых случаях применение в сервере System 11 схем выполнения запросов, выработанных оптимизатором прежних версий сервера, приводит к значительному увеличению времени обработки этих запросов. В процессе повторной компиляции объектов, выполняемой при их воссоздании, будут построены новые схемы выполнения запросов, учитывающие особенности сервера System 11.

В комплект поставки SQL Server System 11 компания Sybase включила хранимую процедуру sp_procmode, определяющую, какие именно объекты баз данных должны быть удалены и созданы заново. Эта процедура должна быть выполнена в каждой базе данных сервера. Не всякий объект, название которого сообщается процедурой sp_procqmode, в действительности содержит вложенные запросы. Тем не менее рекомендуем удалить и создать заново все объекты, выданные этой процедурой:

1> sp_procqmode

2> go

Object Owner.Name                Object Type                          Processing Mode

dbo.actions_trigger trigger pre-System 11

dbo.assignments_trigger trigger pre-System 11

dbo.attachments_trigger trigger pre-System 11

dbo.cover_hist_trigger trigger pre-System 11

dbo.customers_trigger trigger pre-System 11

dbo.labor_trigger trigger pre-System 11

dbo.parts_trigger trigger pre-System 11

dbo.reference_trigger trigger System 11 or later

dbo.service_order_trigger trigger pre-System 11

dbo.states_trigger trigger pre-System 11

dbo.action_status_proc stored procedure pre-System 11

dbo.cms_who stored procedure pre-System 11

dbo.sp_disks stored procedure pre-System 11

(return status =0)

Возврат к SQL Server 4.9.2 после его неудачного обновления на System 10 или 11

ЕСЛИ попытка перехода на сервер System 11 оканчивается неудачей, можно быстро вернуться к прежнему серверу 4.9.2, используя записанные в процессе обновления сервера дампы базы данных master, a также сохраненные зеркальные копии устройств прежнего сервера.

Ниже рассматриваются основные этапы этого процесса. Важно отметить, что подобный процесс позволяет восстановить только базы данных, имевшие в сервере 4.9.2 полные зеркальные копии. Все остальные базы данных потребуется воссоздать заново и загрузить из дампов — при условии, что предварительно удастся восстановить базу данных master сервера версии 4.9.2.

При неуспешном завершении процесса перевода сервера на System 11 обсудите возникшую ситуацию со службой технической поддержки компании Sybase. Уточните, является ли предлагаемый нами план возврата к прежнему серверу наилучшим выходом из создавшегося положения. Не исключено, что преждевременное завершение процесса установки сервера System 11 вызвано второстепенными причинами, после устранения которых вам удастся завершить обновление сервера.

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

  • Остановить сервер
  • Установить сервер 4.9.2 на действующем серверном устройстве master
  • Загрузить дамп базы данных master сервера версии 4.9.2
  • Изменить принадлежность первичных серверных устройств
  • Перезапустить сервер
  • Восстановить исходную конфигурацию дисковых устройств сервера 4.9.2
  • Остановить сервер

    Если после неудачной попытки обновления сервер все еще продолжает работать, остановите его. Это позволит восстановить серверное устройство master в формате версии 4.9.2 в дисковом разделе, уже содержащем устройство master нового сервера System 10 или 11.

    Установить сервер 4.9.2 на действующем серверном устройстве master

    Наша основная цель — загрузить дамп базы данных master прежнего сервера 4.9.2. Для этого необходимо запустить SQL Server 4.9.2, что, в свою очередь, требует восстановления прежнего серверного устройства master программой buildmaster (которая уничтожит находившееся в том же разделе устройство master, уже преобразованное к формату System 10/11). Для восстановления устройства master в формате 4.9.2 введите команду

    buildmaster -d /dev/rdsk/ <раздел_диска> -s <размер_устройства_master>

    Размер устройства master необходимо задать в виде числа 2-килобайтовых страниц. Подчеркнем, что здесь нужно воспользоваться версией программы buildmaster, входящей в состав SQL Server 4.9.2, а не System 10/11.

    Загрузить дамп базы данных master сервера версии 4.9.2

    Запустите сервер в однопользовательском режиме (указав параметр -т в командном файле запуска сервера RUN<имя_сервера>). Убедитесь в том, что вы запустили сервер версии 4.9.2, а не System 10/11, и что он по”прежнему полностью изолирован от пользователей. Загрузите созданный в процессе обновления сервера дамп базы данных master из файла с именем

    dump_<имя_cepsepa>_master_4.9.2_withmirrors_<датa>_<время>.out (проверьте, что загружается именно этот дамп!).

    Процедура загрузки дампа базы данных master детально описывается в руководстве по устранению неполадок SQL Server (SQL Server Troubleshooting Guide). Загрузка базы данных master приведет к автоматическому останову сервера.

    Используемый дамп базы данных master содержит таблицу sysdevices с полным описанием зеркальных копий серверных устройств, существовавших в сервере 4.9.2. После перезапуска сервера ему вновь станут доступны ранее удаленные зеркальные копии серверных устройств, содержащие прежние базы данных в формате версии 4.9.2 (в то время как первичные устройства зеркальных пар содержат эти же базы данных, но уже преобразованные к формату System 10 или System 11).

    Изменить принадлежность первичных серверных устройств

    Измените принадлежность (и, возможно, права доступа) специальных системных файлов управления доступом к разделам дисков, на которых находятся первичные устройства всех зеркальных пар сервера. UNIX-пользователь Sybase больше не должен иметь возможности обращаться к этим разделам.

    Перезапустить сервер

    При перезапуске SQL Server 4.9.2 откроет восстановленную базу данных и найдет в ней таблицу sysdevices с описанием ранее существовавших зеркальных пар. Поскольку попытка обращения к первичным устройствам этих пар (где находятся базы данных в формате System 10/11) окажется безуспешной, сервер автоматически переключится на вторичные устройства пар, содержащие прежние базы данных в их исходном формате SQL Server 4.9.2. С этого момента сервер станет использовать первичную копию серверного устройства master и вторичные копии всех остальных серверных устройств.

    Восстановить исходную конфигурацию дисковых устройств сервера 4.9.2

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

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

    Обновление SQL Server 4.9.2 на сервер System 10

    Процесс перехода от SQL Server 4.9.2 к SQL Server System 10 практически идентичен переходу к System 11.

    Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

    Оставьте отзыв

    XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

     
    Rambler's Top100