Udostępnij za pośrednictwem


Kopiowanie baz danych za pomocą kopii zapasowej i przywracania

Dotyczy:programu SQL Server

W programie SQL Server można utworzyć nową bazę danych, przywracając kopię zapasową bazy danych użytkownika utworzonej przy użyciu programu SQL Server 2005 (9.x) lub nowszej wersji. Nie można jednak przywrócić kopii zapasowych wzorca, modelu oraz msdb, które zostały utworzone przy użyciu wcześniejszej wersji programu SQL Server. Ponadto nie można przywrócić kopii zapasowych programu SQL Server przez dowolną wcześniejszą wersję programu SQL Server.

Ważny

Program SQL Server 2016 używa innej ścieżki domyślnej niż wcześniejsze wersje. W związku z tym, aby przywrócić kopie zapasowe bazy danych utworzonej w domyślnej lokalizacji wcześniejszych wersji, należy użyć opcji MOVE. Aby uzyskać informacje o nowej ścieżce domyślnej, zobacz Lokalizacje plików dla domyślnych i nazwanych wystąpień programu SQL Server. Aby uzyskać więcej informacji na temat przenoszenia plików bazy danych, zobacz "Przenoszenie plików bazy danych", w dalszej części tego tematu.

Ogólne kroki dotyczące używania kopii zapasowej i przywracania do kopiowania bazy danych

Jeśli korzystasz z funkcji kopii zapasowej i przywracania do kopiowania bazy danych do innego wystąpienia programu SQL Server, komputery źródłowe i docelowe mogą być dowolną platformą, na której działa program SQL Server.

Ogólne kroki to:

  1. Wykonaj kopię zapasową źródłowej bazy danych, która może znajdować się w wystąpieniu programu SQL Server 2005 (9.x) lub nowszym. Komputer, na którym jest uruchomione to wystąpienie programu SQL Server, jest komputerem źródłowym .

  2. Na komputerze docelowym, na którym chcesz skopiować bazę danych (), połącz się z instancją programu SQL Server, na której planujesz przywrócić bazę danych. W razie potrzeby na docelowym wystąpieniu serwera należy utworzyć te same urządzenia kopii zapasowej, które były używane do kopii zapasowej baz danych źródłowych .

  3. Przywróć kopię zapasową bazy danych źródłowej na docelowym komputerze . Przywracanie bazy danych automatycznie tworzy wszystkie pliki bazy danych.

Niektóre dodatkowe zagadnienia, które mogą mieć wpływ na ten proces:

Przed przywróceniem plików bazy danych

Przywracanie bazy danych automatycznie tworzy niezbędne pliki bazy danych. Domyślnie pliki utworzone przez program SQL Server podczas procesu przywracania używają tych samych nazw i ścieżek co pliki kopii zapasowej z oryginalnej bazy danych na komputerze źródłowym.

Opcjonalnie podczas przywracania bazy danych można określić mapowanie urządzenia, nazwy plików lub ścieżkę dla przywracającej bazy danych.

Może to być konieczne w następujących sytuacjach:

  • Struktura katalogu lub mapowanie dysków używane przez bazę danych na oryginalnym komputerze nie istnieje na innym komputerze. Na przykład być może kopia zapasowa zawiera plik, który zostanie przywrócony do dysku E domyślnie, ale komputer docelowy nie ma dysku E.

  • Lokalizacja docelowa może mieć za mało miejsca.

  • Ponownie korzystasz z nazwy bazy danych, która istnieje w miejscu docelowym przywracania, a dowolny z jego plików ma nazwę taką samą jak plik bazy danych w zestawie kopii zapasowych. Występuje jedno z następujących:

    • Jeśli istniejący plik bazy danych może zostać zastąpiony, zostanie zastąpiony (nie wpłynie to na plik należący do innej nazwy bazy danych).

    • Jeśli nie można zastąpić istniejącego pliku, wystąpi błąd przywracania.

Aby uniknąć błędów i nieprzyjemnych konsekwencji, przed operacją przywracania można użyć tabeli historii backupfile, aby dowiedzieć się, które bazy danych i pliki dziennika znajdują się w kopii zapasowej, którą planujesz przywrócić.

Przenoszenie plików bazy danych

