По разным причинам вам может понадобится перенести базу с MS SQL 2005 сервера на 2000.
В этой статье описано, как это сделать.
Для того, чтобы проделать даунгрейд с 2005 на 2000 SQL сервер, вам понадобятся базовые знания MS SQL, а также установленные обе версии сервера.
Также вам понадобится резервная копия баз данных с SQL 2005, и заведенные на SQL 2000 пользователи — аналогичные пользователям MS SQL 2005.
Перенос структуры базы с 2005 на 2000
1) Нажмите правой кнопкой на выбранной базе на SQL 2005, выберите Tasks и Generate Scripts.
2) В появившемся диалоговом окне выберите Script All Objects in the selected Databases и нажмите кнопку Next.
3) Установите следующие значения:
a. Script Collation, установите TRUE
b. Script Database Create, установите TRUE
c. Script of SQL Version, выберите SQL SERVER 2000
d. Script foreign keys, установите FALSE
e. Script Triggers, установите FALSE
Нажмите Next
4) Выберите как сохранить сгенерированные скрипты. Есть несколько вариантов, удобно выбрать сохранение в Клипбоард. Нажмите Next.
5) Нажмите Finish
Далее переходим к SQL Server 2000.
Откройте Query Analyzer. В нем нужно будет выполнить скрипты, сгенерированные ранее, используя базу данных master. Вставьте скрипт в Query Analyzer и выполните его. После этого структура базы будет создана.
Будьте внимательны — SQL Server 2005 вставляет Views в случайно выбранное место скрипта. Все, относящееся к Views нужно перенести в конец скрипта. Если Query Analyzer показывает какие-то ошибки — не переживайте. Удалите все созданные скриптом элементы, откорректируйте код скрипта и запустите его еще раз.
Перенос данных с MS SQL 2005 на 2000
1) После выполнения предыдущего шага переходим к перемещению данных. Щелкните правой кнопкой на базе данных на 2005 сервере и выберите Tasks, а затем Export Data.
2) В появившемся диалоге выберите исходную базу данных и нажмите Next.
3) На следующем этапе вы выберете сервер назначения и базу данных для экспортируемых данных. Затем нажмите Next.
4) Появится список всех элементов исходной базы. Выберите все элементы, которые вы хотите перенести и нажмите для каждого кнопку Edit Mappings (в правом нижнем углу под списком элементов). Появится новое окно. Выберите опцию Delete rows in Destination Tables и активируйте Enable Identity Insert. Эти действия нужно произвести для каждого исходного элемента, который вы хотите переместить.
Генерация скриптов для переноса Foreign Keys и Triggers
Для успешного переноса базы нужно создать соответствующие Triggers и Foreign Keys. Для этого выполните следующие шаги:
1) Нажмите правой кнопкой мыши на базе SQL 2005 и выберите Tasks, затем Generate Scripts.
2) В появившемся окне убедитесь, что опция Script All Objects in the selected Databases не включена и нажмите Next.
3) Установите все элементы в False кроме следующих:
a. Include IF NOT EXISTS — поставьте TRUE
b. Script Owner — постаьте TRUE
c. Script of SQL Version, выберите SQL SERVER 2000
d. Script foreign keys, поставьте TRUE
e. Script Triggers, поставьте TRUE
Нажмите Next.
4) Появится следующее диалоговое окно. Убедитесь, что вы выбрали ONLY THE TABLES базы данных и нажмите Next.
5) На следующем экране выберите Select All и нажмите Next.
6) Выберите, как сохранить созданные скрипты (скопируйте их в Клипбоард). Нажмите Next.
7) Нажмите Finish.
После выполнения этой процедуры, мы перемещаемся в SQL SERVER 2000. Здесь, используя Query Analyzer, нужно выполнить сгенерированные скрипты, используя базу данных master. Вставьте созданные на предыдущем шаге скрипты в Query Analyzer и выполните их. После этого Foreign Keys и Triggers базы данных будут созданы.
После выполнения описанных шагов вы получите полностью работающую базу под SQL Server 2000.