zdalne kopie zapasowe SQL są skomplikowane. Wyjaśnimy dlaczego i pokażemy wszystkie dostępne opcje tworzenia kopii zapasowych.
Remote SQL Server to serwer, na którym masz ograniczony dostęp do systemu plików serwera, jak w współdzielonym środowisku hostingu.
Local SQL Server to serwer, na którym masz pełny dostęp do systemu plików, taki jak serwer lokalny, do którego możesz fizycznie uzyskać dostęp lub serwer dedykowany/wirtualny, nad którym masz pełną kontrolę.
jaki jest problem ze zdalnymi kopiami zapasowymi serwera SQL?
głównym problemem ze zdalnymi serwerami SQL jest to, że można uruchamiać skrypty SQL, w tym polecenie kopii zapasowej bazy danych, ale dostęp do wynikowego *.plik bak jest problematyczny. *.plik bak jest umieszczony gdzieś na dysku lokalnym serwera SQL. A jeśli nie masz dostępu do tej lokalizacji, nie możesz skopiować pliku kopii zapasowej do dalszego przetwarzania, takiego jak kompresja, szyfrowanie, przechowywanie itp. (więcej szczegółów na temat automatyzacji tworzenia kopii zapasowych SQL) następnie opcje są ograniczone do tworzenia pliku skryptu.
BAK (*.bak) plik vs skrypt (*.sql) plik dla kopii zapasowych serwera SQL
pliki BAK są kopie zapasowe utworzone za pomocą standardowego polecenia bazy danych kopii zapasowych firmy Microsoft (lub za pośrednictwem SSMS lub SQLBackupAndFTP). Zwykle dostają *.rozszerzenie bak. Jeśli masz możliwość utworzenia*.pliki bak-zawsze wolą go od alternatyw, ponieważ pozwala na przechowywanie nie tylko pełnych, ale i różnicowych kopii zapasowych dziennika transakcji. A format jest najbardziej powszechny i nie jest zastrzeżony dla żadnej strony trzeciej. Możesz przywrócić z (*.bak) plik za pomocą standardowego polecenia RESTORE DATABASE i wielu narzędzi innych firm.
skrypt (*.plik sql) jest w zasadzie zestawem poleceń SQL, które ponownie tworzą obiekty bazy danych i wstawiają dane do tabel. Zaletą korzystania z pliku skryptu jest to, że większość środowisk hostingowych pozwala przesyłać pliki skryptów i uruchamiać je za pomocą Panelu sterowania administracyjnego hostingu. Następnie możesz przywrócić bazę danych bez konieczności instalowania lub konfigurowania przez hostera.
Jednak Skrypt (*.SQL) metoda ma następujące ograniczenia:
- generowanie skryptu zajmuje znacznie więcej czasu niż tworzenie standardowej kopii zapasowej SQL Server typu BAK
- taki skrypt zajmuje więcej miejsca, ponieważ jest tekstową (nie binarną) reprezentacją Twojej bazy danych, chociaż jest znacznie bardziej skompresowalny niż kopia zapasowa binarna.
- przywrócenie bazy danych ze skryptu zajmuje więcej czasu, ponieważ ze zwykłej kopii zapasowej
- w przeciwieństwie do standardowych kopii zapasowych, skrypty nie zawierają informacji dziennika transakcji, więc nie można zastosować odzyskiwania punkt w czasie
- Skrypty nie zawsze uwzględniają zależności, więc możesz napotkać problemy podczas odtwarzania bazy danych
lokalne kopie zapasowe serwera SQL
lokalna kopia zapasowa serwera SQL jest dobrze udokumentowana i nie będziemy tutaj wdawać się w szczegóły. Zasadniczo uruchamiasz polecenie BACKUP DATABASE, używasz SQL Server Management Studio lub narzędzi innych firm. To tworzy *.plik bak w lokalnym systemie plików serwera. Następnie zwykle kompresujesz plik, szyfrujesz go, przesyłasz na dysk sieciowy, FTP lub chmurę itp. Możesz zbudować własne skrypty, aby to zrobić lub uzyskać to wszystko w produkcie takim jak SQLBackupAndFTP.
zdalne kopie zapasowe serwera SQL do*.plik bak na akcji sieciowej
jeśli twój zdalny serwer SQL znajduje się w tej samej sieci co ty i oba SQL server i masz dostęp do tego samego udziału sieciowego (np.:
BACKUP bazy danych dbname TO DISK = N ’ \\servername\path\dbname.BAK ’
i z własnego komputera będziesz mógł uzyskać dostęp do tej samej lokalizacji, weź *.bak plik i zrobić, co chcesz z nim.
możesz napisać własne skrypty, aby je zautomatyzować lub wykonać kopię zapasową sieciowego serwera SQL za pomocą SQLBackupAndFTP.
zaletą tworzenia kopii zapasowych na UNC path jest to, że otrzymujesz kopię zapasową w tym samym pożądanym *.format bak. Minusem jest w zasadzie konieczność poprawnej konfiguracji praw dostępu. Odwiedź link powyżej, aby uzyskać szczegółowe informacje na temat uprawnień.
zdalne kopie zapasowe serwera SQL na skrypcie (*.SQL) Plik
wygenerowany skrypt serwera SQL (*.plik kopii zapasowej SQL) zawiera informacje, które są niezbędne do odtworzenia bazy danych na zdalnym komputerze. Skrypt zawiera polecenia do ponownego tworzenia schematu bazy danych (tabele, widoki, procedury składowane, wyzwalacze, katalogi pełnotekstowe, role, reguły itp.) i danych. Masz kilka opcji do wygenerowania skryptu (*.SQL) Plik kopii zapasowej
Skryptowanie bazy danych za pomocą SqlBackupAndFtp
jest to zdecydowanie najprostsza metoda tworzenia kopii zapasowych zdalnych baz danych. Wystarczy wybrać „Remote SQL Server” jako typ serwera ustawić poświadczenia logowania:
następnie skonfiguruj kompresję, szyfrowanie, gdzie wysyłać kopie zapasowe i gdzie wysyłać powiadomienia e-mail. Zobacz więcej szczegółów w jak wykonać kopię zapasową zdalnej bazy danych SQL Server za pomocą SQLBackupAndFTP
Skryptowanie bazy danych za pomocą SQL Server Management Studio (SSMS)
należy pamiętać, że działa to jako „kopia zapasowa” ad hoc, ale nie można zaplanować skryptów SSMS. Aby wygenerować skrypt bazy danych z SSMS:
- Otwórz swój SSMS
- Połącz się ze zdalnym serwerem SQL
- kliknij prawym przyciskiem myszy bazę danych, którą chcesz wykonać i wybierz zadania-> Generuj Skrypty. Spowoduje to otwarcie Kreatora
- Hit Next na ekranie wprowadzania
- pozostaw zaznaczone domyślne „script whole database and database objects” I hit Next
- kliknij przycisk Advanced i zmień „typy danych na skrypt” z „tylko schemat” na „schemat i dane”. Naciśnij OK
- wybierz opcję „Zapisz do nowego okna zapytania” i naciśnij Dalej, Dalej i zakończ
skopiuj skrypt do lokalnego pliku i przechowuj lub uruchamiaj w dowolnym miejscu.
inne opcje dla zdalnej kopii zapasowej serwera SQL
jeśli użycie słowa ” kopia zapasowa „w odniesieniu do skryptów było dość rozciągliwe, opcje omówione w tej sekcji są jeszcze bardziej od tego, co jest uważane za”kopię zapasową bazy danych”. Mimo to pozwala na uzyskanie kopii danych, dlatego przejrzymy również te opcje
przenoszenie danych za pomocą Kreatora importu i eksportu SQL Server w SSMS
możesz użyć Kreatora importu i eksportu SQL Server, aby skopiować dane ze zdalnego serwera SQL na lokalny serwer SQL. Zauważ, że nie skopiuje wszystkich obiektów bazy danych, a tylko dane. Nie wyobrażamy sobie używania go jako głównej metody tworzenia kopii zapasowych. W każdym razie tutaj instrukcje:
- Otwórz swój SSMS
- Połącz się z lokalnym serwerem SQL
- kliknij prawym przyciskiem myszy bazę danych, w której chcesz przywrócić kopie zapasowe, i wybierz zadania-> Importuj dane. Spowoduje to otwarcie Kreatora
- Wybierz „SQL Server Native Client” jako źródło danych i zdalny SQL server jako nazwę serwera.
- wybierz bazę danych, z której chcesz skopiować dane. Następny.
- Wybierz „SQL Server Native Client” jako źródło danych, a lokalny SQL server jako nazwę serwera.
- wybierz bazę danych, do której chcesz skopiować dane. Następny.
- wybierz tabele do skopiowania. Next, Next, Finish