Какой самый простой способ переноса таблиц между базами данных MSSQL без сетевого подключения? - PullRequest
4 голосов
/ 23 декабря 2008

У меня есть небольшое приложение / сайт на сервере разработчиков с таблицей данных в SQL Server [varchar (40), varchar (40), varchar (MAX)]. Я хочу взять таблицу данных и отправить ее на действующий сервер. Я пробовал экспортировать в txt, Excel и Access, но каждый раз при импорте возникает ошибка, связанная с невозможностью анализа из-за данных в поле varchar (MAX) или преобразования Unicode в не-Unicode из Access.

Мне кажется, что я не вижу здесь хорошего решения. Это не должно быть автоматизировано в данный момент. Я считаю, что есть способы переноса таблиц между базами данных, подключенными через сеть / интернет, но наша живая база данных недоступна в нашем офисе. Я использовал экспорт данных в MySQL, прежде чем он создает сценарий для запуска в другой базе данных для вставки всех записей данных, но я не верю, что он доступен в MSSQL.

Есть предложения?

Ответы [ 4 ]

4 голосов
/ 23 декабря 2008

Я использовал экспорт данных в MySQL до этого создает скрипт для запуска другая база данных для вставки всех данных записи, но я не верю, что это доступно в MSSQL.

Aha! Вы можете сделать это в Microsoft SQL, в основном. Существует малоизвестная утилита Microsoft, «Мастер публикации баз данных SQL Server», которая делает то, о чем вы говорите.

http://www.microsoft.com/downloads/details.aspx?familyid=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=en

Почему это не стандартная часть SQL Server, я понятия не имею.

4 голосов
/ 23 декабря 2008

Вы можете использовать функции резервного копирования и восстановления на сервере sql ( подробности здесь )

Если вы хотите ограничить резервное копирование одной таблицей (например, потому что база данных слишком велика), вы можете поместить вашу таблицу в отдельную файловую группу и использовать функцию резервного копирования на сервере sql в этой файловой группе.

Если вы не знаете, что такое файловая группа, вы найдете некоторую информацию здесь

2 голосов
/ 23 декабря 2008

Я бы скопировал его в нативный формат, а затем снова скопировал. Это из памяти, но синтаксис выглядит примерно так:

BCP MyTable OUT MyTable.dat -n -Usqlusername -Psqlpassword -Ssqlservername

и затем вернуть его снова.

BCP MyTable IN MyTable.dat -n -Usqlusername -Psqlpassword -Ssqlservername

1 голос
/ 23 декабря 2008

Вы можете использовать такой инструмент, как EMS . Он сгенерирует для вас сценарий SQL, включая создание базы данных и, если потребуется, вставку данных.

Обновите имя базы данных, если необходимо, сохраните сценарий, перенесите его на новый сервер и выполните его. Вы сделали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...