Udostępnij za pośrednictwem


How to: Prepare a Mirror Database for Mirroring (Transact-SQL)

lustrzana baza danych muszą istnieć przed rozpoczęciem sesja lustrzana baza danych.Nazwa lustrzana baza danych musi być taka sama jak nazwa główna baza danych.Właściciel bazy danych lub administrator systemu mogą tworzyć lustrzana baza danych przy użyciu ostatniej pełnej kopia zapasowa dziennika główna baza danych oraz co najmniej jeden dziennik kolejnych kopia zapasowa dziennika.Dla dublowanie do pracy, lustrzana baza danych musi pozostać w stanie RESTORING.Dlatego po przywróceniu kopia zapasowa do lustrzana baza danych, należy zawsze używać WITH NORECOVERY dla każdej operacji przywracanie.

Jeśli usunięto dublowanie oraz lustrzana baza danych jest nadal w stanie RECOVERING, można uruchomić ponownie dublowanie.Jednak po pierwsze, co najmniej jednej kopia zapasowa dziennika należy podjąć główna baza danych.Następnie w bazie danych dublowanie należy przywracanie WITH NORECOVERY wszystkich kopii zapasowych dziennika, który pobrano główna baza danych, ponieważ usunięto dublowanie.

Uwaga

Nie można wykonać dublowania wzorzec, msdb, — tymczasowe, or Model bazy danych systemu.

Procedura

Aby utworzyć bazę danych dla dublowanie bazy danych

  1. Make sure that both the principal and mirror server instances have Microsoft SQL Server 2008 installed.

  2. Upewnij się, że baza danych używa model pełnego odzyskiwanie.

    Aby uzyskać więcej informacji zobacz Jak Wyświetl lub zmień modelu odzyskiwanie bazy danych (SQL Server Management Studio) lub sys.Databases (języka Transact-SQL) i ALTER DATABASE języka Transact-SQL).

  3. Kopię zapasową bazy danych głównych wykonać pełną kopię zapasową bazy danych.

    Aby uzyskać więcej informacji zobacz How to: Back Up a Database (SQL Server Management Studio) lub How to: Create a Full Database Backup (Transact-SQL).

    Uwaga

    Alternatywnie można przywracanie istniejącą kopię zapasową pełnego bazy danych i, opcjonalnie, różnicowa bazy danych z kopia zapasowa dziennika, a następnie przy każdym kolejnym kopia zapasowa dziennika.

  4. Upewnij się, że system, w miejscu, w którym zamierzasz utworzyć lustrzana baza danych posiada na dysku z wystarczającą ilością miejsca do przechowywania w bazie danych.

  5. Chyba, że kopia zapasowa znajduje się na dysku sieciowym, jest dostępny z obu systemów, kopia zapasowa bazy danych, do tego systemu.

  6. Aby utworzyć bazę danych dublowania, przywracanie pełnego bazy danych kopia zapasowa na wystąpienie serwer dublowany.przywracanie bazy danych nazwa_bazy_danych instrukcja należy podać WITH NORECOVERY gdzie nazwa_bazy_danych jest nazwą bazy danych, aby być dublowane.

    Uwaga

    Jeżeli przywrócisz grupa plików bazy danych przez grupa plików, należy przywrócić całej bazy danych.

    Firma Microsoft zaleca także, jeśli jest to możliwe, ścieżka lustrzana baza danych (łącznie z literą dysku) być taka sama, jak ścieżka główna baza danych.

    Jeśli układy plik musi się różnić, na przykład, jeżeli główna baza danych znajduje się na dysku "F:" Jednak system dublowania brakuje F: dysk, należy dodać opcję MOVE w instrukcja przywracanie.

    Important noteImportant Note:

    Dodawanie pliku podczas dublowanie sesja bez wpływ na sesja wymaga, czy ścieżka do pliku znajduje się na obu serwerach.W związku z tym po przeniesieniu plików bazy danych podczas tworzenia lustrzana baza danych, później operacji dodawania pliku może się nie powieść z lustrzana baza danych i spowodować dublowanie zawieszenia.Aby uzyskać informacje dotyczące postępowania z operacji nie powiodło się utworzenie pliku Zobacz Troubleshooting Database Mirroring Deployment.

    Aby uzyskać więcej informacji zobacz przywracanie (języka Transact-SQL) i RESTORE Arguments (Transact-SQL).

  7. Zazwyczaj co najmniej jednej kopia zapasowa dziennika musi być główna baza danych, skopiowane na serwer dublowany i przywrócić lustrzana baza danych (przy użyciu WITH NORECOVERY).Jednak proces wykonywania kopii zapasowych dziennika może być konieczne, jeśli utworzony w bazie danych i kopia zapasowa dziennika nie została jeszcze podjęta lub model odzyskiwanie właśnie została zmieniona z SIMPLE na FULL.

    Aby zastosować w dzienniku kopia zapasowa dziennika do lustrzana baza danych, serwer dublowany można użyć albo SQL Server lub Transact-SQL:

  8. Jeśli kopie zapasowe wszelkich dodatkowych dziennika zostały podjęte główna baza danych po wykonaniu kopia zapasowa dziennika dziennika wymagane, należy również skopiować je do serwera lustrzane i każdego z tych kopii zapasowych dziennika bazy danych, dublowania, począwszy od najwcześniejszego i stosowane zawsze przy użyciu NORECOVERY WITH.

