У мене є база даних про екземпляр SQL Sever 2012, яку я хотів би скопіювати на сервер 2008 року. Сервер 2008 не може відновити резервні копії, створені сервером 2012 року (я спробував).
У 2012 році я не можу знайти жодних варіантів для створення резервної копії, сумісної з 2008. Я щось пропускаю?
Чи є простий спосіб експорту схеми та даних у формат-агностик, який я можу імпортувати у 2008 році?
База даних не використовує жодних особливостей 2012 року. Він містить таблиці, дані та збережені процедури.
Ось що я спробував поки що
Я спробував Завдання → Створити скрипти на сервері 2012 року, і мені вдалося генерувати схему (включаючи збережені процедури) у вигляді сценарію SQL. Це не включає жодних даних.
Створивши цю схему на моїй машині 2008 року, я зміг відкрити майстра "Експорт даних" на машині 2012 року, і після налаштування 2012 року як вихідної машини та 2008 року як цільової машини мені було представлено список таблиць, які я може скопіювати. Я вибрав усі свої таблиці (300+) і натиснув майстра. На жаль, він витрачає віки на генерування своїх сценаріїв, а потім не вдається з помилками типу "Невдача вставки в стовпець" FOO_ID "лише для читання."
Я також спробував "Майстер копіювання баз даних", який стверджував, що може копіювати "з 2000 року або пізніше 2005 року або пізніше". Він має два режими:
"Від'єднати та приєднати", який не вдався до помилки:
Message: Index was outside the bounds of the array. StackTrace: at Microsoft.SqlServer.Management.Smo.PropertyBag.SetValue(Int32 index, Object value) ... at Microsoft.SqlServer.Management.Smo.DataFile.get_FileName()
Метод об'єкта управління SQL, який не вдався до помилки
Неможливо прочитати властивість IsFileStream. Ця властивість недоступна на SQL Server 7.0. "