Скопируйте базу данных с SQL Server на веб-сервере в локальный экземпляр SQL Server Express

#sql-server #database

#sql-сервер #База данных

Вопрос:

Я взял на себя администрирование веб-сайта, но у меня возникли проблемы с получением базы данных на мой тестовый компьютер. Я могу получить доступ к базе данных (MS SQL) через MyLittleAdmin. На моем тестовом компьютере у меня MS SQL Express, и мне интересно, как мне следует скопировать базу данных.

Редактировать

Веб-отель явно заявляет, что он не может реплицировать базу данных через SQL Server Management Studio. Я не нашел никакого способа подключиться к внешней базе данных.

Единственный способ, к которому я пришел, — это создать резервную копию базы данных в MyLittleAdmin, но как потом это использовать, я не знаю.

Комментарии:

1. Если вы можете сделать резервную копию с помощью инструмента, я полагаю, вы можете затем загрузить резервную копию? Если это так, вы должны иметь возможность прикрепить эту резервную копию к вашему локальному экземпляру SQL Server…

Ответ №1:

Если

  • она не слишком большая
  • вы имеете дело с проблемами брандмауэра или другой корпоративной ерундой
  • вам нужно делать это только один раз или очень редко

Затем скопируйте и вставьте данные в MS SQL Express с помощью MS SQl Management Studio

Это грубо и чрезвычайно медленно, но это работает. Вы также можете использовать MS Excel в качестве посредника, если вам нужно очистить какие-либо данные…

Теперь мне нужно пойти в душ.

Комментарии:

1. Если кто-то еще хочет отказаться от этого, по крайней мере, проявите мужество и скажите, почему вы это делаете. Я думаю, я ясно дал понять, что это не лучший вариант, но в случаях, когда других вариантов нет, это может быть приемлемым решением. Зачем отклонять фактический ответ и пропускать то, что должно было быть комментарием и ответом, в то время как «правильный способ сделать это» игнорирует подразумеваемые ограничения проблемы?

Ответ №2:

Используйте SQL Server Management Studio (Express) для подключения к удаленной базе данных. Затем вы можете скопировать базу данных.

  • щелкните правой кнопкой мыши исходную базу данных. Задачи-> Копировать базу данных
  • выберите свой метод копирования — SQL MO или detach (в зависимости от того, что вам подходит, учитывая, что «отсоединение» оставит базу данных недоступной в течение короткого периода времени)

В качестве альтернативы, вы могли бы написать сценарий СОЗДАНИЯ всех таблиц, представлений, сохраненных процедур и данных в таблицах.

  • щелкните правой кнопкой мыши исходную базу данных. Задачи -> Генерировать сценарии
  • выберите, какие объекты скриптировать.
  • тщательно выбирайте параметры (только пользователи, логины, индексы, FK и скрипты и / или данные)

Если вы абсолютно не можете использовать / установить SSMS на своем целевом компьютере SQL Server Express, рассмотрите возможность развертывания новой виртуальной машины для разработки (VirtualBox, VMware и т.д.) И установите SSMS.

Комментарии:

1. Обратите внимание, что метод «отсоединения» требует простоя, но он также намного быстрее и надежнее.

2. Я предположил, что он не может подключиться к базе данных, поскольку он подразумевает, что он может подключиться к базе данных только через MyLittleAdmin. Если это не так, то этот метод определенно менее ужасен.

3. К сожалению, я не могу использовать SQL Server Management Studio

4. @magol: почему бы не использовать SSMS? На вашем конечном компьютере запущен SQL Server, поэтому на нем будет работать SSMS. Если это не так, как насчет новой виртуальной машины, на которую вы можете загрузить инструмент? Мой вариант 2 выше будет работать и не требует «репликации», что является совершенно другим подходом. Репликация!= Сценарий SSMS.

5. Я не знаю, почему я не могу использовать SSMS, но служба поддержки веб-отеля говорит, что я не могу. Как виртуальная машина может решить проблему? Я не нахожу никаких сценариев генерации в MyLittleAdmin

Ответ №3:

Я поговорил со службой поддержки, и что мне нужно было сделать, так это настроить SSH-туннель. Тогда я мог бы использовать SQL Server Management Studio как обычно

Ответ №4:

При чем здесь MySQL? Обычно я бы сказал резервное копирование и восстановление, но если у вас есть только доступ MyLittleAdmin, я не уверен, что вы сможете извлечь этот файл.

Возможно, было бы проще просто написать сценарий создания всей схемы и вставки данных.

Несмотря на отрицательный результат, позвольте мне добавить, что я на самом деле недавно сделал это для базы данных прототипа системы, с которой я консультировался, чтобы довести до конца — SQL Server был размещен, и у нас даже был доступ к SSMS. Но мы не смогли создать резервную копию и восстановить, потому что мы не могли добавить устройство резервного копирования на компьютер за пределами службы хостинга или создать резервную копию файла, к которому мы могли бы получить доступ на службе хостинга.