Security noteSecurity Note:

Jest TRUSTWORTHY zestaw do OFF, jeśli baza danych jest wykonywana kopia zapasowa.W związku z tym TRUSTWORTHY jest zawsze wyłączona na nową lustrzana baza danych.Jeśli baza danych musi być godna zaufania po trybie awaryjnym, niezbędne są dodatkowe ustawienia.Aby uzyskać więcej informacji zobaczHow to: Set Up a Mirror Database to Use the Trustworthy Property.

Important noteImportant Note:

Jeżeli dublowanie bazy danych zostanie zatrzymana, wszystkie kolejne dziennika kopii zapasowych główna baza danych należy zastosować do lustrzana baza danych przed dublowanie może zostać uruchomiony ponownie.

Example

Przed uruchomieniem dublowanie bazy danych sesja, należy utworzyć bazę danych dublowania.Należy to zrobić, bezpośrednio przed rozpoczęciem sesja dublowanie.

W tym przykładzie użyto AdventureWorks Przykładowa baza danych, który używa proste model odzyskiwanie domyślnie.

  1. Do używania bazy danych dublowanie z AdventureWorks bazy danych, zmodyfikować go za pomocą pełnego model odzyskiwanie:

    USE master;
    GO
    ALTER DATABASE AdventureWorks 
    SET RECOVERY FULL;
    GO
    
  2. Po zmodyfikowaniu model odzyskiwanie bazy danych z SIMPLE do FULL, tworzenie pełna kopia zapasowa, którego można użyć do utworzenia lustrzana baza danych.Ponieważ model odzyskiwanie tuż po zmianie, WITH FORMAT określono opcję, aby utworzyć nowy nośnik.Jest to użyteczne do oddzielenia kopii zapasowych w model pełnego odzyskiwanie z poprzedniej kopii zapasowych, z dokonanych na podstawie modelu odzyskiwanie proste.W celu ich w tym przykładzie kopia zapasowa pliku)C:\AdventureWorks.bak) jest tworzona na tym samym dysku, co baza danych.

    Uwaga

    W produkcyjnej bazie danych należy zawsze tworzyć kopie zapasowe na oddzielne urządzenie.

    Na głównym serwerze wystąpienie (z PARTNERHOST1), utworzenie pełna kopia zapasowa główna baza danych w następujący sposób:

    BACKUP DATABASE AdventureWorks 
        TO DISK = 'C:\AdventureWorks.bak' 
        WITH FORMAT
    GO
    
  3. Skopiować pełna kopia zapasowa serwer dublowany.

  4. przywracanie pełna kopia zapasowa Z NORECOVERY na wystąpienie serwer dublowany.Polecenie przywracanie zależy od tego, czy są takie same, jak ścieżki głównej i dublowania bazy danych.

    • Jeśli ścieżki te są takie same, jak:

      W wystąpieniu serwera dublowania (na PARTNERHOST5), przywracanie pełna kopia zapasowa w następujący sposób:

      RESTORE DATABASE AdventureWorks 
          FROM DISK = 'C:\AdventureWorks.bak' 
          WITH NORECOVERY
      GO
      
    • Jeśli ścieżki te są różne:

      Jeśli ścieżka lustrzana baza danych różni się od ścieżki główna baza danych (na przykład różne ich liter dysków), tworzenie lustrzana baza danych wymaga, aby operacja przywracanie będzie zawierała klauzulę MOVE.

      Important noteImportant Note:

      Jeśli są różne nazwy ścieżka baz danych, kapitał i dublowania, nie można dodać pliku.Dzieje się tak, ponieważ po otrzymaniu dla operacji dodawania pliku dziennika, wystąpienie serwer dublowany próbuje umieścić nowy plik w lokalizacji używanej przez główna baza danych.

      Na przykład następujące polecenie przywraca kopię zapasową główna baza danych, znajdujących się w folderze C:\Program Files\Microsoft SQL Server\MSSQL. n\MSSQL\Data\ do innej lokalizacji, D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Dat a\, gdzie ma się znajdować lustrzana baza danych.

      RESTORE DATABASE AdventureWorks
         FROM DISK='C:\AdventureWorks.bak'
         WITH NORECOVERY, 
            MOVE 'AdventureWorks_Data' TO 
               'D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\AdventureWorks_Data.mdf', 
            MOVE 'AdventureWorks_Log' TO
               'D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\AdventureWorks_Log.ldf';
      GO
      
  5. Po utworzeniu pełnej kopia zapasowa dziennika, należy utworzyć kopię zapasową dziennika główna baza danych.Na przykład następujące Transact-SQL instrukcja wykonuje kopię zapasową dziennika do tego samego pliku używany przez poprzedni pełna kopia zapasowa:

    BACKUP LOG AdventureWorks 
        TO DISK = 'C:\AdventureWorks.bak' 
    GO
    
  6. Przed przystąpieniem do dublowanie, należy zastosować wymagane dziennika kopia zapasowa dziennika (i wszystkich kopii zapasowych dziennika kolejnych).

    Na przykład następujące Transact-SQL Instrukcja przywraca pierwszego dziennika z C:\AdventureWorks.bak:

    RESTORE LOG AdventureWorks 
        FROM DISK = 'C:\AdventureWorks.bak' 
        WITH FILE=1, NORECOVERY
    GO
    
  7. Jeśli kopie zapasowe wszelkich dodatkowych dziennika przed rozpoczęciem dublowanie, należy również przywrócić wszystkich tych kopii zapasowych dziennika w sekwencji, do serwer dublowany, za pomocą NORECOVERY WITH.

    Na przykład następujące Transact-SQL Instrukcja przywraca dwóch dodatkowych dziennikach z C:\AdventureWorks.bak:

    RESTORE LOG AdventureWorks 
        FROM DISK = 'C:\AdventureWorks.bak' 
        WITH FILE=2, NORECOVERY
    GO
    RESTORE LOG AdventureWorks 
        FROM DISK = 'C:\AdventureWorks.bak' 
        WITH FILE=3, NORECOVERY
    GO
    

Na przykład pełną utworzenia lustrzana baza danych wyświetlanie ustawienia zabezpieczeń, przygotowanie lustrzana baza danych, konfigurowanie partnerów oraz dodawanie dowód, zobacz Setting Up Database Mirroring.