Я знаю, что это не точное решение вопроса, приведенного выше, но для меня это был кошмар, когда я пытался скопировать данные из одной базы данных, расположенной на отдельном сервере, на мой локальный.
Я пытался сделать это, сначала экспортируя данные с сервера на CSV/txt
, а затем импортируя их в мою локальную таблицу.
Оба решения: запись запроса на импорт CSV
или использование мастера SSMS Импорт данных всегда приводили к ошибкам (ошибки были очень общими, что говорило о проблеме синтаксического анализа). И хотя я не делал ничего особенного, просто экспортирую в CSV
, а затем пытаюсь импортировать CSV
на локальный DB
, ошибки всегда были.
Я пытался взглянуть на раздел сопоставления и предварительный просмотр данных, но всегда был большой беспорядок. И я знаю, что основная проблема была связана с одним из table
столбцов, который содержал JSON
, и SQL
синтаксический анализатор обрабатывал это неправильно.
В конце концов, я придумал другое решение и хочу поделиться им на случай, если у кого-то еще возникнет аналогичная проблема.
Что я сделал, так это то, что я использовал Мастер экспорта на внешнем сервере.
Вот шаги, чтобы повторить тот же процесс:
1) Щелкните правой кнопкой мыши базу данных и выберите Tasks -> Export Data...
2) Когда откроется Мастер, выберите Далее и вместо «Источник данных:» выберите «Собственный клиент SQL Server».
![введите здесь описание изображения](https://i.stack.imgur.com/mKn5w.png)
В случае внешнего сервера вам, скорее всего, придется выбрать «Использовать аутентификацию SQL Server» для «Режим аутентификации:».
3) После нажатия Далее вы должны выбрать Разрешить.
Для этого снова выберите «Собственный клиент SQL Server».
На этот раз вы можете указать ваш локальный (или какой-то другой внешний DB
) DB
.
![введите здесь описание изображения](https://i.stack.imgur.com/6axAM.png)
4) После нажатия кнопки «Далее» у вас есть два варианта: скопировать всю таблицу из одной DB
в другую или записать запрос, чтобы указать точные данные для копирования. В моем случае мне нужна была не вся таблица (она была слишком большой), а только ее часть, поэтому я выбрал «Написать запрос, чтобы указать данные для передачи».
![введите здесь описание изображения](https://i.stack.imgur.com/RLKez.png)
Я бы посоветовал записать и протестировать запрос в отдельном редакторе запросов, прежде чем переходить к мастеру.
5) И наконец, вам нужно указать целевую таблицу, в которой будут выбираться данные.
![введите здесь описание изображения](https://i.stack.imgur.com/aAmOc.png)
Я предлагаю оставить его как [dbo].[Query]
или какое-то другое имя Table
на тот случай, если у вас возникнут ошибки при экспорте данных или если вы не уверены в данных и хотите продолжить их анализ, прежде чем переходить к точной таблице, которую вы хотите.
And now go straight to the end of the Wizard by hitting Next/Finish buttons.
person
Arsen Khachaturyan
schedule
06.04.2020
BULK NSERT
или у вас нет на это разрешений). - person Denis   schedule 08.04.2020