Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server 2016:Przywracanie bazy danych

Podobnie jak w przypadku kopii zapasowych baz danych, w SQL Server 2016 można przywrócić bazę danych za pomocą Transact-SQL, PowerShell lub interfejsu graficznego SQL Server Management Studio.

Tutaj zademonstruję, jak przywrócić bazę danych za pomocą graficznego interfejsu użytkownika systemu zarządzania serwerem SQL, a następnie za pomocą języka Transact-SQL.

Przywróć bazę danych za pomocą GUI

W tym przykładzie przywrócimy kopię zapasową zupełnie nowej bazy danych o nazwie WideWorldImporters .

WideWorldImporterzy baza danych to przykładowa baza danych udostępniona przez zespół SQL Server firmy Microsoft w celu zademonstrowania, w jaki sposób funkcje SQL Server można wykorzystać w rzeczywistym scenariuszu.

Ten proces utworzy nową bazę danych o nazwie WideWorldImporters . Baza danych będzie zawierać różne obiekty (takie jak tabele, widoki, procedury składowane itp.). Zawiera również przykładowe dane, więc nie ma potrzeby dodawania własnych.

Pobierz plik kopii zapasowej bazy danych

Zanim zaczniesz, pobierz bazę danych (z GitHub).

  • Pobierz WideWorldImporters-Full.bak pliku, jeśli używasz wersji Evaluation, Developer lub Enterprise Edition programu SQL Server.
  • Lub pobierz plik WideWorldImporters-Standard.bak plik, jeśli używasz SQL Server Standard Edition.
  1. Uruchom Przywróć bazę danych Okno dialogowe

    W Eksploratorze obiektów kliknij prawym przyciskiem myszy Bazy danych i wybierz Przywróć bazę danych... z menu kontekstowego.

  2. Wybierz plik kopii zapasowej

    Pod Źródłem nagłówek, wybierz Urządzenie i kliknij przycisk wielokropka ( ... ), aby uruchomić Wybierz urządzenia do tworzenia kopii zapasowych okno dialogowe.

  3. Wybierz plik kopii zapasowej

    Zapewnienie, że Plik jest zaznaczone, kliknij Dodaj aby przejść do pliku bazy danych .bak i dodać go.

    Po dodaniu pliku kopii zapasowej i wyświetleniu go w sekcji Nośnik kopii zapasowej: , kliknij OK aby wyjść z tego okna dialogowego.

  4. Sprawdź ustawienia

    Różne pola w Przywróć bazę danych okno dialogowe zostanie wypełnione na podstawie wybranego pliku kopii zapasowej.

    Kliknij OK aby przywrócić bazę danych.

    Możesz (opcjonalnie) kliknąć Zweryfikuj nośnik kopii zapasowej aby sprawdzić, czy nie ma problemów z plikiem kopii zapasowej przed uruchomieniem procesu przywracania.

  5. Wiadomość o powodzeniu

    Otrzymasz wiadomość informującą, że baza danych została pomyślnie przywrócona.

    Kliknij OK do końca.

  6. Sprawdź bazę danych

    Przejdź do WideWorldImporters bazy danych i rozwiń jej węzły, aby przejrzeć różne obiekty, takie jak tabele, widoki, procedury składowane itp.

    Możesz od razu rozpocząć pracę z tą bazą danych. Na przykład uruchomienie SELECT * FROM Website.Suppliers; zwróci listę dostawców za pomocą Website.Suppliers widok.

Przywracanie bazy danych przy użyciu języka Transact-SQL

  • Możesz wykonać to samo przywracanie bazy danych, jak powyżej, używając SQL.

    Aby to zrobić, otwórz nowe okno zapytania i wykonaj RESTORE oświadczenie.

    RESTORE Instrukcja akceptuje różne opcje (podobnie jak opcja GUI), ale możesz również uruchomić proste przywracanie z minimalną ilością kodu.

    Przykładowy kod

    Poniżej znajduje się przykład prostego skryptu przywracania, który określa plik bazy danych do przywrócenia oraz docelową bazę danych.

    Określa również, gdzie będą znajdować się pliki danych i dzienników.

    Po uruchomieniu tego kodu WideWorldImporters baza danych zostanie utworzona.

    Najpierw usuń istniejącą bazę danych, uruchamiając następujący kod:

    USE master;
    DROP DATABASE WideWorldImporters;

    Możesz także usunąć bazę danych za pomocą Eksploratora obiektów, klikając prawym przyciskiem myszy nazwę bazy danych i wybierając Usuń z menu kontekstowego.

    Teraz sprawdź, czy baza danych nie jest już wyświetlana w Eksploratorze obiektów. Być może będziesz musiał kliknąć prawym przyciskiem myszy Bazy danych i kliknij Odśwież zanim zniknie.

    Po upewnieniu się, że baza danych już nie istnieje na Twoim serwerze, uruchom następujący skrypt, aby ją przywrócić:

    USE master;
    RESTORE DATABASE WideWorldImporters  
    FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\WideWorldImporters-Full.bak'   
    WITH    
        MOVE N'WWI_Primary' 
            TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters.mdf',    
        MOVE N'WWI_UserData' 
            TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters_UserData.ndf',    
        MOVE N'WWI_Log' 
            TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters.ldf',    
        MOVE N'WWI_InMemory_Data_1' 
            TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters_InMemory_Data_1';

    Wyświetl komunikat o postępie

    Możesz użyć STATS opcja otrzymywania aktualizacji o postępie procesu przywracania.

    Na przykład STATS=10 spowoduje przetworzenie 10 procent , 20 procent przetworzonych , itp. podczas przywracania bazy danych.

    Możesz zobaczyć pełną składnię RESTORE oświadczenie na stronie Microsoft.

Możesz teraz korzystać z tej bazy danych, aby wypróbować różne rzeczy. Zapraszam do eksperymentowania z tym. Przeszukuj dane, usuwaj dane, upuszczaj obiekty, cokolwiek. W końcu, jeśli całkowicie to zepsujesz, zawsze możesz przywrócić bazę danych z pliku kopii zapasowej.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak tworzyć historię LUB widoki audytu z tabel zmiany przechwytywania danych (CDC) w programie SQL Server — samouczek dotyczący programu SQL Server

  2. Jak utworzyć ograniczenie sprawdzania wielu tabel?

  3. Jak zapobiegać atakom typu SQL Injection przez bezpieczne?

  4. Wzrost rozmiaru bazy danych SQL Server przy użyciu historii kopii zapasowych

  5. Automatyzacja zadań tworzenia kopii zapasowych i konserwacji za pomocą planu konserwacji w SQL Server