Jak zrzucić bazę danych Microsoft SQL Server do skryptu SQL?


124

Czy jest jakiś sposób na eksport bazy danych Microsoft SQL Server do skryptu SQL?

Szukam czegoś, który zachowuje się podobnie do mysqldump, biorąc nazwę bazy danych i tworząc pojedynczy skrypt, który odtworzy wszystkie tabele, procedury składowane, ponownie wstawi wszystkie dane itp.

Widziałem http://vyaskn.tripod.com/code.htm#inserts , ale idealnie chcę, aby coś odtworzyło wszystko (nie tylko dane), co działa w jednym kroku, aby utworzyć ostateczny skrypt.


@Matt Tak, nie eksportuje danych. Właśnie dlatego wspomniałem, że powinieneś połączyć go ze skryptem, który zaproponowałeś. Ta metoda buduje jednak skrypt we właściwej kolejności.
Julio César,

W rzeczywistości w Mangement Studio 2008 wystarczy włączyć opcję „eksportuj dane”, a skrypt będzie zawierał zarówno instrukcje schematu, jak i instrukcje wstawiania.
user24161


@MattSheppard prosimy o zaakceptowanie jednej z odpowiedzi
030

Odpowiedzi:


111

W SQL Server Management Studio kliknij prawym przyciskiem myszy bazę danych i wybierz Zadania / Generuj skrypty. Postępuj zgodnie z instrukcjami kreatora, a otrzymasz skrypt, który odtwarza strukturę danych we właściwej kolejności według kluczy obcych. W kroku kreatora zatytułowanym „Ustaw opcje skryptów” wybierz „Zaawansowane” i zmodyfikuj opcję „Typy danych do skryptu” na „Schemat i dane”

WSKAZÓWKA: W ostatnim kroku wybierz „Skrypt do nowego okna zapytania”, w ten sposób będzie działać znacznie szybciej.


18
Pamiętaj tylko, aby przejść do opcji zaawansowanych i powiedzieć mu, aby wykonał skrypt nie tylko schematu, ale także danych.
RomanSt

2
@romkyns zasługuje na wszystkie głosy! „Typy danych do skryptu” to dokładna nazwa opcji. Będziesz chciał wybrać „Schemat i dane”.
solidau

2
Głównym problemem ze skryptami generowanymi z SSMS jest to, że nie są one odpowiednio uporządkowane, aby uwzględnić zależności. Nie stanowi to problemu w przypadku małych baz danych, w których można to zrobić ręcznie, ale jest to zdecydowanie problem, gdy baza danych zawiera ponad 50 obiektów. Do tej pory z powodzeniem używaliśmy do tego Skryptu ApexSQL . Jest to narzędzie premium, ale można go używać w trybie próbnym, aby wykonać zadanie. Myślę, że Red Gate ma również podobne narzędzie.
David Smithers,

34

Wypróbuj Sql Server Database Publishing Wizard . Może być konieczne ponowne zamówienie skryptu, aby uruchomić go w jednym ujęciu z powodu zależności, ale będzie on zawierał schemat i dane.

Jeśli nie masz zainstalowanych obiektów SQL XMO 2005, podczas uruchamiania kreatora wystąpi błąd . Będziesz potrzebować kolekcji obiektów zarządzania Microsoft SQL Server 2005


5
W rzeczywistości nie trzeba zmieniać kolejności skryptu, ponieważ usuwa wszystkie ograniczenia, tworzy schemat, wstawia dane i, na koniec, ponownie tworzy ograniczenia.
Daniel Silveira

Świetnie, to całkiem miłe
Beep beep

To świetne narzędzie obsługuje jednak tylko SQL Server 2015. Co powiesz na rok 2008 i później?
Nam G VU,



6

Wypróbuj DBSourceTools . Został zaprojektowany do skryptowania źródłowej bazy danych i ponownego wdrażania w docelowej bazie danych. Skryptuje schemat i dane.


6

Zalecane rozwiązanie działa tylko w SQL 2000 i 2005. Jeśli chcesz to zrobić w SQL 2008,

Możesz to zrobić za pomocą SQL 2008 bez żadnych innych wtyczek. Kliknij bazę danych prawym przyciskiem myszy i wybierz „Zadania -> Generuj skrypty ...”. Wybierz bazę danych i kopię zapasową. Kliknij przycisk Dalej i ustaw „Dane skryptu” na „prawda”.

Dalsza dokumentacja pod linkiem:

http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema- procedura-przechowywana-funkcje-wyzwalacze-tabele-widoki-ograniczenia-i-wszystkie-inne-obiekty-bazy danych /



2

SQL Server Database Publishing Wizard wydaje się rzeczywiście najlepszym sposobem na zrobienie tego. Problem polega na tym, że wydaje się, że nie działa w systemie Windows 7. Musiałem użyć starego komputera, aby z niego skorzystać. Z drugiej strony, działa ze starszymi wersjami SQL Server, takimi jak 2000.

W przypadku nowszych wersji SQL i systemów operacyjnych warto sprawdzić to oprogramowanie: http://sqlbackupandftp.com/


0

Ombelt jest dobrym narzędziem do eksportowania baz danych MS SQL Server. www.ombelt.com

podobnie jak inne obiekty zrzutu DB.

Pracuje dla mnie.


0

Sprawdź projekt zrzutu schematu Microsoft SQL Server ( mssql-schema-dumpnarzędzie w GitHub ).

Stosowanie: mssqldump -h data-source-host -u username -p password [-d path/for/files] [-c] [-s] [-a] [-b DB1[,DB2[,DB3]]]

Eksport obsługuje:

  • DB: Schemat, typy użytkowników, typy tabel użytkowników, wyzwalacze, katalogi pełnotekstowe, listy zatrzymania pełnego tekstu, procedury składowane, funkcje
  • DB.Tabele: Schemat, wyzwalacze, indeksy, DRI, statystyki
  • DB.Views: Schemat, wyzwalacze, indeksy, DRI, statystyki
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.