4 Резервное копирование и восстановление баз данных

advertisement
УТВЕРЖДАЮ
УТВЕРЖДАЮ
Заместитель руководителя
Генеральный директор
Федерального казначейства
OOO «ОТР2000»
__________________ /Попов А.Ю./
________________ /Крикунчик Д. Г./
«___» ______ 200__ г.
«___» ______ 200__ г.
ППО «Казначейское исполнение доходов и расходов федерального
бюджета и кассовое обслуживание территориальных бюджетов v. 101
(Центр-КС)»
РЕКОМЕНДАЦИИ ПО КОНФИГУРИРОВАНИЮ
СЕРВЕРОВ ПОД MS SQL 2000
Руководство администратора
Лист утверждения
Код документа: 54819512.19.00,00.16.02-2.0 2- ЛУ
СОГЛАСОВАНО
СОГЛАСОВАНО
От Федерального казначейства
От ООО «ОТР2000»
Начальник Управления
Руководитель подразделения
информационных систем
______________ /Гусельников А.М./
________________ /Коспанов А.А./
«___» ______ 200__ г.
«___» ______ 200__ г.
Москва
2007
Утвержден
54819512.19.00,00.16.02-2.0 2- ЛУ
ППО «Казначейское исполнение доходов и расходов федерального
бюджета и кассовое обслуживание территориальных бюджетов v. 101
(Центр-КС)»
РЕКОМЕНДАЦИИ ПО КОНФИГУРИРОВАНИЮ
СЕРВЕРОВ ПОД MS SQL 2000
Руководство администратора
Код документа: 54819512.19.00,00.16.02-2.0 2
Листов: 51
Москва
2007
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 2
СОДЕРЖАНИЕ
1
ВВЕДЕНИЕ ............................................................................................................................... 3
2
УСТАНОВКА SQL SERVER 2000 ........................................................................................ 4
2.1
ВЫБОР ОПЕРАЦИОННОЙ СИСТЕМЫ ...................................................................................... 4
2.2
ВЫБОР РЕДАКЦИИ SQL SERVER 2000 ................................................................................. 5
2.3
ВЫБОР ПАРАМЕТРОВ УСТАНОВКИ SQL SERVER 2000 ENTERPRISE EDITION ...................... 5
2.4
КОНФИГУРИРОВАНИЕ ДИСКОВОЙ ПОДСИСТЕМЫ ................................................................ 6
2.5
КОНФИГУРИРОВАНИЕ SQL SERVER 2000 ПОСЛЕ УСТАНОВКИ ........................................... 7
2.5.1
Конфигурирование служб SQL Server и SQL Server Agent .................................... 7
2.5.2
Установка пакета обновлений (service pack) ......................................................... 7
2.5.3
Конфигурирование настроек экземпляра SQL Server 2000 ................................... 7
2.5.4
Конфигурирование памяти для экземпляра SQL Server 2000 ............................... 7
2.5.5
Конфигурирование базы данных tempdb ................................................................. 8
3
СОЗДАНИЕ И КОНФИГУРИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ БАЗ ДАННЫХ
10
3.1
3.2
3.3
3.4
4
ФИЗИЧЕСКОЕ РАЗМЕЩЕНИЕ ФАЙЛОВ БАЗЫ ДАННЫХ ........................................................ 10
УСТАНОВКА ВЕЛИЧИНЫ ПРИРАЩЕНИЯ ФАЙЛА ДАННЫХ И ФАЙЛА ЖУРНАЛА ТРАНЗАКЦИЙ
11
ОГРАНИЧЕНИЕ РАЗМЕРА ФАЙЛА ДАННЫХ И ФАЙЛА ЖУРНАЛА ТРАНЗАКЦИЙ ................... 11
КОНФИГУРИРОВАНИЕ БАЗЫ ДАННЫХ ................................................................................ 11
РЕЗЕРВНОЕ КОПИРОВАНИЕ И ВОССТАНОВЛЕНИЕ БАЗ ДАННЫХ ................ 13
4.1
4.2
4.3
4.4
4.5
4.6
4.7
ВВЕДЕНИЕ .......................................................................................................................... 13
УСТРОЙСТВА РЕЗЕРВНОГО КОПИРОВАНИЯ ........................................................................ 13
ОПЕРАТОРЫ ....................................................................................................................... 13
ЗАДАНИЯ ДЛЯ РЕЗЕРВНОГО КОПИРОВАНИЯ ....................................................................... 14
ОПОВЕЩЕНИЯ .................................................................................................................... 14
МОНИТОРИНГ ФАЙЛА ДАННЫХ ......................................................................................... 14
ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ .................................................................................... 14
ПРИЛОЖЕНИЕ 1. АППАРАТНАЯ КОНФИГУРАЦИЯ СЕРВЕРОВ ................................ 16
ПРИЛОЖЕНИЕ 2. КОНФИГУРИРОВАНИЕ SQL SERVER 2000 ПОСЛЕ УСТАНОВКИ
19
ПРИЛОЖЕНИЕ 3. КОНФИГУРИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ БАЗ ДАННЫХ
23
ПРИЛОЖЕНИЕ 4. РЕЗЕРВНОЕ КОПИРОВАНИЕ И ВОССТАНОВЛЕНИЕ БАЗ
ДАННЫХ ........................................................................................................................................ 30
ПРИЛОЖЕНИЕ 5. СИСТЕМНЫЕ СЧЕТЧИКИ ПРОИЗВОДИТЕЛЬНОСТИ................ 48
ЛИСТ РЕГИСТРАЦИИ ИЗМЕНЕНИЙ .................................................................................... 51
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
1
Стр. 3
Введение
Данный документ содержит общие рекомендации по конфигурированию серверов и баз
данных продукта Microsoft SQL Server 2000, которые содержатся в материалах разработчика
продукта - компании Microsoft.
Особенности программного кода серверной части ППО «Центр-КС» заключаются в интенсивном использовании временных таблиц и временных хранимых процедур при обработке документов и использовании различных операций. Это приводит к очень большой нагрузке на базу данных tempdb. Степень нагрузки на базу данных tempdb может варьироваться в
различных системах в зависимости от интенсивности обработки документов и размера рабочей базы данных.
Поскольку не существует двух абсолютно одинаковых систем, то для конкретной системы может потребоваться экспериментирование при конфигурации сервера и баз данных.
В связи с вышесказанным, настоящие рекомендации не следует воспринимать как
окончательное решение для конкретной системы. Например, в конкретной системе для размещения базы данных tempdb может потребоваться дисковый массив RAID не из двух дисков, как рекомендовано в настоящем документе, а из большего количества дисков. Либо в
одной конкретной системе включение расширенной памяти AWE увеличивает производительность, а в другой – нет.
В любом случае при внесении изменений в существующую систему рекомендуется
придерживаться следующей последовательности действий:
1. Сделать резервную копию всех рабочих баз данных.
2. Восстановить резервную копию на тестовом сервере для того, чтобы убедиться, что
резервная копия создана корректно.
3. В последний день рабочей недели после окончания рабочего дня провести переконфигурацию системы.
4. В первый нерабочий день недели провести тестовую работу с рабочими базами данных силами пользователей, работающих с этой базой данных.
5. В случае неудовлетворительного результата провести откат на прежнюю конфигурацию и совместно со специалистами компании ООО «ОТР2000» начать поиск оптимального решения для конкретной системы.
6. Даже если на первый взгляд результат переконфигурации системы и кажется удовлетворительным, тем не менее, после внесения изменений в систему необходимо провести мониторинг работы системы путем сбора статистики в системные журналы счетчиков производительности. Список счетчиков производительности приведен в Приложении 5.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
2
Стр. 4
Установка SQL Server 2000
2.1 Выбор операционной системы
Таблица 1. Рекомендации по выбору операционной системы
Сервер1
Физическая память (Гб)
Рекомендации
Первоначальный объем
Максимальный объем
Объяснение
А1
2
32
1)
Windows 2000 Advanced См. табServer если объем физической лицу 2.
памяти не планируется увеличивать до объема, превышающего
8 Гб.
2)
Windows Server 2003
Enterprise Edition если планируется увеличить объем физической памяти до объема, превышающего 8 Гб.
А2
6
32
1)
Windows 2000 Advanced См. табServer если не планируется уве- лицу 2.
личение объема физической памяти до объема, превышающего
8 Гб.
2)
Windows Server 2003
Enterprise Edition если объем физической памяти планируется
увеличить до объема, превышающего 8 Гб.
Б1, Б2, 1
Б3 и Б4
12
1)
Windows 2000 Advanced См. табServer если объем физической лицу 2.
памяти не планируется увеличивать до объема, превышающего
8 Гб.
2)
Windows Server 2003
Enterprise Edition если планируется увеличить объем физической памяти до объема, превышающего 8 Гб.
А3 и А4
32
Windows Server 2003 Enterprise См. табEdition
лицу 2.
16
Таблица 2. Сравнительные характеристики операционных систем
Операционная система Максимальный размер физиче- Максимально количество
ской памяти (Гб)
процессоров (шт)
Windows 2000 Advanced 8
1
См. Приложение 1.
8
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Операционная система
Стр. 5
Максимальный размер физической памяти (Гб)
Максимально количество
процессоров (шт)
Server
Windows Server
Enterprise Edition
2003 32 Гб для 32-битной версии, 64 Гб 8
для 64-битной версии
2.2 Выбор редакции SQL Server 2000
Рекомендуется устанавливать Microsoft SQL Server 2000 Enterprise Edition, поскольку
только эта редакция поддерживает свыше 2 Гб памяти и свыше 4 процессоров. Данная редакция также позволяет осуществлять отгрузку журнала (log shipping), что необходимо для
создания сервера отчетов, поддерживает расширенные функции опережающего чтения и
сканирования данных и т.п.
2.3 Выбор параметров установки SQL Server 2000 Enterprise Edition
Таблица 3. Описание параметров установки SQLServer 2000 Enterprise Edition
Параметр
Рекомендации
Объяснение
Учетная
запись
пользователя для
служб SQL Server
и SQL Server Agent
Учетная запись пользователя
домена Windows 2000/2003.
Эта учетная запись должна
быть создана системным администратором до запуска
программы установки SQL
Server 2000.
Доменной учетной записи можно
предоставлять права на сетевые ресурсы домена, что требуется для резервного копирования на сетевые диски с
соблюдением политики безопасности.
Под доменной учетной записью SQL
Server может участвовать в репликации, обмениваться данными с другими
источниками и т.п.
Режим
проверки Смешанный режим проверки Для работы программы «Центр-КС»
подлинности поль- подлинности (Mixed Mode)
необходим смешанный режим проверзователей
ки
Сопоставление
(collation)
Параметры кодировки Win- Сопоставление SQL Server 2000, отdows
личное от параметров кодировки Windows, требуется только в следующих
случаях:
- при установке SQL Server был выбран не тот язык, который используется по умолчанию для Windows;
- устанавливаемый экземпляр SQL
Server будет участвовать в репликации
с серверами SQL Server 2000 с разными сопоставлениями;
- на компьютере уже установлены более ранние версии SQL Server.
Сетевые библиоте- TCP/IP Sockets и Named Pipes По умолчанию все клиенты Windows
ки
(по умолчанию)
98/NT 4.0/ 2000/XP используют TCP/IP
Sockets как основную сетевую библиотеку и Named Pipes – как дополнительную. Если в сети нет не-Windows кли-
Наименование ПС:
Код документа:
Параметр
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Рекомендации
Стр. 6
Объяснение
ентов, которым требовалось бы подключение к SQL Server, то другие сетевые библиотеки конфигурировать не
нужно.
2.4 Конфигурирование дисковой подсистемы
Таблица 4. Рекомендации по конфигурированию дисковой подсистемы
Сервер
Кол-во
RAID-массивы
Объяснение
жестких
дисков
А1
2
Не создавать.
Первый физический диск – операционная система, база данных tempdb,
файл данных базы данных.
Второй физический диск – файл журнала транзакций базы данных.
Б1, Б2, 4
Б3, Б4
RAID1 для первый двух дис- Дисковый массив RAID1 из первого
ков. Для остальных дисков и второго физического диска – опеRAID-массив не создавать.
рационная система, база данных
tempdb.
Третий физический диск – файл данных базы данных.
Четвертый физический диск – файл
журнала транзакций базы данных.
А2, А3
10
RAID1 (2 диска) для внутренней дисковой подсистемы.
RAID0 (2 диска), RAID1 (2
диска) и RAID0+1 (4 диска)
для внешней дисковой подсистемы
Дисковый массив RAID1 внутренней
дисковой подсистемы – операционная система.
Дисковый массив RAID0 внешней
дисковой подсистемы – база данных
tempdb.
Дисковый массив RAID0+1 внешней
дисковой подсистемы – файл данных
базы данных.
Дисковый массив RAID1 внешней
дисковой подсистемы – файл журнала транзакций базы данных.
А4
16
RAID1 (2 диска) для внутренней дисковой подсистемы.
RAID0 (2 диска), RAID0+1 (4
диска), RAID0+1 (4 диска) и
RAID 0+1 (4 диска) для
внешней дисковой подсистемы
Дисковый массив RAID1 внутренней
дисковой подсистемы – операционная система.
Дисковый массив RAID0 внешней
дисковой подсистемы – база данных
tempdb.
Первый дисковый массив RAID0+1
внешней дисковой подсистемы –
первичный файл данных базы данных.
Второй дисковый массив RAID0+1
Наименование ПС:
Код документа:
Сервер
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Кол-во
жестких
дисков
Стр. 7
Объяснение
RAID-массивы
внешней дисковой подсистемы – вторичный файл данных для некластерных индексов пользовательских таблиц
EXTREM,
REM3_INCOME
REM1, REM2 и REM3.
Третий дисковый массив RAID0+1
внешней дисковой подсистемы –
файл журнала транзакций базы данных.
2.5 Конфигурирование SQL Server 2000 после установки
2.5.1
Конфигурирование служб SQL Server и SQL Server Agent
Рекомендации: Настроить службу SQL Server Agent на запуск при запуске операционной системы (см. Приложение 2).
Объяснение: После установки SQL Server 2000 по умолчанию служба SQL Server
настроена на запуск при запуске операционной системы, а служба SQL Server Agent настроена на запуск вручную. Для выполнения заданий по расписанию требуется запущенная служба SQL Server Agent; чтобы после перезагрузки сервера не забыть запустить службу SQL
Server Agent, нужно настроить ее на запуск при запуске операционной системы.
2.5.2
Установка пакета обновлений (service pack)
Рекомендации: После установки экземпляра SQL Server 2000 установить пакет обновлений (сервис-пак) для SQL Server не ниже версии 3а. Пакеты обновлений можно бесплатно
загрузить с сайта www.microsoft.com.
Объяснение: Компания Microsoft периодически исправляет обнаруженные ошибки в
продукте и выпускает пакеты обновлений. В частности, пакет обновлений 3а предусматривает защиту от вируса Slammer, создающего большой сетевой трафик к SQL Server и препятствующий, таким образом, осуществлению соединения клиентов с SQL Server.
2.5.3
Конфигурирование настроек экземпляра SQL Server 2000
Рекомендации: После установки экземпляра SQL Server 2000 рекомендуется оставить
все настройки по умолчанию (кроме тех настроек, изменение которых приведено в Приложении02).
Объяснение: После установки настройки экземпляра SQL Server оптимальны для большинства сред. Изменять их рекомендуется только после консультаций со специалистами. Если настройки по умолчанию изменяются, необходимо проводить мониторинг системы с целью выяснения увеличения или снижения производительности.
2.5.4
Конфигурирование памяти для экземпляра SQL Server 2000
Таблица 5. Рекомендации по конфигурированию памяти
Сервер
Физическая память (Гб)
А1
Первоначальный объем
Максимальный объем
2
32
Включить
Рекомендации
поддержку
API-интерфейса
Наименование ПС:
Код документа:
Сервер
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 8
Физическая память (Гб)
Первоначальный объем
Рекомендации
Максимальный объем
AWE (см. Приложение 2) если память будет увеличена до 4 Гб и выше
А2
6
32
Включить поддержку API-интерфейса
AWE (см. Приложение 2)
Б1,
Б2,
Б3 и Б4
1
12
Включить поддержку API-интерфейса
AWE (см. Приложение 2), если память
будет увеличена до 4 Гб и выше
А3 и А4
16
32
Включить поддержку API-интерфейса
AWE (см. Приложение 2)
Объяснение: Стандартная 32-х битная адресация памяти может отражать максимум 4
Гб памяти. Для редакции Enterprise Edition можно включить опцию «awe enabled»
(см. Приложение 2). Тогда SQL Server будет забирать себе почти всю доступную физическую память, оставляя системе только около 128 Мб памяти (при условии динамического
распределения памяти SQL Server). Когда для экземпляра SQL Server Enterprise Edition
включена опция «awe enabled», то тогда экземпляр:
а) не управляет динамически размером адресного пространства;
б) экземпляр забирает почти всю память при запуске и держит ее до остановки;
в) страницы памяти берутся из нестраничного пула Windows, а это означает, что память
экземпляра не выгружается в файл подкачки.
Для использования памяти AWE, SQL Server 2000 должен стартовать под учетной записью Windows, которой назначена привилегия lock pages in memory.
Для того, чтобы SQL Server мог использовать AWE, процессор должен поддерживать
режим Physical Address Extension (PAE). Процессор архитектуры Intel (Pentium Pro или более
поздняя версия) поддерживает PAE.
При включенной опции «awe enabled» рекомендуется регулировать опцию «max server
memory», чтобы оставлять память для системных процессов и других приложений. В частности, если объем памяти компьютера равен 16 Гб, то рекомендуется для операционной системы оставлять не менее 2 Гб памяти. Если объем памяти компьютера превышает 16 Гб, то рекомендуется для операционной системы оставлять не менее 3 Гб памяти.
Тестовым путем установлено, что включение опции использования AWE оптимизирует
работу приложения «Центр-КС». Однако, поскольку не бывает двух одинаковых систем,
возможны ситуации, когда включение этой опции может привести к обратному эффекту. В
этом случае опцию «awe enabled» необходимо отключить.
2.5.5
Конфигурирование базы данных tempdb
Таблица 6. Рекомендации по конфигурированию базы данных tempdb
Сервер
Физическое
Размер
Автоматическое Автоматическое
расположение
приращение
приращение
файла данных
файла журнала
транзакций
А1
Первый физи- 40% от размера
ческий диск
самой
большой
35%
40%
Наименование ПС:
Код документа:
Сервер
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Физическое
расположение
Размер
Стр. 9
Автоматическое
приращение
файла данных
Автоматическое
приращение
файла журнала
транзакций
35%
40%
базы данных
Б1, Б2, Б3, Б4 Дисковый мас- 40% от размера
сив RAID1
самой
большой
базы данных
А2, А3
Дисковый мас- 40% от размера
сив
RAID0 самой
большой
внешней дис- базы данных
ковой подсистемы
35%
40%
А4
Дисковый мас- 40% от размера
сив
RAID0 самой
большой
внешней дис- базы данных
ковой подсистемы
35%
40%
Объяснение: База данных tempdb используется для временного хранения рабочих файлов, например, промежуточных наборов результатов сложных запросов, временных таблиц и
процедур. Размер этой базы данных должен составлять от 25% до 40% самой большой базы
данных. Размещаться база данных tempdb должна на отдельном физическом диске. Автоматическое приращение файлов должно иметь достаточно большую величину, чтобы рост файлов происходил нечасто и не оказывал большой нагрузки на систему.
Примечание. Порядок действий по переносу базы данных tempdb, изменению ее размера и автоматического приращения файлов см. в Приложении 2.
Наименование ПС:
Код документа:
3
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 10
Создание и конфигурирование пользовательских баз
данных
3.1 Физическое размещение файлов базы данных
Таблица 7. Рекомендации по физическому размещению файлов базы данных
Сервер Размещение файлов Размещение файлов
Примечание
данных базы данных журнала транзакций
базы данных
А1
Первый жесткий диск Второй жесткий диск
– первичный файл
данных базы данных
Б1, Б2, Третий жесткий диск Четвертый
Б3, Б4
– первичный файл диск
данных базы данных
Аппаратная конфигурация сервера А1 не позволяет обеспечить одновременно отказоустойчивость и производительность.
В рекомендациях по размещению файлов базы данных на
сервере А1 предпочтение отдается производительности, поэтому на сервере А1 необходимо достаточно часто проводить
резервное копирование базы
данных.
жесткий Аппаратная конфигурация серверов Б позволяет обеспечить
отказоустойчивость только для
операционной системы. В рекомендациях по размещению
файлов базы данных на серверах Б предпочтение отдается
производительности, поэтому
на серверах Б необходимо
очень часто проводить резервное копирование базы данных.
А2, А3
Дисковый
массив Дисковый
массив
RAID0+1
внешней RAID1 внешней дисдисковой подсистемы ковой подсистемы
– первичный файл
данных базы данных
А4
Первый
дисковый
массив
RAID0+1
внешней
дисковой
подсистемы – первичный файл данных
базы данных
Второй
дисковый
массив
RAID0+1
внешней
дисковой
подсистемы – вторичный файл данных
Третий
дисковый
массив
RAID0+1
внешней
дисковой
подсистемы
Наименование ПС:
Код документа:
Сервер
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Размещение файлов Размещение файлов
данных базы данных журнала транзакций
базы данных
для некластерных индексов пользовательских
таблиц
EXTREM,
REM3_INCOME
REM1, REM2 и REM3
Стр. 11
Примечание
Объяснение: Журнал транзакций не должен размещаться на том же диске, что и файлы
данных. Если для журнала транзакций выделяется отдельный диск, то головка диска остается
на месте в период от одной записи в журнал транзакций до следующей. Операции чтения из
журнала также будут выполняться быстрее, поскольку данные будут размещаться на диске
последовательно. Таким образом, выделение отдельных дисков для файлов данных и файлов
журнала транзакций позволяет существенно повысить производительность, а также уменьшить время восстановления после сбоя. Сервер А4 позволяет сделать следующий шаг к оптимизации дисковой системы – повышению производительности операций ввода-вывода. С
этой целью для некластерных индексов «тяжелых» таблиц создается отдельная группа файлов, которая размещается на отдельном физическом диске, что также повышает производительность ввода-вывода.
Примечание. Порядок действий по изменению размещения файлов данных и файлов
журнала транзакций, а также по созданию вторичного файла данных и перемещения в него
некластерных индексов «тяжелых» таблиц описан в Приложении03.
3.2 Установка величины приращения файла данных и файла
журнала транзакций
Рекомендации: Установить величину приращения 35% для файлов данных и 45% для
файлов журнала транзакций.
Объяснение: Для снижения нагрузки на систему нужно устанавливать достаточно
большую величину приращения размера файлов данных и файлов журнала транзакций, чтобы рост этих файлов происходил нечасто.
Примечание – Порядок действий по изменению величины приращения файлов данных
и файлов журнала транзакций описан в Приложении03.
3.3 Ограничение размера файла данных и файла журнала транзакций
Рекомендации: Ограничить рост файлов данных и файлов журналов транзакций.
Объяснение: Если не ограничивать рост файлов базы данных, то неограниченный рост
этих файлов может привести к переполнению диска и препятствовать работе операционной
системы и базы данных.
Примечание. Порядок действий по ограничению размера файлов данных и файлов
журнала транзакций описан в Приложении03.
3.4 Конфигурирование базы данных
Рекомендации: Установить следующие параметры базы данных: модель восстановления bulk_logged либо full; auto update statistics; torn page detection; auto create statistics
Объяснение: Параметры базы данных определяют различные аспекты стандартного поведения базы данных. В большинстве сред, как правило, изменяют лишь некоторые параметры базы данных.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 12
Модель восстановления bulk_logged не записывает в журнал транзакций информацию о
загрузке каждой строки при импорте данных. При установке этой модели восстановления
массовая загрузка (импорт) данных в базу данных будет выполняться быстрее. Однако при
крахе базы данных вы не сможете восстановить информацию, внесенную в базу данных во
время импорта данных, с использованием резервной копии журнала транзакций. Для этого
потребуется полная резервная копия базы данных, созданная сразу после операции импорта
данных.
Модель восстановления full записывает в журнал транзакций информацию о загрузке
каждой строки при импорте данных. При установке этой модели восстановления массовая
загрузка (импорт) данных в базу данных будет выполняться медленнее. Однако при крахе
базы данных вы сможете восстановить информацию, внесенную в базу данных во время импорта данных, с использованием резервной копии журнала транзакций.
Опция «auto update statistics» дает команду SQL Server периодически обновлять статистику распределения данных, что оптимизирует поиск и выборку данных.
Опция «torn page detection» позволяет SQL Server контролировать ситуацию, когда в
результате сбоя питания или системного сбоя операции ввода-вывода для страницы завершились не полностью или некорректно.
Примечание.
Порядок действий по изменению параметров базы данных описан в
Приложении03.
Наименование ПС:
Код документа:
4
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 13
Резервное копирование и восстановление баз данных
4.1 Введение
Резервное копирование является самым надежным способом защиты данных от потери.
Технологии RAID обеспечивают функционирование системы при выходе из строя одного из жестких дисков или даже дискового контроллера, однако они не помогут при выходе
из строя оперативной памяти, центрального процессора или сетевой карты.
Кластерные технологии обеспечивают более высокую степень сохранности данных,
чем RAID, однако возможен и такой случай, когда информация будет уничтожена на всех
серверах.
Чтобы иметь возможность восстановить данные, необходимо иметь полную их копию.
Такая копия данных называется резервной, и, при потере данных, она переносится в систему,
и пользователи могут снова работать с информацией.
После восстановления резервной копии система будет восстановлена в том состоянии,
в котором она была на момент создания резервной копии. Поэтому необходимо внимательно
относиться к вопросу, с какой частотой будет создаваться резервная копия. Если данные обновляются интенсивно, то резервное копирование необходимо выполнять достаточно часто,
чтобы в случае повреждения данных восстановить информацию с наименьшими потерями.
СУБД SQL Server 2000 позволяет очень гибко управлять процессом создания резервных копий.
Рекомендуемая схема резервного копирования:
– один раз в сутки во внерабочее время создается новая полная резервная копия базы
данных
– каждый час создается резервная копия журнала транзакция
– перед созданием новой полной резервной копии происходит либо копирование предыдущей полной резервной копии и резервной копии журналов транзакций на определенный сетевой диск в папку с конкретной датой, либо с помощью утилит-архиваторов из
предыдущей полной резервной копии и резервной копии журналов транзакций создается
архивный файл с именем, отражающим конкретную дату
– резервные копии за конкретную дату копируются на внешний носитель
4.2 Устройства резервного копирования
Рекомендации: В качестве устройства резервного копирования баз данных выбрать сетевой диск.
Объяснение: Ленточные накопители (стримеры) работают медленно и имеют ограниченный объем, т.е. резервная копия базы данных может не поместиться на одну ленту, и ктото должен эти ленты менять. Копирование на сетевой диск в большинстве случаев является
наиболее быстрым способом создания резервной копии базы данных. По утверждению компании Microsoft создание на сетевом диске резервной копии базы данных размером 20 Гб занимает около 8 минут. После создания резервных копий базы данных на сетевом диске эти
копии необходимо регулярно (например, каждую ночь) автоматически копировать на стример обычными средствами операционной системы, либо копировать на другой внешний носитель.
Примечание. Порядок действий по созданию устройств резервного копирования описан в Приложении04.
4.3 Операторы
Рекомендации: Назначить хотя бы одного человека, ответственного за поддержку SQL
Server 2000, и сконфигурировать хотя бы одного оператора SQL server 2000.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 14
Объяснение: Оператор – это пользователь, которого можно уведомить об успехе,
ошибке или завершении выполнения какой-либо задачи SQL Server. Например, оператора
можно уведомить о том, как завершилось резервное копирование базы данных; о том, сколько места осталось в файлах базы данных (что особенно важно, если файлы базы данных
сконфигурированы не расти автоматически); о превышении допустимого размера файлов базы данных и т.п. Оператор может уведомляться по сети (командой NET SEND), по электронной почте или посредством пейджера.
Примечание – Порядок действий по созданию операторов описан в Приложении04.
4.4 Задания для резервного копирования
Рекомендации: Создать задания для обслуживания базы данных, для полного резервного копирования базы данных и для резервного копирования журнала транзакций.
Объяснение: Задания позволяют выполнять стандартные административные функции
по расписанию (в данном случае – автоматическое резервное копирование базы данных). Создавая задание, можно избавиться от ручного выполнения того же резервного копирования
базы данных; кроме того, можно уведомить оператора об ошибке создания резервной копии.
Необходимо регулярно создавать полную резервную копию базы данных и резервные копии
журнала транзакций, а также проводить регулярное обслуживание базы данных.
Примечание. Порядок действий по созданию заданий описан в Приложении04. Рекомендуется создать задание резервного копирования для всех пользовательских баз данных, а
также для баз данных master, model и msdb.
4.5 Оповещения
Рекомендации: Создать оповещения для информирования оператора о заполнении
журнала транзакций базы данных.
Объяснение: Оповещения позволяют уведомлять соответствующих лиц об определенных событиях и условиях производительности, а также запускать различные задания в ответ
на такие события и условия. Например, можно создать оповещение, которое срабатывает при
заполнении журнала транзакций на 80%, архивирует и усекает его, а также извещает оператора об успехе или ошибке выполнения.
Примечание. Порядок действий по созданию оповещений описан в Приложении04.
4.6 Мониторинг файла данных
Рекомендации: Проводить регулярный мониторинг свободного места в файлах данных
базы данных.
Объяснение: Поскольку для повышения производительности рекомендуется не конфигурировать автоматическое приращение файлов, то необходимо проводить регулярный мониторинг свободного места в файлах данных и своевременно принимать меры к увеличению
дискового пространства, если данные приближаются к размеру файла.
Примечание. Порядок действий по мониторингу описан в Приложении04.
4.7 Восстановление базы данных
Восстановление базы данных может потребоваться в двух случаях:
1. Промышленный сервер баз данных находится в рабочем состоянии, и произошел крах
только базы данных
2. Промышленный сервер баз данных вышел из строя
В первом случае достаточно просто восстановить базу данных из резервной копии. Во втором случае необходимо иметь резервный сервер, на котором можно провести восстановление
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 15
базы данных, и временно использовать для работы резервный сервер, пока не восстановится
работоспособность промышленного сервера.
Примечание. Порядок действий по восстановлению базы данных в обоих случаях приведен
в Приложении04.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 16
Приложение 1. Аппаратная конфигурация серверов
Наименование
Серверы в комплекте
Комплект № 1
А1 и Б1
Комплект № 2
А2 и Б2
Комплект № 3
А3 и Б3
Комплект № 4
А4 и Б4
Сервер А1
– CPU – 4 (четыре) процессора Intel® Xeon™ MP, частота не менее 3 ГГц, Кэш – 4
MB Level 3 (для каждого процессора), частота системной шины 400МГц;
– Оперативная память – 2 ГБ DDR SDRAM ECC с возможностью расширения до
32ГБ; подсистема памяти должна поддерживать возможность построения вариантов защиты с использованием “горячих” режимов “зеркалирования”;
– RAID-контроллер, удовлетворяющий следующим требованиям:
― Поддержка жестких дисков с интерфейсом Ultra320;
― Аппаратная реализация массива RAID 0, 1, 1+0;
― Кэш-память объемом не менее 64МБ с аккумуляторной батареей;
― Поддержка режимов кэширования по записи и чтению;
― Поддержка внутренней дисковой подсистемы сервера;
― Поддержка внутренних ленточных накопителей;
– Внутренняя дисковая подсистема - 2 (два) жестких диска с возможностью “горячей” замены, с интерфейсом Ultra320, объем каждого диска не менее 300ГБ и скорость вращения не менее 10000 оборотов в минуту.
Сервер Б1
– CPU – 2 (два) процессора Intel® Xeon™ , частота не менее 3,2 ГГц, Кэш – 2 MB
Level 2 (для каждого процессора), частота системной шины 800МГц;
– Оперативная память – 1 ГБ DDR2 400MHz ECC с возможностью расширения до
12ГБ;
– RAID-контроллер, удовлетворяющий следующим требованиям:
― Поддержка жестких дисков с интерфейсом Ultra320;
― Аппаратная реализация массива RAID 0, 1, 1+0, 5;
― Кэш-память объемом не менее 128МБ с аккумуляторной батареей;
― Поддержка режимов кэширования по записи и чтению;
― Поддержка внутренней дисковой подсистемы сервера;
– Внутренняя дисковая подсистема должна иметь 4 (четыре) жестких диска с возможностью “горячей” замены, с интерфейсом Ultra320, объем каждого диска не
менее 72 ГБ и скорость вращения не менее 10000 оборотов в минуту; внутренняя
дисковая подсистема должна иметь не менее 6 (шести) посадочных мест для установки жестких дисков с интерфейсом Ultra320.
Сервер А2
– CPU – 4 (четыре) процессора Intel® Xeon™ MP, частота не менее 3 ГГц, Кэш – 4
MB Level 3 (для каждого процессора), частота системной шины 400МГц;
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 17
– Оперативная память – 6 ГБ DDR SDRAM ECC с возможностью расширения до
32ГБ; подсистема памяти должна поддерживать возможность построения вариантов защиты с использованием “горячих” режимов “зеркалирования”; подсистема
памяти должна включать все необходимые платы расширения для обеспечения
расширения памяти до максимального объема и перевода подсистемы памяти в
режимы защиты “зеркалирования”;
– Внутренняя дисковая подсистема должна иметь 2 (два) жестких диска с возможностью “горячей” замены, с интерфейсом Ultra320, объем каждого диска не менее
36ГБ и скорость вращения не менее 15000 оборотов в минуту;
– RAID-контроллер, удовлетворяющий следующим требованиям:
― Не менее 4-х (четырёх) внешних каналов с интерфейсом Ultra320;
― Поддержка жестких дисков с интерфейсом Ultra320;
― Аппаратная реализация массива RAID 0, 1, 1+0, 5;
― Кэш-память объемом не менее 256МБ с аккумуляторной батареей;
― Поддержка режимов кэширования по записи и чтению;
― Поддержка Внешней дисковой системы.
Остальные технические параметры Сервера А2 должны соответствовать техническим
параметрам Сервера А1.
1.1.1.1.1.1 Внешняя дисковая подсистема
Внешняя дисковая система, подключаемая к Серверу A2, должна отвечать следующим
требованиям:
– Одна дисковая полка для размещения дисков с «горячей» заменой с интерфейсом
Ultra320 c количеством посадочных мест для дисков не менее 14 (четырнадцать);
внешний интерфейс для подключения к Серверу А3 два канала Ultra320;
– Восемь жестких дисков с интерфейсом Ultra320 и возможностью «горячей» замены; объем каждого диска 72ГБ и скорость вращения 10000 оборотов в минуту;
Должна иметься возможность по расширению количества устанавливаемых жестких
дисков с возможностью горячей замены, не менее чем 50 штук путём наращивания количества внешних дисковых полок.
Сервер Б2
Сервер Б2 должен соответствовать техническим параметрам Сервера Б1.
Сервер А3
– Оперативная память – 16 ГБ DDR SDRAM ECC с возможностью расширения до
32ГБ; подсистема памяти должна поддерживать возможность построения вариантов защиты с использованием “горячих” режимов “зеркалирования”; подсистема
памяти должна включать все необходимые платы расширения для обеспечения
расширения памяти до максимального объема и перевода подсистемы памяти в
режимы защиты “зеркалирования”.
Остальные технические параметры Сервера А3 должны соответствовать техническим
параметрам Сервера А2.
1.1.1.1.1.2 Внешняя дисковая подсистема
Внешняя дисковая система, подключаемая к Серверу A3, должна отвечать следующим
требованиям:
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 18
– 1 (одна) дисковая полка для размещения дисков с «горячей» заменой с интерфейсом Ultra320 c количеством посадочных мест для дисков не менее 14 (четырнадцать); внешний интерфейс для подключения к Серверу А3 два канала Ultra320;
– 8 (восемь) жестких дисков с интерфейсом Ultra320 и возможностью «горячей» замены; объем каждого диска 72ГБ и скорость вращения 10000 оборотов в минуту.
Должна иметься возможность по расширению количества устанавливаемых жестких
дисков с возможностью горячей замены, не менее чем 50 штук путём наращивания количества внешних дисковых полок.
Сервер Б3
Сервер Б3 должен соответствовать техническим параметрам Сервера Б1.
Сервер А4
– CPU – 4 (четыре) процессора Intel® Xeon™ MP, частота не менее 3 ГГц, Кэш – 4
MB Level 3 (для каждого процессора), частота системной шины 400МГц;
– Оперативная память – 16 ГБ DDR SDRAM ECC с возможностью расширения до
32 ГБ; подсистема памяти должна поддерживать возможность построения вариантов защиты с использованием “горячих” режимов “зеркалирования”; подсистема
памяти должна включать все необходимые платы расширения для обеспечения
расширения памяти до максимального объема и перевода подсистемы памяти в
режимы защиты “зеркалирования”;
– Внутренняя дисковая подсистема должна иметь 2 (два) жестких диска с возможностью “горячей” замены, с интерфейсом Ultra320, объем каждого диска не менее
36ГБ и скорость вращения не менее 15000 оборотов в минуту.
Остальные технические параметры Сервера А4 должны соответствовать техническим
параметрам Сервера А3.
1.1.1.1.1.3 Внешняя дисковая подсистема
Внешняя дисковая подсистема, подключаемая к Серверу A4, должна отвечать следующим требованиям:
– 2 (два) RAID контроллера, для повышения надежности и безостановочной работы
дисковой системы, c аппаратной поддержкой массивов RAID 1, 10(0+1), 5; каждый контроллер должен обеспечить подключение жестких дисков в режиме Hot
Plug, иметь кэш-память не менее 256 МВ;
– 2 (два) внешних оптических порта с пропускной способностью не менее 2
ГБит/сек;
– 14 жестких дисков с интерфейсом Ultra320 и возможностью «горячей» замены;
объем каждого диска 72ГБ и скорость вращения 10000 оборотов в минуту;
– Должна иметься возможность по расширению количества устанавливаемых жестких дисков с возможностью горячей замены, не менее чем до 80 штук;
– Внешняя дисковая система должна иметь возможность наращивания для обеспечения подключения нескольких серверов с резервированными путями доступа.
Сервер Б4
Сервер Б4 должен соответствовать техническим параметрам Сервера Б1.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 19
Приложение 2. Конфигурирование SQL Server 2000 после
установки
1. Конфигурирование службы SQL Server Agent для запуска при запуске операционной системы
1.1. Запустить утилиту Service Manager:
Пуск → Программы → Microsoft SQL Server → Service Manager.
1.2. В открывшемся окне (см. Рисунок 1) убедиться, что выбран установленный экземпляр SQL Server.
1.3. Открыть выпадающий список Services и выбрать службу SQL Server Agent.
Рисунок Рисунок 1. Окно SQL Server Service Manager
1.4. Установить флаг Auto-start service when OS starts (если он еще не стоит).
1.5. Если служба остановлена (доступна кнопка Start/Continue), то запустить службу
нажатием на кнопку Start/Continue.
2. Изменение настроек SQL Server после установки
1.6. Запустить утилиту Enterprise Manager.
1.7. В открывшемся окне (см. Рисунок 2) утилиты выбрать нужный экземпляр SQL
Server, щелкнуть по нему правой кнопкой мыши и в открывшемся контекстном
меню выбрать пункт Свойства.
1.8. Перейти на закладку Security и в разделе Security/Audit Level поставить переключатель в положение All.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 20
Рисунок Рисунок 2. Окно SQL Server Properties
3. Включение поддержки API-интерфейса AWE
– убедиться, что учетной записи Windows, под которой запускается SQL Server,
назначена привилегия lock pages in memory (закрепление страниц в памяти)
– в файле boot.ini поставить переключатель /PAE
Примечание. Для того чтобы режим AWE мог корректно использовать более 16 Гб
памяти, в файле boot.ini не должно быть переключателя /3Gb.
– перезагрузить сервер Windows
– открыть утилиту Query Analyzer
– в окне утилиты выполнить скрипт (подразумевается, что аппаратный сервер имеет
16 Гб памяти, и для операционной системы мы оставляем 2 Гб памяти):
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'awe enabled', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'max server memory', 14000
GO
RECONFIGURE
GO
– закрыть утилиту Query Analyzer
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 21
– перезапустить SQL Server
– после перезапуска снова открыть утилиту Query Analyzer и выполнить:
EXEC sp_configure 'awe enabled'
GO
– убедиться, что в результатах работы команды в столбце run_value стоит значение
1.
4. Изменение физического расположения базы данных tempdb
1.9. Допустим, что база данных tempdb перемещается на диск E.
1.10. Открыть утилиту Query Analyzer.
1.11. В окне утилиты выполнить следующий скрипт:
USE master
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME='tempdev', FILENAME='E:\tempdb.mdf')
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME='templog', FILENAME='E:\templog.ldf')
GO
1.12. Остановить и снова запустить SQL Server.
1.13. Удалить старые файлы базы данных tempdb из их прежнего расположения.
Обычно файлы базы данных tempdb по умолчанию располагаются в каталоге
установки SQL Server по пути C:\Program Files\Microsoft SQL Server\MSSQL\Data.
Имена файлов – tempdb.mdf и templog.ldf.
5. Изменение размера базы данных tempdb и величины автоматического приращения
1.14. Открыть утилиту Enterprise Manager.
1.15. Правой кнопкой мыши щелкнуть по базе данных tempdb, вызвать из контекстного меню ее свойства и перейти на закладку Data Files.
1.16. В поле Space allocated для файла данных tempdev поставить нужную величину
размера файла с тем, чтобы размер базы данных tempdb составлял 40% от размера
самой большой базы данных.
1.17. В разделе File growth установить переключатель By percent и ввести величину
35 (см. Рисунок 3).
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 22
Рисунок Рисунок 3. Окно «tempdb properties»
1.18. Перейти на закладку Transaction Log и проделать те же действия для файла
журнала транзакций, установив величину приращения 40%.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 23
Приложение 3. Конфигурирование пользовательских баз
данных
1. Изменение размещения файлов данных и файлов журнала транзакций
1.1. Открыть утилиту Enterprise Manager.
1.2. Правой кнопкой мыши щелкнуть по базе данных, выбрать пункт Все задачи из
контекстного меню, а затем выбрать пункт Detach Database.
1.3. Если вы видите надпись STATUS: Database is ready to be detached, то нажмите
на кнопку OK. В противном случае сначала отключите всех пользователей от базы данных.
1.4. После отсоединения базы данных скопировать ее файл журнала транзакций и/или
файл данных в новое физическое местоположение (на другой диск).
1.5. В утилите Enterprise Manager щелкнуть правой кнопкой по контейнеру
Databases, в контекстном меню выбрать пункт Все задачи, затем – Attach
Database.
1.6. В открывшемся окне (см. Рисунок 4) в поле MDF file of database to attach с помощью файл-менеджера, который открывается при нажатии кнопки […], найти
первичный файл данных в новом физическом местоположении.
Рисунок Рисунок 4. Окно Attach Database
1.7. В поле Current File(s) Location необходимо вручную ввести полный путь к новому физическому местоположению файла журнала транзакций.
1.8. Из раскрывающегося списка Specify database owner выбрать владельца базы данных (рекомендуется выбрать пользователя sa), см. Рисунок 5.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 24
Рисунок Рисунок 5. Окно Attach Database
6. Изменение величины приращения и ограничение размера файла данных и файла
журнала транзакций
1.9. Открыть утилиту Enterprise Manager.
1.10. Выбрать базу данных, щелкнуть по ней правой кнопкой мыши и выбрать пункт
Свойства.
1.11. В открывшемся окне Properties (см. Рисунок 6) перейти на закладку Data Files.
1.12. В разделе File properties установить для каждого файла данных переключатель
By percent и для каждого файла данных ввести значение 35.
Рисунок Рисунок 6. Окно Properties
1.13. Перейти на закладку Transaction Log.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 25
1.14. В разделе File properties установить для файла журнала переключатель By
percent и ввести значение 45.
Рисунок Рисунок 7. Окно Properties
1.15. Нажать OK.
7. Ограничение размера файла данных и файла журнала транзакций
1.16. Проанализировать размер свободного дискового пространства и количество
файлов данных, которые будут храниться на этом диске. На основании анализа
принять решение о размере каждого файла данных.
1.17. Открыть утилиту Enterprise Manager.
1.18. Выбрать базу данных, щелкнуть по ней правой кнопкой мыши и выбрать пункт
Свойства.
1.19. В открывшемся окне (см. Рисунок 8) перейти на закладку Data Files.
1.20. В разделе Maximum file size установить переключатель Restrict file growth
(MB).
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 26
Рисунок Рисунок 8. Окно Properties
1.21. Ввести ранее определенный размер файла данных.
1.22. Перейти на закладку Transaction Log.
1.23. Повторить пункты 3.5 – 3.6 для файла журнала транзакций.
8. Создание вторичного файла базы данных
1.24. Открыть утилиту Enterprise Manager.
1.25. Выбрать базу данных, щелкнуть по ней правой кнопкой мыши и выбрать пункт
Свойства.
1.26. В открывшемся окне Properties перейти на закладку Data Files (см. Рисунок 9).
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 27
Рисунок Рисунок 9. Окно Properties
1.27. В поле File Name ввести имя нового файла данных (например, secfile).
1.28. В поле Location ввести путь к тому диску, который был создан для хранения
нового файла данных, а также физическое имя нового файла данных, например,
secfile.ndf.
1.29. В поле Filegroup ввести имя новой группы файлов (например, SEC1), которой
будет принадлежать новый файл данных.
1.30. Нажать кнопку OK.
9. Перемещение некластерных индексов таблицы
1.31. Открыть утилиту Enterprise Manager.
1.32. Выбрать базу данных, раскрыть ее и выбрать раздел Tables.
1.33. В правом окне щелкнуть правой кнопкой мыши по таблице EXTREM и из контекстного меню выбрать Все задачи -> Manage Indexes.
1.34. В открывшемся окне (см. Рисунок 10) выбрать первый индекс, у которого в
столбце Clustered стоит значение No.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 28
Рисунок Рисунок 10. Окно Manage Indexes
1.35. Нажать кнопку Edit.
1.36. Из раскрывающегося списка File group выбрать ту группу файлов, которая была создана в качестве вторичной группы файлов (в нашем случае SEC1).
Рисунок Рисунок 11. Окно Edit Existing Indexes
1.37. Нажать кнопку OK.
1.38. Повторить п.п. 5.4 – 5.7 для всех оставшихся индексов, у которых в столбце
Clustered стоит значение No.
1.39. Проделать операции, описанные в пунктах 5.3 – 5.8, для таблиц
REM3_INCOME, REM1, REM2 и REM3.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 29
10. Изменение параметров базы данных
1.40. Открыть утилиту Enterprise Manager.
1.41. Выбрать базу данных, щелкнуть по ней правой кнопкой мыши и выбрать пункт
Свойства.
1.42. В открывшемся окне (см. Рисунок 12) перейдите на закладку Options.
1.43. Установите все настройки базы данных следующим образом:
Рисунок Рисунок 12. Окно Properties
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 30
Приложение 4. Резервное копирование и восстановление
баз данных
1. Создание устройств резервного копирования
1.1. Создать на компьютере, отличном от компьютера, на котором установлен SQL
Server 2000, сетевой диск, и дать к этому сетевому диску полный доступ учетной
записи Windows, под которой запускается SQL Server 2000.
1.2. Открыть утилиту Enterprise Manager.
1.3. Развернуть папку Management и щелкнуть левой кнопкой мыши по значку
Backup.
1.4. В правом окне щелкнуть правой кнопкой мыши и выбрать из выпадающего меню
пункт New Backup Device
1.5. В открывшемся окне (см. Рисунок 13) ввести имя для создаваемого устройства резервного копирования, например, DBFullBackup, а также ввести полный путь
UNC (с указанием имени файла резервной копии) к созданному сетевому диску,
на который будет осуществляться резервное копирование.
Рисунок Рисунок 13. Окно Backup Device Properties
1.6. Нажать кнопку OK
1.7. В примере выше было создано устройство резервного копирования для последующего создания полной резервной копии базы данных. Чтобы создать устройство
резервного копирования для резервной копии журнала транзакций, повторите
пункты 1.2 – 1.6. Имя устройства резервного копирования и сетевой путь нужно
задать другие, например, DBLogBackup и \\backupserver\sqlbackup\logdb.bak
11. Создание операторов
1.8. Открыть утилиту Enterprise Manager.
1.9. Развернуть папку Management.
1.10. Развернуть папку SQL Server Agent и щелкнуть левой кнопкой мыши по значку Operators.
1.11. В правом окне щелкнуть правой кнопкой мыши и выбрать из выпадающего
меню пункт New Operator.
1.12. В открывшемся окне (см. Рисунок 14) ввести имя для создаваемого оператора,
адрес электронной почты оператора, онлайновый пейджер (если есть) и адрес для
отсылки сообщений командой NET SEND.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 31
Рисунок Рисунок 14. Окно Properties
1.13. Для проверки адреса команды NET SEND нажать кнопку Test. Оператору
должно прийти сообщение по сети следующего вида (см. Рисунок 15):
Рисунок Рисунок 15. Окно сообщения
1.14. Нажать на кнопку OK.
12. Создание хранимых процедур для обслуживания базы данных
1.15. Открыть утилиту Query Analyzer
1.16. Выполнить следующий сценарий:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
USE master
GO
IF OBJECTPROPERTY(OBJECT_ID('[dbo].[sp_reindex]'),'IsProcedure')=1
DROP PROCEDURE [dbo].[sp_reindex]
GO
CREATE PROCEDURE [dbo].[sp_reindex]
AS
/*Переиндексация всех пользовательских таблиц текущей базы данных*/
SET NOCOUNT ON
SET XACT_ABORT ON
SET ARITHABORT ON
DECLARE
@sql
VARCHAR(1000),
@table CHAR(32),
@owner CHAR(32),
@msg
VARCHAR(1000)
DECLARE cur CURSOR FOR
SELECT so.[name] AS [table],su.[name] AS [owner]
FROM dbo.sysobjects AS so
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 32
INNER JOIN dbo.sysusers AS su ON so.uid=su.uid
WHERE so.type='U'
OPEN cur
FETCH NEXT FROM cur INTO @table, @owner
WHILE @@FETCH_STATUS=0
BEGIN
SET @sql='DBCC DBREINDEX('''+LTRIM(RTRIM(@owner))+'.'+LTRIM(RTRIM(@table))+''')'
EXEC (@sql)
FETCH NEXT FROM cur INTO @table, @owner
END
CLOSE cur
DEALLOCATE cur
/*Исправление несоответствий в таблице sysindexes*/
DBCC UPDATEUSAGE(0)
GO
IF OBJECTPROPERTY(OBJECT_ID('[dbo].[sp_filedefrag]'),'IsProcedure')=1
DROP PROCEDURE [dbo].[sp_filedefrag]
GO
CREATE PROCEDURE [dbo].[sp_filedefrag]
AS
/*Дефрагментация файлов данных текущей базы данных*/
SET NOCOUNT ON
SET XACT_ABORT ON
DECLARE
@sql VARCHAR(1000),
@name SYSNAME,
@msg VARCHAR(1000)
CREATE TABLE #t (
[name]
SYSNAME,
fileid
SMALLINT,
[filename] NCHAR(260),
[filegroup] SYSNAME NULL,
[size]
NVARCHAR(18),
[maxsize]
NVARCHAR(18),
growth
NVARCHAR(18),
usage
VARCHAR(9)
)
INSERT INTO #t EXEC sp_helpfile
DECLARE cur CURSOR FOR SELECT [name] FROM #t WHERE [filegroup] IS NOT NULL
OPEN cur
FETCH NEXT FROM cur INTO @name
WHILE @@FETCH_STATUS=0
BEGIN
SET @sql='DBCC SHRINKFILE('''+LTRIM(RTRIM(@name))+''',NOTRUNCATE)'
EXEC(@sql)
FETCH NEXT FROM cur INTO @name
END
CLOSE cur
DEALLOCATE cur
GO
IF OBJECTPROPERTY(OBJECT_ID('[dbo].[sp_updatestat]'),'IsProcedure')=1
DROP PROCEDURE [dbo].[sp_updatestat]
GO
CREATE PROCEDURE [dbo].[sp_updatestat]
AS
/*Полное обновление статистики всех пользовательских таблиц БД*/
SET NOCOUNT ON
SET XACT_ABORT ON
SET ARITHABORT ON
DECLARE
@sql
VARCHAR(1000),
@table CHAR(32),
@owner CHAR(32),
@msg
VARCHAR(1000)
DECLARE cur CURSOR FOR
SELECT so.[name] AS [table],su.[name] AS [owner]
FROM dbo.sysobjects AS so
INNER JOIN dbo.sysusers AS su ON so.uid=su.uid
WHERE so.type='U'
OPEN cur
FETCH NEXT FROM cur INTO @table,@owner
WHILE @@FETCH_STATUS=0
BEGIN
SET @sql='UPDATE STATISTICS ['+LTRIM(RTRIM(@owner))+'].['+LTRIM(RTRIM(@table))+'] WITH FULLSCAN'
EXEC (@sql)
FETCH NEXT FROM cur INTO @table,@owner
END
CLOSE cur
DEALLOCATE cur
GO
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
IF OBJECTPROPERTY(OBJECT_ID('[dbo].[sp_indexdefrag]'),'IsProcedure')=1
DROP PROCEDURE [dbo].[sp_indexdefrag]
GO
CREATE PROCEDURE [dbo].[sp_indexdefrag]
AS
/*Дефрагментация индексов всех пользовательских таблиц текущей базы данных*/
SET NOCOUNT ON
SET XACT_ABORT ON
SET ARITHABORT ON
--Объявление переменных
DECLARE
@sql
VARCHAR(1000),
@table
CHAR(32),
@owner
CHAR(32),
@msg
VARCHAR(1000),
@objectid INT,
@indexid INT
--Таблица для результатов команды DBCC SHOWCONTIG
IF OBJECT_ID('tempdb..#fraglist') IS NOT NULL DROP TABLE #fraglist
CREATE TABLE #fraglist(
ObjectName
CHAR(255),
ObjectId
INT,
IndexName
CHAR(255),
IndexId
INT,
Lvl
INT,
CountPages
INT,
CountRows
INT,
MinRecSize
INT,
MaxRecSize
INT,
AvgRecSize
INT,
ForRecCount
INT,
Extents
INT,
ExtentSwitches INT,
AvgFreeBytes
INT,
AvgPageDensity INT,
ScanDensity
DECIMAL,
BestCount
INT,
ActualCount
INT,
LogicalFrag
DECIMAL,
ExtentFrag
DECIMAL
)
--Выборка имен пользовательских таблиц текущей базы данных
DECLARE cur CURSOR FOR
SELECT so.[name] AS [table],su.[name] AS [owner]
FROM dbo.sysobjects AS so
INNER JOIN dbo.sysusers AS su ON so.uid=su.uid
WHERE so.type='U'
--Заполнение таблицы #fraglist
OPEN cur
FETCH NEXT FROM cur INTO @table,@owner
WHILE @@FETCH_STATUS=0
BEGIN
SET
@sql='DBCC
SHOWCONTIG('''+LTRIM(RTRIM(@owner))+'.'+LTRIM(RTRIM(@table))+''')
FAST,TABLERESULTS,ALL_INDEXES,NO_INFOMSGS'
INSERT INTO #fraglist EXEC(@sql)
FETCH NEXT FROM cur INTO @table,@owner
END
CLOSE cur
DEALLOCATE cur
--Дефрагментация индексов пользовательских таблиц
DECLARE cur CURSOR FOR
SELECT ObjectId,IndexId FROM #fraglist
WHERE INDEXPROPERTY(ObjectId,IndexName,'IndexDepth')>0
OPEN cur
FETCH NEXT FROM cur INTO @objectid,@indexid
WHILE @@FETCH_STATUS=0
BEGIN
SET @sql='DBCC INDEXDEFRAG (0,'+RTRIM(@objectid)+','+RTRIM(@indexid)+')'
EXEC (@sql)
FETCH NEXT FROM cur INTO @objectid,@indexid
END
CLOSE cur
DEALLOCATE cur
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Стр. 33
WITH
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 34
13. Создание заданий для резервного копирования баз данных
1.17. Создание серверного задания для обслуживания и полного резервного копирования пользовательской базы данных
Прежде чем будет создана полная резервная копия базы данных, необходимо быть
уверенным в том, что:
– целостность базы данных не нарушена
– индексы таблиц перестроены или дефрагментированы
– статистика распределения таблиц обновлена
– файлы данных дефрагментированы
Выполнение всех вышеуказанных мер позволит в случае необходимости восстановить
из резервной копии работоспособную и оптимизированную базу данных.
Особое внимание следует обратить на переиндексацию таблиц. Переиндексация таблиц
может быть выполнена с помощью нескольких методов. В данном документе рассматриваются два метода: перестройка индексов и дефрагментация индексов.
Метод, использующий перестройку индексов, приведен в тексте хранимой процедуры
sp_reindex. Метод, использующий дефрагментацию индексов, приведен в тексте хранимой
процедуры sp_indexdefrag. Перестройка индексов осуществляется путем создания новых
индексов и удаления старых. Дефрагментация индексов осуществляется путем перемещения
(«перетасовки») индексных страниц. Каждый из методов имеет свои преимущества и недостатки. Сравнение двух методов переиндексации приведено в таблице 8.
Таблица 8. Сравнение двух методов переиндексации таблиц
Метод
Преимущество
Недостаток
Перестройка
индексов
Дефрагментация
индексов
Операция создания новых индексов и удаление старых приводит к
логической и физической дефрагментации индексов, то есть к более полной дефрагментации индексов.
Создание новых индексов и последующее удаление старых приводит к фрагментации файла данных. Поэтому после
использования метода перестройки индексов файл данных желательно дефрагментировать.
При перестройке индексов осуществляется автоматическое обновление статистики распределения данных в индексированных
столбцах.
Операция перестройки индексов является
ресурсоемкой, поэтому ее желательно
проводить во внерабочие часы, чтобы не
препятствовать нормальной работе пользователей.
Дефрагментация индексов не при- Дефрагментация индексов устраняет
водит к фрагментации файла дан- только логическую фрагментацию инных.
дексов, поэтому менее эффективна, чем
операция перестройки индексов.
Операция дефрагментации индексов является ресурсоемкой только
в случае большой фрагментации
индекса. Если довольно часто
устранять фрагментацию индекса,
и не допускать, чтобы индекс стал
сильно фрагментированным, то
операцию дефрагментации можно
проводить в рабочее время, не
мешая работе пользователей
Дефрагментация индексов не обновляет
автоматически статистику распределения
данных в индексированных столбцах, поэтому после дефрагментации индексов
необходимо провести обновление статистики.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 35
Ниже описывается создание серверного задания обслуживания и создания полной резервной копии базы данных
– открыть Query Analyzer
– скопировать в окно Query Analyzer текст следующего сценария T-SQL:
BEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1
EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]'
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'Резервное копирование и сопровождение БД TestDB')
IF (@JobID IS NOT NULL)
BEGIN
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
RAISERROR (N'Unable to import job ''Резервное копирование и сопровождение БД TestDB'' since there is already a multi-server
job with this name.', 16, 1)
GOTO QuitWithRollback
END
ELSE
EXECUTE msdb.dbo.sp_delete_job @job_name = N'Резервное копирование и сопровождение БД TestDB'
SELECT @JobID = NULL
END
BEGIN
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT ,
@job_name = N'Резервное копирование и сопровождение БД TestDB', @owner_login_name = N'sa', @description = N'Регламентные процедуры по сопровождению базы данных TestDB', @category_name = N'[Uncategorized (Local)]', @enabled = 1,
@notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 2, @notify_level_eventlog = 2, @delete_level= 0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'Проверка целостности',
@command = N'DBCC CHECKDB(''TestDB'')
', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0,
@flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 3,
@on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 2, @step_name = N'Переиндексация пользовательских таблиц', @command = N'EXEC sp_reindex', @database_name = N'TestDB', @server = N'', @database_user_name =
N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name
= N'', @on_success_step_id = 0, @on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 3, @step_name = N'Обновление статистики
пользовательских таблиц', @command = N'EXEC sp_updatestat', @database_name = N'TestDB', @server = N'',
@database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0,
@retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 3, @on_fail_step_id = 0,
@on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 4, @step_name = N'Дефрагментация файлов данных', @command = N'EXEC sp_filedefrag', @database_name = N'TestDB', @server = N'', @database_user_name = N'',
@subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name =
N'', @on_success_step_id = 0, @on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 5, @step_name = N'Полное резервное копирование', @command = N'BACKUP DATABASE [TestDB] TO [TestDB Full Backup] WITH INIT, NOUNLOAD, NAME=N''TestDB
backup'', NOSKIP, STATS= 10, NOFORMAT
DECLARE @i INT
select @i = position from msdb..backupset where database_name=''TestDB''and type!=''F'' and backup_set_id=(select
max(backup_set_id) from msdb..backupset where database_name=''TestDB'')
RESTORE VERIFYONLY FROM [TestDB Full Backup] WITH FILE = @i
', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0,
@flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 3,
@on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 6, @step_name = N'Резервное копирование
журнала транзакций', @command = N'BACKUP LOG [TestDB] TO [TestDB Log Backup] WITH INIT , NOUNLOAD , NAME =
N''TestDB backup'', NOSKIP , STATS = 10, NOFORMAT
DECLARE @i INT
select @i = position from msdb..backupset where database_name=''TestDB''and type!=''F'' and backup_set_id=(select
max(backup_set_id) from msdb..backupset where database_name=''TestDB'')
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 36
RESTORE VERIFYONLY FROM [TestDB Log Backup] WITH FILE = @i
', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0,
@flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1,
@on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'Sch1', @enabled = 1, @freq_type = 4,
@active_start_date = 20060214, @active_start_time = 0, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0,
@freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
– в сценарии T-SQL заменить текст TestDB Full Backup на имя устройства резервного копирования для полной резервной копии базы данных, которое было создано в п.1
– в сценарии T-SQL заменить текст TestDB Log Backup на имя устройства резервного копирования для резервной копии журнала транзакций, которое было создано в п.1
– в сценарии T-SQL заменить текст TestDB на имя вашей базы данных, для которой
будет проводиться обслуживание и резервное копирование
– выполнить откорректированный сценарий T-SQL
В результате выполнения сценария T-SQL должно быть создано серверное задание для
обслуживания и полного резервного копирования базы данных, которое будет запускаться по
расписанию каждый день в 12 часов ночи.
Это задание можно просмотреть (см. Рисунок 16) и при необходимости откорректировать с помощью утилиты Enterprise Manager.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 37
Рисунок Рисунок 16. Окно «Enterprise Manager»
1.18. Создание серверного задания для резервного копирования журнала транзакций
пользовательской базы данных
Периодическое создание резервной копии журнала транзакций позволяет максимально
полно восстановить базу данных в случае краха системы. Кроме того, периодически создавая
резервную копию журнала транзакций, можно восстановить данные на определенный период
времени. Это может пригодиться в случае непреднамеренного удаления или неверного изменения данных пользователем.
Создание резервной копии журнала транзакций возможно только в том случае, если
модель восстановления базы данных Full или Bulk-Logged.
Ниже описывается создание серверного задания для резервного копирования журнала
транзакций.
– открыть Query Analyzer
– скопировать в окно Query Analyzer текст следующего сценария T-SQL:
BEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1
EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]'
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'Резервная копия журнала БД TestDB')
IF (@JobID IS NOT NULL)
BEGIN
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 38
IF (EXISTS (SELECT * FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
RAISERROR (N'Unable to import job ''Резервная копия журнала БД TestDB'' since there is already a multi-server job with this
name.', 16, 1)
GOTO QuitWithRollback
END
ELSE
EXECUTE msdb.dbo.sp_delete_job @job_name = N'Резервная копия журнала БД TestDB'
SELECT @JobID = NULL
END
BEGIN
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'Резервная копия журнала БД
TestDB', @owner_login_name = N'sa', @description = N'No description available.', @category_name = N'[Uncategorized (Local)]',
@enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 2, @notify_level_eventlog = 2,
@delete_level= 0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'Резервное копирование
журнала транзакций', @command = N'BACKUP LOG [TestDB] TO [TestDB Log Backup] WITH NOINIT, NOUNLOAD , NAME =
N''TestDB backup'', NOSKIP , STATS = 10, NOFORMAT
DECLARE @i INT
select @i = position from msdb..backupset where database_name=''TestDB''and type!=''F'' and backup_set_id=(select
max(backup_set_id) from msdb..backupset where database_name=''TestDB'')
RESTORE VERIFYONLY FROM [TestDB Log Backup] WITH FILE = @i
', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0,
@flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1,
@on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'Sch1', @enabled = 1, @freq_type = 4,
@active_start_date = 20060214, @active_start_time = 20000, @freq_interval = 1, @freq_subday_type = 8, @freq_subday_interval = 1,
@freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 230000
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
– в сценарии T-SQL заменить текст TestDB Log Backup на имя устройства резервного копирования для резервной копии журнала транзакций, которое было создано в п.1
– в сценарии T-SQL заменить текст TestDB на имя вашей базы данных, для которой
будет проводиться обслуживание и резервное копирование
– выполнить откорректированный сценарий T-SQL
В результате выполнения сценария T-SQL должно быть создано серверное задание для
резервного копирования журнала транзакций, которое будет запускаться по расписанию через каждый час, начиная с 2 часов ночи и заканчивая 11 часами вечера.
Это задание можно просмотреть (см. Рисунок 17) и при необходимости откорректировать с помощью утилиты Enterprise Manager.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 39
Рисунок Рисунок 17. Окно «Enterprise Manager»
1.19. Мониторинг работы заданий
Администратор баз данных должен каждый день проверять, как отработало задание. Он
может это делать:
– вручную с помощью утилиты Enterprise Manager
– назначить заданию оператора, который будет уведомляться при неудачной отработке задания
– использовать оба вышеуказанных способа
Вручную с помощью утилиты Enterprise Manager можно просмотреть результаты выполнения задания следующим образом:
– открыть Enterprise Manager
– визуально определить статус выполнения задания: синий цвет – успех, красный –
неудача
– щелкнуть по заданию правой кнопкой мыши и выбрать пункт View Job History
– появится следующее окно (см. Рисунок 18):
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 40
Рисунок Рисунок 18. Окно Job History
В столбце Result будет стоять значение Successful в случае, если задание отработало
без ошибок; в противном случае можно отметить пункт Show step details и посмотреть, на
каком шаге задания произошла ошибка, и какая именно ошибка.
Назначить заданию оператора для уведомления можно следующим образом:
– открыть Enterprise Manager
– щелкнуть по заданию два раза левой кнопкой мыши и в открывшемся окне перейти на закладку Notifications
– отметить пункт Net send operator
– из раскрывающегося списка выбрать оператора, которому нужно отправлять уведомления (см. Рисунок 19).
Рисунок Рисунок 19. Окно «Резервное копирование и сопровождение»
14. Создание оповещения о проценте заполнения журнала транзакций
1.20. Открыть утилиту Enterprise Manager.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 41
1.21. Развернуть папку Management.
1.22. Развернуть папку SQL Server Agent и щелкнуть левой кнопкой мыши по значку Alerts.
1.23. В правом окне щелкнуть правой кнопкой мыши и выбрать из выпадающего
меню пункт New Alert
1.24. В открывшемся окне ввести имя оповещения, например, LogIsFull.
1.25. В выпадающем списке Type выбрать SQL Server performance condition alert.
1.26. В выпадающем списке Object выбрать SQL Server: Databases.
1.27. В выпадающем списке Counter выбрать Percent Log Used.
1.28. В выпадающем списке Instance выбрать базу данных, для журнала которой создается оповещение.
1.29. В выпадающем списке Alert if counter выбрать rises above.
1.30. В поле Value поставить значение 85 (см. Рисунок 20).
Рисунок Рисунок 20. Окно «New Allert Properties»
1.31. Перейти на закладку Response.
1.32. Установить флаг Execute job и из выпадающего списка выбрать задание резервного копирования журнала транзакций, которое было создано в пункте 4.
1.33. Выбрать оператора, которому будет отправлено оповещение о заполнении
журнала транзакций на 85%.
1.34. В поле Additional notification message to send можно ввести дополнительное
сообщение, которое будет отправляться оператору, например: «Журнал транзакций заполнился на 85%» (см. Рисунок 21).
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 42
Рисунок Рисунок 21. Окно «New Allert Properties»
1.35. Нажать OK.
1.36. Таким образом, мы создали оповещение, которое будет уведомлять оператора
о заполнении журнала транзакций на 85%, причем это оповещение будет еще и
запускать задание резервного копирования журнала транзакций, которое будет
этот журнал усекать, и, тем самым, освобождать в нем место.
15. Мониторинг файла данных
1.37. Открыть Enterprise Manager.
1.38. Щелкнуть по базе данных правой кнопкой мыши и в выпадающем меню выбрать Вид, затем – Taskpad (см. Рисунок 22).
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 43
Рисунок Рисунок 22. Окно «Enterprise Manager»
1.39. В правом окне в разделе Space allocated отображаются файлы данных и файл
журнала транзакций базы данных. Серым цветом отображено пространство, занятое данными, а синим цветом – свободное место.
16. Восстановление базы данных
В случае краха базы данных при работоспособном промышленном сервере баз данных, база
данных восстанавливается на промышленном сервере баз данных. В случае выхода из строя
промышленного сервера баз данных, база данных восстанавливается на резервном сервере
баз данных. Порядок действий по восстановлению базы данных описан ниже.
Восстановление базы данных на промышленном сервере
1. Открыть Enterprise Manager
2. Щелкнуть правой кнопкой мыши по контейнеру Databases, и из выпадающего меню
выбрать Все задачи → Restore Database
3. В открывшемся окне (см. Рисунок 23) Restore Database на закладке General ввести
вручную либо выбрать из раскрывающегося списка Restore as database то имя, под
которым будет восстановлена база данных. В разделе Parameters будут видных полная резервная копия базы данных и резервные копии журнала транзакций.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 44
Рисунок Рисунок 23. Окно «Restore Database»
4. На закладке Options (см. Рисунок 24) отметить пункт Force restore over existing database.
Рисунок Рисунок 24. Окно «Restore Database»
5. Нажать кнопку OK
Сервер баз данных начнет восстановление базы данных из полной резервной копии и из резервных копий журнала транзакций.
Восстановление базы данных на резервном сервере из полной резервной копии
1. Открыть Enterprise Manager
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 45
2. Щелкнуть правой кнопкой мыши по контейнеру Databases, и из выпадающего меню
выбрать Все задачи → Restore Database
3. В открывшемся окне Restore Database на закладке General (см. Рисунок 25) ввести
вручную то имя, под которым будет восстановлена база данных.
4. Установить переключатель Restore в положение From device.
5. Установить переключатели в положение Restore backup set и Database – complete.
Рисунок Рисунок 25. Окно «Restore Database»
6. Нажать на кнопку Select Devices
7. В окне Choose Restore Devices нажать на кнопку Add
8. В окне Choose Restore Destination (см. Рисунок 26)при установленном переключателе File Name ввести путь к полной резервной копии базы данных.
Рисунок Рисунок 26. Окно «Edit Restore Destination»
9. Нажать OK
10. В окне Choose Restore Devices нажать OK
11. В окне Restore Database перейти на закладку Options
12. В разделе Recovery completion state установить переключатель в положение Leave
database nonoperational but able to restore additional transaction logs
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 46
13. В разделе Restore database files as для каждого файла базы данных ввести полный
локальный путь к той папке, где они будут располагаться на резервном сервере.
14. Нажать OK.
Начнется восстановление из полной резервной копии базы данных. После восстановления полной резервной копии для нормальной работы базы данных на резервном сервере
необходимо восстановить все резервные копии журналов транзакций.
Восстановление резервных копий журнала транзакций на резервном сервере
1. Открыть Enterprise Manager
2. Щелкнуть правой кнопкой мыши по контейнеру Databases, и из выпадающего меню
выбрать Все задачи → Restore Database
3. В открывшемся окне (см. Рисунок 27) Restore Database на закладке General выбрать
из выпадающего списка то имя, под которым была восстановлена база данных из полной резервной копии.
4. Установить переключатель Restore в положение From device.
5. Установить переключатели в положение Restore backup set и Transaction Log.
Рисунок Рисунок 27. Окно «Restore Database»
6. Нажать на кнопку Select Devices
7. В окне Choose Restore Devices нажать на кнопку Add
8. В окне Choose Restore Destination при установленном переключателе File Name ввести путь к первой резервной копии журнала транзакций.
9. Нажать OK
10. В окне Choose Restore Devices нажать OK
11. В окне Restore Database перейти на закладку Options
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 47
12. В разделе Recovery completion state установить переключатель в положение Leave
database nonoperational but able to restore additional transaction logs в случае, если
имеются дополнительные резервные копии журнала транзакций, которые нужно восстановить. Если восстанавливаемая в настоящий момент резервная копия журнала
транзакций последняя, и больше резервных копий журнала транзакций нет, то переключатель нужно установить в положение Leave database operational. No additional
transaction logs can be restored.
13. В разделе Restore database files as для каждого файла базы данных ввести полный
локальный путь к той папке, где они будут располагаться на резервном сервере.
14. Нажать OK.
15. Повторить пункты 1 – 14 для каждой резервной копии журнала транзакций.
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 48
Приложение 5. Системные счетчики производительности
Для сбора статистики о производительности системы на срок не менее 5 (Пяти) рабочих дней необходимо включить на сервере журналы следующих счетчиков производительности:
Таблица 9. Журнал сбора сведений о процессорах:
Объект
Счетчик
System
Система
Processor Queue Length
Длина очереди процессора
Значение счетчика должно быть:
<= 2
Processor
% Processor Time
Процессор % загруженности процессора (для каждого процессора)
<= 75%
Processor
% Interrupt Time
Процессор % времени прерываний (для каждого процессора)
<= 30%
Таблица 10. Журнал сбора сведений о памяти:
Объект
Счетчик
Значение счетчика должно быть:
Memory
Память
Pages/Sec
Обмен страниц/сек
< 20
Memory
Память
Pages Fault/Sec
Ошибок страницы/сек
< 20
Paging File % Usage Peak
Файл под- % использования (пик)
качки
Process
Процесс
99%
Page Faults/sec for the SQL Server Instance
< 20
Ошибок страницы/сек (для каждого экземпляра SQL
Server)
Таблица 11. Журнал сбора сведений о дисках:
Объект
Счетчик
Значение счетчика
должно быть:
Physical Disk (или Logical
Disk, если жесткий диск
разбит на несколько разделов; для W2K включить
diskperf –yv плюс перезагрузка)
Для систем с RAID-массивом:
Average Disk Queue Length
Средняя длина очереди диска
(для каждого физического диска)
Разница между длиной очереди и количеством дисковых
приводов < 2
Physical Disk
Физический диск
Для систем без RAID-массива:
Current Disk Queue Length
Текущая длина очереди диска
(для каждого физического диска)
Разница между длиной очереди и количеством дисковых
приводов < 2
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Объект
Стр. 49
Счетчик
Значение счетчика
должно быть:
Physical Disk
Физический диск
% Disk Time
% активности диска
(для каждого физического диска)
< 90%
Physical Disk
Физический диск
Average Disk/sec Write
Среднее время записи на диск (сек)
(для каждого физического диска)
<= 20 мс
Physical Disk
Физический диск
Average Disk/sec Read
Среднее время чтения с диска (сек)
(для каждого физического диска)
<=15 мс
Physical Disk
Физический диск
Avg.
Disk
Bytes/Transfer > 20 Кб
Средний размер одного обмена с диском/байт
(для каждого физического диска)
Physical Disk
Физический диск
Avg.
Disk
sec/Transfer < 0,3 сек
Среднее время обращения к диску
(для каждого физического диска)
Таблица 12. Журнал сбора сведений о каждом экземпляре SQL Server:
Объект
Счетчик
Значение счетчика
должно быть:
SQLServer: Buffer Manager
Buffer Cache Hit Ratio
>=90%
SQLServer: Cache Manager
Cache Hit Ratio
(все вхождения из списка)
>=90%
SQLServer: Memory Manager
Target Server Memory (Kb)
Кол-во памяти, которую
SQL Server «хочет»
SQLServer: Memory Manager
Total Server Memory (Kb)
Кол-во памяти, которую
SQL Server реально использует
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 50
СОСТАВИЛИ
Наименование организации, предприятия
ООО «ОТР2000»
Должность исполнителя
Фамилия, имя,
отчество
Начальник отдела
архитекторов
Солнышко В. В.
Подпись
Дата
28.12.2005
СОГЛАСОВАНО
Наименование организации, предприятия
Должность, исполнителя
Фамилия, имя,
отчество
Подпись
Дата
Наименование ПС:
Код документа:
ППО «Центр-КС»
54819512.19.00,00.16.02-2.0 2
Стр. 51
ЛИСТ РЕГИСТРАЦИИ ИЗМЕНЕНИЙ
№
версии
док-та
Дата
Исполнитель
Изменения
1.0
28.12.2005 Солнышко В. В.
Начальная версия.
1.1
01.03.2006 Мальгичева Е. А.
Внесены изменения согласно замечаниям
зам. начальника отдела ФАП Лепилина В. А. от
01.03.2006 г.
1.2
22.05.2006 Солнышко В. В.
Добавлены пункты «Введение» и «Приложение
5».
1.2
12.12.2006 Желтоногова Е. И.
Изменен колонтитул.
2.0
21.12.2006 Желтоногова Е. И.
Оформление документа исправлено в соответствии с требованиями ЦАФК.
Download