Przywracanie bazy danych z programu SQL Server 2022 do wystąpienia zarządzanego usługi Azure SQL
Dotyczy: Azure SQL Managed Instance
W tym artykule opisano sposób przywracania kopii zapasowej bazy danych z usługi Azure SQL Managed Instance do programu SQL Server 2022.
Omówienie
Wyrównanie formatu bazy danych między usługą SQL Managed Instance i programem SQL Server 2022 umożliwia łatwe kopiowanie lub przenoszenie baz danych z wystąpienia zarządzanego do wersji Enterprise, Developer lub Standard programu SQL Server 2022 hostowanej lokalnie na maszynach wirtualnych na platformie Azure lub w innych chmurach.
Przywracanie baz danych z wystąpień zarządzanych do wystąpień programu SQL Server 2022 umożliwia odblokowanie następujących scenariuszy:
- Zapewnia mobilność bazy danych między usługą SQL Managed Instance i produktami opartymi na programie SQL Server.
- Udostępnia kopie bazy danych klientom i innym uprawnionym stronom.
- Odświeża środowiska poza usługą SQL Managed Instance.
Możliwość przywracania pełnych kopii zapasowych baz danych z usługi SQL Managed Instance do programu SQL Server 2022 jest domyślnie dostępna we wszystkich istniejących i wszystkich nowych wdrożonych wystąpieniach.
Ważne
Możliwość przywracania pełnych kopii zapasowych baz danych z usługi SQL Managed Instance do programu SQL Server 2022 będzie dostępna do końca podstawowej obsługi programu SQL Server 2022.
Tworzenie kopii zapasowej w usłudze SQL Managed Instance
Najpierw utwórz poświadczenie, aby uzyskać dostęp do konta magazynu z wystąpienia, utwórz kopię zapasową tylko do kopiowania bazy danych, a następnie zapisz ją.
Poświadczenia można utworzyć przy użyciu tożsamości zarządzanej lub tokenu sygnatury dostępu współdzielonego (SAS).
Tożsamość zarządzana to funkcja identyfikatora entra firmy Microsoft (dawniej Azure Active Directory), która udostępnia wystąpienia usług platformy Azure, takich jak Azure SQL Managed Instance, z automatycznie zarządzaną tożsamością w usłudze Microsoft Entra ID, tożsamością zarządzaną przypisaną przez system.
Ta tożsamość umożliwia autoryzowanie żądań dostępu do danych w innych zasobach platformy Azure, takich jak konta magazynu. Usługi, takie jak Azure SQL Managed Instance, mają przypisaną przez system tożsamość zarządzaną, a także mogą mieć co najmniej jedną tożsamość zarządzaną przypisaną przez użytkownika. Do autoryzowania żądań można używać tożsamości zarządzanych przypisanych przez system lub tożsamości zarządzanych przypisanych przez użytkownika.
Zanim administrator usługi Azure Storage zapisze plik kopii zapasowej na koncie magazynu, musi udzielić uprawnień do tożsamości zarządzanej w celu zapisania danych. Udzielanie uprawnień tożsamości zarządzanej wystąpienia odbywa się w taki sam sposób, jak przyznawanie uprawnień do dowolnego innego użytkownika firmy Microsoft Entra. Na przykład:
W witrynie Azure Portal w okienku Kontrola dostępu (zarządzanie dostępem i tożsamościami) konta magazynu wybierz pozycję Dodaj przypisanie roli.
Wybierz wbudowaną rolę kontroli dostępu na podstawie ról (RBAC) wbudowanej roli Współautor danych obiektu blob usługi Storage. Zapewni to dostęp do odczytu/zapisu dla tożsamości zarządzanej w przypadku niezbędnych kontenerów usługi Azure Blob Storage.
Zamiast udzielać tożsamości zarządzanej roli RBAC współautora danych obiektu blob usługi Storage, możesz udzielić bardziej szczegółowych uprawnień. Aby dowiedzieć się więcej, zobacz Ustawianie list ACL w usłudze Azure Data Lake Storage Gen2.
Na następnej stronie w polu Przypisz dostęp do wybierz pozycję Tożsamość zarządzana.
Wybierz pozycję Wybierz członków , a następnie z listy rozwijanej Tożsamość zarządzana wybierz odpowiednią tożsamość zarządzaną. Aby uzyskać więcej informacji, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.
Teraz tworzenie poświadczeń o zakresie bazy danych na potrzeby uwierzytelniania tożsamości zarządzanej jest proste.
W poniższym przykładzie zwróć uwagę, że Managed Identity
jest to ciąg zakodowany w kodzie i musisz zastąpić ogólną nazwę konta magazynu nazwą rzeczywistego konta magazynu:
CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<containername>]
WITH IDENTITY = 'MANAGED IDENTITY'
Następnie utwórz kopię zapasową COPY_ONLY
bazy danych, uruchamiając następujące przykładowe polecenie języka T-SQL:
BACKUP DATABASE [SampleDB]
TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH COPY_ONLY
Przywracanie do programu SQL Server
Przywróć bazę danych do programu SQL Server przy użyciu WITH MOVE
opcji polecenia T-SQL RESTORE DATABASE i podaj jawne ścieżki plików dla plików na serwerze docelowym.
Aby przywrócić bazę danych do programu SQL Server, uruchom następujące przykładowe polecenie T-SQL ze ścieżkami plików odpowiednimi dla danego środowiska:
RESTORE DATABASE [SampleDB]
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH
MOVE 'data_0' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_data_0.mdf',
MOVE 'log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDBlog.ldf',
MOVE 'XTP' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_xtp.xtp'
Uwaga
Aby przywrócić bazy danych zaszyfrowane w spoczynku przy użyciu funkcji Transparent Data Encryption (TDE), wystąpienie docelowe programu SQL Server musi mieć dostęp do tego samego klucza, który jest używany do ochrony źródłowej bazy danych za pośrednictwem łącznika programu SQL Server dla usługi Azure Key Vault. Aby uzyskać szczegółowe informacje, zobacz Konfigurowanie funkcji TDE programu SQL Server za pomocą usługi AKV.
Kwestie wymagające rozważenia
Podczas przywracania bazy danych do programu SQL Server należy wziąć pod uwagę następujące kwestie:
- Należy użyć
WITH MOVE
kwalifikatora i podać jawne ścieżki dla plików danych. - Nie można przywrócić baz danych zaszyfrowanych za pomocą kluczy TDE zarządzanych przez usługę do programu SQL Server. Zaszyfrowaną bazę danych można przywrócić do programu SQL Server tylko wtedy, gdy została zaszyfrowana przy użyciu klucza zarządzanego przez klienta, a serwer docelowy ma dostęp do tego samego klucza, który jest używany do szyfrowania bazy danych. Aby uzyskać więcej informacji, zobacz Konfigurowanie funkcji TDE programu SQL Server za pomocą usługi Azure Key Vault.
- Ta funkcja jest dostępna tylko dla wystąpień z zasadami aktualizacji programu SQL Server 2022. Nie będzie można przywrócić kopii zapasowej bazy danych do programu SQL Server 2022 z wystąpienia przy użyciu zawsze aktualnych zasad aktualizacji.
Następne kroki
- Aby dowiedzieć się, jak utworzyć pierwsze wystąpienie zarządzane, zobacz Przewodnik Szybki start.
- Aby zapoznać się z listą funkcji i porównania, zobacz Typowe funkcje SQL.
- Aby uzyskać więcej informacji na temat konfiguracji sieci wirtualnej, zobacz Konfiguracja sieci wirtualnej usługi SQL Managed Instance.
- Aby uzyskać przewodnik Szybki start, który tworzy wystąpienie zarządzane i przywraca bazę danych z pliku kopii zapasowej, zobacz Tworzenie wystąpienia zarządzanego.
- Aby zapoznać się z samouczkiem dotyczącym używania usługi Azure Database Migration Service do migracji, zobacz Migracja wystąpienia zarządzanego SQL przy użyciu usługi Database Migration Service.
- Aby uzyskać zaawansowane monitorowanie usługi SQL Managed Instance, zobacz obserwator bazy danych.
- Aby uzyskać informacje o cenach, zobacz Cennik usługi SQL Database.