Ответ 1
загрузите бесплатный "Мастер миграции Azure Migration" из CodePlex - я сделал короткий блог /screencast об этом. Обязательно установите параметр "TO" в мастере на имя AWS DNS, а затем используйте "SQL Server 2008" и не "SQL Azure"
Я пытаюсь перейти от обычного SQL Server на сервере Win2008 к SQL Server на Amazon AWS RDS.
Я думал, что простая резервная копия и восстановление будут работать. Хотя AWS RDS, похоже, не имеет доступа к файловой системе, поэтому для всех сценариев sql необходима локальная файловая система на исходном и конечном сервере. Я попытался выполнить script после
exec sp_addlinkedserver @server='test.xxxx.us-east-1.rds.amazonaws.com'
-- Verify that the servers were linked (lists linked servers)
exec sp_linkedservers
EXEC ('RESTORE DATABASE [orchard] FROM DISK = ''C:\Temp\orchard.bak'' WITH FILE = 1, NOUNLOAD, STATS = 10')
AT [test.xxxx.us-east-1.rds.amazonaws.com]
Любые предложения будут полезны.
загрузите бесплатный "Мастер миграции Azure Migration" из CodePlex - я сделал короткий блог /screencast об этом. Обязательно установите параметр "TO" в мастере на имя AWS DNS, а затем используйте "SQL Server 2008" и не "SQL Azure"
Официальное слово, которое я получил для поддержки AWS при миграции баз данных SQL с использованием файлов .bak, заключается в том, что оно не поддерживается. Таким образом, нет более быстрого восстановления из .bak файлов. Они предложили официальную помощь для миграции существующих баз данных:
Официальное руководство по миграции базы данных AWS
И также дал мне неофициальную ссылку на инструмент миграции базы данных Azure. Просто используйте его для создания script вашей схемы и/или данных и выполните ее против вашего экземпляра RDS. Это хороший инструмент. Для этого вам сначала нужно будет импортировать .bak в SQL-сервер, отличный от RDS.
Я написал несколько пошаговых инструкций по как восстановить .bak файл в RDS, используя инструмент SQL Azure Migration Tool на основе Lynn screencast. Это гораздо более простой способ, чем официальные инструкции, и он хорошо работал для нескольких баз данных, которые я перенесла.
Вероятно, вы обнаружите, что Приложения уровня данных Формат BACPAC предоставит вам наиболее удобное решение. Вы можете использовать Export для создания файла, который содержит как схему базы данных, так и данные. Import создаст новую базу данных, заполненную данными на основе этого файла.
В отличие от операций Backup and Restore, экспорт и импорт не требуют доступа к файловой системе сервера базы данных.
Вы можете работать с файлами BACPAC с помощью SQL Server Management Studio или через API в .Net, Powershell, MSBuild и т.д.
Обратите внимание, что с этим методом возникают проблемы с Экспорт, а затем Импорт из и в Amazon RDS. Поскольку в RDS создается новая база данных, в ней создаются следующие два объекта.
Во время импорта будет конфликт между объектами, включенными в файл BACPAC, и те, которые автоматически добавляются RDS. Эти объекты присутствуют в файле BACPAC и автоматически создаются RDS при создании новой базы данных.
Если у вас есть экземпляр без RDS SQL Server, вы можете импортировать BACPAC в этот экземпляр, удалить объекты выше, а затем экспортировать базу данных для создания нового файла BACPAC. У этого не возникнет никаких конфликтов при восстановлении экземпляра RDS.
В противном случае эту проблему можно обойти, выполнив следующие шаги.
Примечание.. Существует другая связанная с этим проблема с импортом BacPac в RDS с помощью SQL Server Management Studio, который я объясняю здесь.
Используйте мастер экспорта в студию управления сервером sql в исходной базе данных. Щелкните правой кнопкой мыши по базе данных > задачи > экспортировать данные. Существует мастер, который проведет вас через отправку всей базы данных на удаленный сервер sql.
В следующей статье обсуждается, как копировать базу данных с данными - генерировать T-SQL для вставки данных из одной таблицы в другую таблицу - это то, что мне нужно.