Jak wykonać kopię zapasową na poziomie tabeli (zrzut) w MS SQL Server 2005/2008?
sql-server
backup
database-table
user82431
źródło
źródło
Odpowiedzi:
Nie można użyć
BACKUP DATABASE
polecenia do wykonania kopii zapasowej pojedynczej tabeli, chyba że oczywiście dana tabela jest przydzielona do jej własnejFILEGROUP
.Zgodnie z sugestią możesz wyeksportować dane tabeli do pliku CSV. Teraz, aby uzyskać definicję swojej tabeli, możesz „wykreślić”
CREATE TABLE
skrypt.Możesz to zrobić w SQL Server Management Studio przez:
Następnie możesz wybrać tabelę, którą chcesz skrypty, a także dołączyć wszelkie powiązane obiekty, takie jak ograniczenia i indeksy.
aby uzyskać dostęp do samego
DATA
tylkoschema
, musisz wybraćAdvanced
na karcie ustawianie opcji skryptów, awGENERAL
sekcji ustawićTypes of data to script
zaznaczSchema and Data
Mam nadzieję, że to pomoże, ale jeśli potrzebujesz dalszej pomocy, skontaktuj się ze mną bezpośrednio.
źródło
Advanced
na karcie ustawianie opcji skryptów, aw sekcji OGÓLNE ustawićTypes of data to script
wybórSchema and Data
. Nie było to oczywiste, kiedy zrobiłem to po raz pierwszy.Używam narzędzia do kopiowania zbiorczego, aby tworzyć kopie zapasowe na poziomie tabeli
eksportować:
bcp.exe "select * from [MyDatabase].dbo.Customer " queryout "Customer.bcp" -N -S localhost -T -E
importować:
jak widać, można eksportować na podstawie dowolnego zapytania, dzięki czemu można nawet tworzyć przyrostowe kopie zapasowe. Ponadto jest skryptowalny w przeciwieństwie do innych wymienionych tutaj metod, które używają SSMS.
źródło
Oto kroki, których potrzebujesz. Krok 5 jest ważny, jeśli chcesz danych. Krok 2 to miejsce, w którym możesz wybrać poszczególne tabele.
Wersja stosu EDIT nie jest do końca czytelna ... oto obraz w pełnym rozmiarze http://i.imgur.com/y6ZCL.jpg
źródło
Możesz uruchomić poniższe zapytanie, aby wykonać kopię zapasową istniejącej tabeli, która utworzy nową tabelę z istniejącą strukturą starej tabeli wraz z danymi.
select * into newtablename from oldtablename
Aby skopiować tylko strukturę tabeli, użyj poniższego zapytania.
select * into newtablename from oldtablename where 1 = 2
źródło
Jest to podobne do rozwiązania qntmfred , ale z wykorzystaniem bezpośredniego zrzutu tabeli. Ta opcja jest nieco szybsza (zobacz dokumentację BCP ):
eksportować:
importować:
źródło
Jeśli szukasz czegoś takiego jak MySQL
DUMP
, to dobra wiadomość: SQL Server 2008 Management Studio dodał tę możliwość.W programie SSMS kliknij prawym przyciskiem myszy odpowiednią bazę danych i wybierz opcję Zadania> Generuj skrypty . Następnie na drugiej stronie kreatora opcji upewnij się, że zaznaczasz, że chcesz, aby dane również były skrypty , a wygeneruje on
DUMP
dla Ciebie plik.źródło
Utwórz nową grupę plików, umieść w niej tę tabelę i wykonaj kopię zapasową tylko tej grupy plików.
źródło
Możesz skorzystać z bezpłatnego Kreatora publikowania bazy danych firmy Microsoft, aby wygenerować pliki tekstowe ze skryptami SQL (UTWÓRZ TABELĘ i WSTAWIĆ DO).
Możesz utworzyć taki plik dla pojedynczej tabeli i „przywrócić” całą tabelę, w tym dane, po prostu uruchamiając skrypt SQL.
źródło
Nie wiem, czy będzie pasować do opisanego tutaj problemu. Musiałem wziąć przyrostową kopię zapasową tabeli! (Należy kopiować tylko nowo wstawione dane). Kiedyś projektowałem pakiet DTS, w którym.
Pobrałem nowe rekordy (na podstawie kolumny „status”) i przesłałem dane do celu. (Poprzez „Zadanie przekształcania danych”)
Potem właśnie zaktualizowałem kolumnę „status”. (Poprzez „Wykonaj zadanie SQL”)
Musiałem poprawnie naprawić „przepływ pracy”.
źródło
Użyj Kreatora importu i eksportu programu SQL Server.
źródło
Od: Przegląd kopii zapasowych (SQL Server)
źródło
Prawdopodobnie masz dwie opcje, ponieważ SQL Server nie obsługuje kopii zapasowych tabel. Oba rozpoczęłyby się od skryptu tworzenia tabeli. Następnie możesz użyć opcji Script Table - INSERT, która wygeneruje wiele instrukcji wstawiania, lub możesz użyć usług integracji (DTS z 2000) lub podobnych, aby wyeksportować dane jako CSV lub podobny.
źródło
BMC Recovery Manager (dawniej znany jako SQLBacktrack) umożliwia odzyskiwanie pojedynczych obiektów w bazie danych (zwanych również tabelami) do określonego punktu w czasie. To nie jest tanie, ale wykonuje fantastyczną pracę: http://www.bmc.com/products/proddocview/0,2832,19052_19429_70025639_147752,00.html
http://www.bmc.com/products/proddocview/0,2832,19052_19429_67883151_147636,00.html
źródło
Jeśli szukasz możliwości przywrócenia tabeli po tym, jak ktoś omyłkowo usunął z niej wiersze, możesz rzucić okiem na migawki bazy danych. Możesz dość łatwo przywrócić tabelę (lub podzbiór wierszy) z migawki. Zobacz http://msdn.microsoft.com/en-us/library/ms175158.aspx
źródło
Bezpłatna aplikacja o nazwie SqlTableZip wykona zadanie. Zasadniczo piszesz dowolne zapytanie (które oczywiście może być również [wybierz * z tabeli]), a aplikacja tworzy skompresowany plik ze wszystkimi danymi, który można później przywrócić.
Link: http://www.doccolabs.com/products_sqltablezip.html
źródło
Handy Backup automatycznie tworzy pliki zrzutu z MS SQL Server, w tym MSSQL 2005/2008. Te zrzuty są plikami binarnymi na poziomie tabeli, zawierającymi dokładne kopie określonej zawartości bazy danych.
Aby wykonać prosty zrzut za pomocą Handy Backup, wykonaj następną instrukcję:
Teraz uruchom nowe zadanie, klikając ikonę przed jego nazwą lub poczekaj na zaplanowany czas. Handy Backup automatycznie utworzy zrzut dla Twojej bazy danych. Następnie otwórz miejsce docelowe kopii zapasowych. Znajdziesz folder (lub kilka folderów) z kopiami zapasowymi MS SQL. Każdy taki folder będzie zawierał plik zrzutu na poziomie tabeli, składający się z niektórych tabel binarnych i ustawień skompresowanych w jednym pliku ZIP.
Inne bazy danych
Handy Backup może zapisywać zrzuty dla MySQL, MariaDB, PostgreSQL, Oracle, IBM DB2, Lotus Notes i dowolnej ogólnej bazy danych SQL ze sterownikiem ODBC. Niektóre z tych baz danych wymagają dodatkowych kroków w celu ustanowienia połączenia między DBMS a Handy Backup.
Narzędzia opisane powyżej często zrzucają bazy danych SQL jako sekwencję poleceń SQL na poziomie tabeli, przygotowując te pliki do wszelkich potrzebnych ręcznych modyfikacji.
źródło