Wiem, że nie jest to dokładne rozwiązanie powyższego pytania, ale dla mnie był to koszmar, gdy próbowałem skopiować dane z jednej bazy danych znajdującej się na oddzielnym serwerze do mojego lokalnego.
Próbowałem to zrobić, najpierw eksportując dane z serwera, CSV/txt
a następnie importując je do mojej tabeli lokalnej.
Oba rozwiązania: zapisanie zapytania w celu zaimportowania CSV
lub użycie kreatora importu danych SSMS zawsze powodowało błędy (błędy były bardzo ogólne, mówiąc, że występuje problem z analizą). I chociaż nie robiłem nic specjalnego, po prostu eksportowałem do, CSV
a następnie próbowałem zaimportować CSV
do lokalnego DB
, błędy zawsze były.
Próbowałem spojrzeć na sekcję mapowania i podgląd danych, ale zawsze był duży bałagan. Wiem, że główny problem pochodził z jednej z table
kolumn, która zawierała JSON
i SQL
parser źle to traktował.
W końcu wymyśliłem inne rozwiązanie i chcę się nim podzielić na wypadek, gdyby ktoś miał podobny problem.
Zrobiłem to, że użyłem Kreatora eksportu na serwerze zewnętrznym.
Oto kroki, aby powtórzyć ten sam proces:
1) Kliknij bazę danych prawym przyciskiem myszy i wybierzTasks -> Export Data...
2) Gdy Kreator się otworzy, wybierz Dalej, a zamiast „Źródło danych:” wybierz „SQL Server Native Client”.
W przypadku zewnętrznego serwera najprawdopodobniej będziesz musiał wybrać „Użyj uwierzytelniania serwera SQL” dla „Trybu uwierzytelnienia:”.
3) Po wciśnięciu Dalej musisz wybrać Miejsce docelowe .
W tym celu wybierz ponownie „SQL Server Native Client”.
Tym razem możesz podać swój lokalny (lub inny zewnętrzny DB
) DB
.
4) Po naciśnięciu przycisku Dalej masz dwie opcje, aby skopiować całą tabelę z jednej DB
do drugiej lub zapisać zapytanie, aby określić dokładne dane do skopiowania. W moim przypadku nie potrzebowałem całej tabeli (była zbyt duża), ale tylko jej część, więc wybrałem „Napisz zapytanie, aby określić dane do przesłania”.
Sugeruję zapisanie i przetestowanie zapytania w osobnym edytorze zapytań przed przejściem do Wizard.
5) I na koniec musisz określić tabelę docelową, w której zostaną wybrane dane.
Sugeruję pozostawić ją jako [dbo].[Query]
lub inną niestandardową Table
nazwę na wypadek, gdyby wystąpiły błędy podczas eksportowania danych lub jeśli nie jesteś pewien danych i chcesz je przeanalizować przed przejściem do dokładnie takiej tabeli, którą chcesz.
A teraz przejdź od razu do końca kreatora, naciskając przyciski Dalej / Zakończ .
BULK NSERT
lub nie masz do nich uprawnień).