Mam mały problem. Mój przyjaciel ma bazę danych zawierającą ponad 10 tabel, a każda tabela ma ponad 90-100 rekordów.
Nie mogę znaleźć obejścia, aby wyeksportować rekordy (umieścić w pliku SQL coś takiego: INSERT INTO .... VALUES ...
dla każdego istniejącego rekordu) z jego tabel w celu zaimportowania do mojej bazy danych.
Jak to zrobić ?
Próbowałem: kliknij prawym przyciskiem myszy na stole -> Script Table as -> INSERT TO -> File ...
Ale generuje tylko instrukcję INSERT
.
Jest rozwiązanie ? czy ta funkcja jest dostępna tylko w wersji komercyjnej ?
AKTUALIZACJA
Możesz użyć polecenia BCP z wierszem poleceń w ten sposób
Do eksportu: bcp ADatabase.dbo.OneTable out d:\test\OneTable.bcp -c -Usa -Ppassword
Do importu: bcp ADatabase.dbo.OneTable in d:\test\OneTable.bcp -c -Usa -Ppassword
Te polecenia utworzą plik BCP, który zawiera rekordy dla określonej tabeli. Możesz importować przy użyciu istniejącego pliku BCP do innej bazy danych
Jeśli korzystasz ze zdalnej bazy danych, to:
bcp ADatabaseRemote.dbo.OneTableRemote out d:\test\OneTableRemote.bcp -Slocalhost/SQLExpress -Usa -Ppassword
Zamiast localhost/SQLExpress
możesz użyć localhost
lub innej nazwy serwera...
2 odpowiedzi
Prawdopodobnie najprostszym sposobem, aby to zrobić, byłoby uruchomienie instrukcji SELECT, która wyprowadza do pliku. Następnie możesz zaimportować te dane do swojej bazy danych.
W przypadku prostych ruchów wykonałem również ręczne kopiowanie/wklejanie. Czasami lepiej jest użyć programu Excel jako platformy tymczasowej przed wklejeniem go do nowej bazy danych. Może być konieczne utworzenie tabeli tymczasowej w nowej bazie danych, która będzie dokładnie odpowiadać wklejanym danym. Na przykład, zwykle nie umieszczam na początku PK w tabeli tymczasowej i ustawiam pole PK tylko na INT. W ten sposób kopia będzie płynniejsza.
W świecie korporacyjnym do przenoszenia tych danych używa się usług SSIS.
Możesz to zrobić na kilka sposobów. Po pierwsze, wybierz wszystko z każdej tabeli i zapisz wyniki jako plik csv lub rozdzielany (możesz to zrobić ze studia zarządzania sql). Możesz także skryptować tabele, tworząc i kopiując skrypty do nowej bazy danych, zakładając, że jest to również serwer sql. Następnie do importu użyj instrukcji load infile. Być może będziesz musiał wygooglować składnię serwera sql, ale wiem, że to działa w mysql i oracle. jeszcze nie próbowałem tego na serwerze sql.
LOAD DATA INFILE 'myfile'
INTO TABLE stuff
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
SET id = NULL;
Lub jeśli zamierzasz przejść do innego serwera sql, użyj kreatora importu eksportu sql.
http://msdn.microsoft.com/en-us/library/ms141209.aspx
Podobne pytania
Nowe pytania
sql
Structured Query Language (SQL) to język służący do wykonywania zapytań w bazach danych. Pytania powinny zawierać przykłady kodu, strukturę tabeli, przykładowe dane i znacznik używanej implementacji DBMS (np. MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 itp.). Jeśli Twoje pytanie dotyczy wyłącznie konkretnego DBMS (używa określonych rozszerzeń / funkcji), użyj zamiast tego tagu tego DBMS. Odpowiedzi na pytania oznaczone tagiem SQL powinny używać standardu SQL ISO / IEC.