Как перенести базу MS SQL с одного сервера на другой?
Есть сервер с MSSQL standart 2008 - но к этому серверу нет доступа (не на винду, не sa), есть только логин и пароль для работы с БД (спокойно по нему подключаюсь по Management Studio).
Есть новый сервер с MSSQL standart 2012 - на этот сервер необходимо перенести базу данных с первого сервера.
При запуске процедуры "скопировать базу данных" выдает ошибку "SSIS Error: An OLE DB error has occurred. Error code: 0x80040E09 – SELECT Permission was denied…" - судя по гуглу у доступного мне пользователя нет на это прав, или я ошибаюсь?
Пробовал делать Экспорт данных, но в этом случае в созданной базе данных во всех таблицах отсутствуют ключи, но все данные переносятся корректно.
Вариант 1: Пинать администратора серверов БД. Или пусть дают права или пусть сами мигрируют.
Вариант 2(оптимистичный, но знаю что не подойдет) : Если структура БД сохранена в виде SQL скриптов(включая создание ключей и прочего) - накатить структуру, а затем мигрировать данные.
Первый вариант не возможен, по ряду причин.
Второй в целом возможен.
Софт который работает с БД, сам может создать все таблицы, я правильно понимаю что если в созданную им БД сделать экспорт данных, все должно получиться? и связи не разрушаться?
Антон Агальцов: Ну если вы точно точно сможете выгрузить структуру базы. Со всеми ключами и автоматически вычисляемыми полями. То почему нет? в нашей компании мы деплой базы делаем через скрипты RoundHouse и соответственно поддерживаем версионность SQL-кода. В вашем случае такой структуры нет, соответственно надо откуда-то получить сей набор скриптов. Ну а сами данные вы говорите можете выгрузить.
1.Ищите тех у кого есть права на сервер.
2.Если есть физический доступ к серверу - выключите его, загрузитесь с любого загрузочного носителя и скопируйте нужные файлы БД.
Второй вариант, не когда ручками не пробовал на серверных осях, по идее вся файловая структура будет доступна и операция по сути к дампу файлов сводиться?
Антон Агальцов: С серверными виндами то же самое, что и с десктопными. Могут быть проблемы с оборудованием, если у вас в сервере какой-нибудь экзотический рейд или еще что-нибудь.
Так же нужно точно знать где лежат файлы БД. Обычно их 2, но может быть и больше.
Если удастся таким образом забрать файлы БД, то после того как скопируете их на целевой сервер сделаете операцию Attach в студии и база подцепится.