Migrowanie baz danych przy użyciu natywnej kopii zapasowej i przywracania
Wielu specjalistów ds. programu SQL Server rozważa migrację przy użyciu procesu tworzenia kopii zapasowych i przywracania, aby być najprostszą metodą migracji.
Usługa Microsoft Azure Blob Storage obsługuje dwa typy obiektów blob: blokowe i stronicowe obiekty blob. W przypadku programu SQL Server 2016 i nowszych wersji preferowane są blokowe obiekty blob. Wybór między blokowymi i stronicowymi obiektami blob zależy od typu używanych poświadczeń — sygnatura dostępu współdzielonego dla blokowych obiektów blob i klucza magazynu dla stronicowego obiektu blob.
Tworzenie kopii zapasowych blokowych obiektów blob oferuje zalety, takie jak bezpieczniejsza autoryzacja, zwiększona wydajność tworzenia kopii zapasowych i obsługa większych kopii zapasowych baz danych w porównaniu ze stronicowym obiektem blob.
Jeśli zdecydujesz się wykonać pełną kopię zapasową bazy danych do pliku, możesz przenieść lokalne pliki kopii zapasowej na maszynę wirtualną platformy Azure za pośrednictwem usługi Azure Data Explorer lub narzędzia wiersza polecenia AzCopy.
Tworzenie kopii zapasowych i przywracanie za pomocą usługi Azure Blob Storage w programie SQL Server
Tworzenie kopii zapasowej adresu URL wymaga konta usługi Azure Storage i korzysta z usługi Azure Blob Storage. Na koncie magazynu znajdują się kontenery, a obiekty blob są tam przechowywane. W przeciwieństwie do ścieżki na dysku lokalnym ścieżka do pliku kopii zapasowej wygląda mniej więcej tak: https://{AccountName}.blob.core.windows.net/{ContainerName}/MyDatabase.bak
. Możesz dodać dodatkowe nazwy folderów w kontenerze, aby ułatwić identyfikację kopii zapasowych (na przykład PEŁNY, DIFF, LOG).
Aby utworzyć kopię zapasową adresu URL lub przywrócić go z adresu URL, należy ustanowić uwierzytelnianie między wystąpieniem programu SQL Server a platformą Azure. Pamiętaj, że wewnątrz maszyny wirtualnej platformy Azure program SQL Server nie wie, że działa na platformie Azure.
Podczas tworzenia poświadczeń programu SQL Server dostępne są dwie opcje uwierzytelniania:
- Nazwa konta usługi Azure Storage i klucz dostępu, który przechowuje kopię zapasową jako stronicowy obiekt blob
- Sygnatura dostępu współdzielonego, która przechowuje kopię zapasową jako blokowy obiekt blob. W przypadku większych baz danych można utworzyć kopię zapasową wielu blokowych obiektów blob.
Napiwek
Skompresowane kopie zapasowe baz danych są zalecane w przypadku większych baz danych.
Przywracanie z adresu URL jest tak proste, jak przywracanie z dysku lub udziału sieciowego. W programie SQL Server Management Studio wybierz pozycję Adres URL z typu nośnika kopii zapasowej w Kreatorze. Jeśli używasz języka Transact-SQL, zamiast używać FROM DISK
polecenia FROM URL
, użyj polecenia z odpowiednią lokalizacją i nazwami plików kopii zapasowych.
Uwaga
Zestawy kopii zapasowych rozłożonych są obsługiwane i są zalecane w celu uzyskania wydajności. Ponadto usuń kopie zapasowe, jeśli są mniejsze niż 200 GB, aby uniknąć limitu bloków.
Uruchom następującą instrukcję, aby utworzyć kopię zapasową dziennika transakcji.
BACKUP LOG contoso
TO URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso202003271200.trn'
Uruchom następującą instrukcję, aby przywrócić pełną kopię zapasową bazy danych bez jej odzyskania, aby można było zastosować różnicowe kopie zapasowe dziennika transakcji.
RESTORE DATABASE contoso
FROM URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso20200327.bak'
WITH NORECOVERY