Вопрос
Да, я знаю.Наличие работающей копии SQL Server 6.5
в 2008 году это абсурд.
Это оговаривало, каков наилучший способ миграции из 6.5
Для 2005
?Есть ли какой-нибудь прямой путь?Большая часть документации, которую я нашел, касается обновления 6.5
Для 7
.
Должен ли я забыть о туземце SQL Server
обновить утилиты, создать сценарий для всех объектов и данных и попытаться воссоздать с нуля?
Я собирался попробовать обновление в эти выходные, но проблемы с сервером перенесли его на следующий.Таким образом, любые идеи будут приветствоваться в течение недели.
Обновить.Вот как я в итоге это сделал:
- Создайте резервную копию соответствующей базы данных и выполните мастеринг на
6.5
. - Выполнить
SQL Server 2000
'sinstcat.sql
против6.5
это Хозяин.Это позволяетSQL Server 2000
поставщик OLEDB для подключения6.5
. - Использование
SQL Server 2000
автономный"Import and Export Data"
чтобы создать пакет DTS, используяOLEDB
для подключения к 6.5.Это успешно скопировало все6.5
таблицы на новый2005
база данных (также использующаяOLEDB
). - Использование
6.5
менеджер предприятия должен записать все индексы и триггеры базы данных в sql-файл. - Запустите этот sql-файл для новой копии базы данных в Management Studio 2005.
- Используйте Enterprise Manager от 6.5 для создания сценариев всех хранимых процедур.
- Выполните это
.sql
подать иск против2005
База данных.У нескольких десятков sprocs были проблемы, делающие их несовместимыми с2005
.Главным образомnon-ANSI joins
иquoted identifier issues
. - Исправил все эти проблемы и повторно выполнил
.sql
файл. - Воссоздал
6.5
входит в систему2005
и дал им соответствующие разрешения.
При исправлении хранимых процедур пришлось немного промыть / повторить (их нужно было исправить сотни), но в остальном обновление прошло отлично.
Возможность использовать Management Studio вместо Query Analyzer
и Enterprise Manager 6.5
это такая удивительная разница.Несколько запросов отчета, которые заняли 20-30 секунд на 6.5 database
теперь они выполняются за 1-2 секунды, без каких-либо изменений, новых индексов или чего-либо еще.Я не ожидал такого немедленного улучшения.
Решение
Эй, я тоже все еще застрял в том лагере.Стороннее приложение, которое мы должны поддерживать, НАКОНЕЦ-то перейдет на 2K5, так что у нас почти закончились проблемы.Но я чувствую твою боль 8^D
Тем не менее, из всего, что я слышал от нашего администратора базы данных, ключ заключается в том, чтобы сначала преобразовать базу данных в формат 8.0, а затем перейти к 2005.Я полагаю, что для этого они использовали встроенные инструменты миграции / обновления.Есть несколько больших шагов между 6.5 и 8.0, которые лучше решить там, чем переходить непосредственно от 6.5 к 2005.
Ваша САМАЯ БОЛЬШАЯ боль, если вы еще не знали, заключается в том, что DTS ушла в пользу SSIS.Существует модуль типа оболочки, который будет запускать ваши существующие пакеты DTS, но вам захочется вручную воссоздать их все в SSIS.Простота этого будет зависеть от сложности самих пакетов, но я уже выполнил несколько на работе, и они прошли довольно гладко.
Другие советы
Вы можете обновить версию 6.5 до SQL Server 2000.Возможно, вам будет проще получить доступ к SQL Server или версии MSDE 2000.У Microsoft есть страница на повышение с 6,5 до 2000.Как только у вас будет база данных в формате 2000, у SQL Server 2005 не возникнет проблем с обновлением ее до формата 2005.
Если у вас нет SQL Server 2000, вы можете скачать MSDE 2000 версия непосредственно от Microsoft.
Я ни в коем случае не являюсь авторитетным специалистом, но я считаю, что единственный поддерживаемый путь - от 6.5 до 7.Конечно, это был бы самый разумный маршрут, тогда, я полагаю, вы сможете перейти с 7 непосредственно на 2005 довольно безболезненно.
Что касается написания сценариев для всех объектов - я бы не советовал этого делать, поскольку вы неизбежно что-то пропустите (если только ваша база данных действительно не тривиальна).
Если вы можете найти профессиональную или какую-либо другую корпоративную версию Visual Studio 6.0 - к ней прилагается копия MSDE (По сути, предшественник SQL Express).Я полагаю, что MSDE 2000 по-прежнему доступен для бесплатной загрузки от Microsoft, но я не знаю, сможете ли вы выполнить прямой переход с версии 6.5 на 2000.
Я думаю, что в принципе вы вряд ли столкнетесь с какой-либо опасностью.Однако годы практики говорят мне, что вы всегда будете пропускать какой-то объект, разрешение или другой элемент базы данных, который не проявит себя немедленно.Если вы можете создать сценарий для всего дампа, тем лучше.Так у вас будет меньше шансов что-то пропустить - а если вы все-таки что-то пропустите, это можно легко добавить в сценарий и исправить.Я бы избегал любых ручных действий (кроме однократного нажатия клавиши enter), как чумы.