Jeśli nie można przywrócić plików w ramach kopii zapasowej bazy danych na komputerze docelowym, konieczne jest przeniesienie plików do nowej lokalizacji podczas ich przywracania. Na przykład:

  • Chcesz przywrócić bazę danych z kopii zapasowych utworzonych w domyślnej lokalizacji starszej wersji.

  • Może być konieczne przywrócenie niektórych plików bazy danych w kopii zapasowej na innym dysku ze względu na kwestie związane z pojemnością. Jest to typowe wystąpienie, ponieważ większość komputerów w organizacji nie ma tej samej liczby i rozmiaru dysków ani identycznych konfiguracji oprogramowania.

  • Do celów testowych może być konieczne utworzenie kopii istniejącej bazy danych na tym samym komputerze. W takim przypadku pliki bazy danych dla oryginalnej bazy danych już istnieją, więc różne nazwy plików muszą być określone podczas tworzenia kopii bazy danych podczas operacji przywracania.

Aby uzyskać więcej informacji, zobacz "Aby przywrócić pliki i grupy plików do nowej lokalizacji", w dalszej części tego tematu.

Zmienianie nazwy bazy danych

Nazwę bazy danych można zmienić w miarę przywracania do komputera docelowego bez konieczności wcześniejszego przywracania bazy danych, a następnie ręcznej zmiany nazwy. Na przykład może być konieczne zmianę nazwy bazy danych z Sales na SalesCopy, aby wskazać, że jest to kopia bazy danych.

Nazwa bazy danych jawnie podana podczas przywracania bazy danych jest używana automatycznie jako nowa nazwa bazy danych. Ponieważ nazwa bazy danych jeszcze nie istnieje, zostanie utworzona przy użyciu plików w kopii zapasowej.

Podczas uaktualniania bazy danych przy użyciu funkcji Przywracania

Podczas przywracania kopii zapasowych z wcześniejszej wersji warto wiedzieć z wyprzedzeniem, czy ścieżka (dysk i katalog) każdego z katalogów pełnotekstowych w kopii zapasowej istnieje na komputerze docelowym. Aby wyświetlić listę nazw logicznych i nazw fizycznych, ścieżki i nazwy pliku) każdego pliku w kopii zapasowej, w tym plików katalogu, użyj instrukcji RESTORE FILELISTONLY FROM <backup_device>. Aby uzyskać więcej informacji, zobacz RESTORE FILELISTONLY (Transact-SQL).

Jeśli ta sama ścieżka nie istnieje na komputerze docelowym, masz dwie alternatywy:

  • Utwórz równoważne mapowanie dysku/katalogu na komputerze docelowym.

  • Przenieś pliki wykazu do nowej lokalizacji podczas operacji przywracania przy użyciu klauzuli WITH MOVE w instrukcji RESTORE DATABASE. Aby uzyskać więcej informacji, zobacz RESTORE (Transact-SQL).

Aby uzyskać informacje na temat alternatywnych opcji uaktualniania indeksów pełnotekstowych, zobacz Upgrade Full-Text Search.

Własność bazy danych

Po przywróceniu bazy danych na innym komputerze identyfikator logowania programu SQL Server lub użytkownik systemu Microsoft Windows, który inicjuje operację przywracania, automatycznie staje się właścicielem nowej bazy danych. Po przywróceniu bazy danych administrator systemu lub nowy właściciel bazy danych może zmienić własność bazy danych. Aby zapobiec nieautoryzowanemu przywróceniu bazy danych, użyj haseł nośników lub zestawu kopii zapasowych.

Zarządzanie metadanymi podczas przywracania na inną instancję serwera

W przypadku przywracania bazy danych do innego wystąpienia serwera w celu zapewnienia spójnego środowiska dla użytkowników i aplikacji może być konieczne ponowne utworzenie niektórych lub wszystkich metadanych bazy danych, takich jak identyfikatory logowania i zadania, w innym wystąpieniu serwera. Aby uzyskać więcej informacji, zobacz Zarządzanie metadanymi przy udostępnianiu bazy danych na innym wystąpieniu serwera (SQL Server).

Wyświetlanie danych i plików dziennika w zestawie kopii zapasowych

Przywracanie plików i grup plików do nowej lokalizacji

Przywracanie plików i grup plików w istniejących plikach

Przywracanie bazy danych o nowej nazwie

uruchom ponownie przerwaną operację przywracania

zmienianie właściciela bazy danych

kopiowanie bazy danych przy użyciu obiektów zarządzania programu SQL Server (SMO)

Zobacz też

kopiowanie baz danych na inne serwery
lokalizacje plików dla domyślnych i nazwanych wystąpień programu SQL Server
RESTORE FILELISTONLY (Transact-SQL)
PRZYWRÓĆ (Transact-SQL)