Przywracanie bazy danych do SQL Server z Azure SQL Managed Instance
Dotyczy: Azure SQL Managed Instance
W tym artykule opisano sposób przywracania kopii zapasowej bazy danych z Azure SQL Managed Instance do SQL Server 2022.
Omówienie
Dopasowanie formatu bazy danych między SQL Managed Instance a SQL Server 2022 umożliwia łatwe kopiowanie lub przenoszenie baz danych z wystąpienia zarządzanego do wystąpienia SQL Server 2022 z zainstalowanym wystąpieniem Enterprise, Developer lub Standard, które jest hostowane lokalnie, na maszynach wirtualnych na platformie Azure lub w innych chmurach.
Przywracanie baz danych z wystąpień zarządzanych do wystąpień SQL Server 2022 odblokowuje następujące scenariusze:
- Zapewnia mobilność bazy danych między produktami opartymi na SQL Managed Instance i SQL Server.
- Udostępnia kopie bazy danych klientom i innym uprawnionym stronom.
- Odświeża środowiska poza SQL Managed Instance.
Możliwość przywracania pełnych kopii zapasowych baz danych z SQL Managed Instance do 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 SQL Managed Instance do SQL Server 2022 r. będzie dostępna do końca wsparcia podstawowego dla SQL Server 2022 r. Po wygaśnięciu tego okresu możliwość przywracania pełnych kopii zapasowych SQL Managed Instance baz danych będzie dostępna tylko w następnej wersji głównej SQL Server po SQL Server 2022 r.
Tworzenie kopii zapasowej na 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 usługi Azure Active Directory (Azure AD), która udostępnia wystąpienia usług platformy Azure, takich jak Azure SQL Managed Instance, z automatycznie zarządzaną tożsamością w Azure AD tożsamości zarządzanej przypisanej przez system.
Za pomocą tej tożsamości można autoryzować żądania dostępu do danych do innych zasobów platformy Azure, w tym kont 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żyć 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ń tożsamości zarządzanej do zapisywania danych. Udzielanie uprawnień tożsamości zarządzanej wystąpienia odbywa się w taki sam sposób, jak udzielanie uprawnień innym użytkownikom Azure AD. Przykład:
W Azure Portal w okienku Access Control (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 . Zapewnia to dostęp do odczytu/zapisu do tożsamości zarządzanej dla niezbędnych kontenerów Azure Blob Storage.
Zamiast udzielać tożsamości zarządzanej roli RBAC usługi Storage Dla danych obiektów blob magazynu, możesz przyznać bardziej szczegółowe uprawnienia. Aby dowiedzieć się więcej, zobacz Ustawianie list ACL w 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 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 należy pamiętać, że Managed Identity
jest to ciąg zakodowany 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 SQL Server
Przywróć bazę danych do 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 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, które są szyfrowane w spoczynku przy użyciu funkcji Transparent Data Encryption (TDE), wystąpienie docelowe 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 SQL Server dla usługi Azure Key Vault. Aby uzyskać szczegółowe informacje, zobacz Konfigurowanie funkcji TDE SQL Server za pomocą usługi AKV.
Zagadnienia do rozważenia
Podczas przywracania bazy danych do SQL Server rozważ 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 SQL Server. Zaszyfrowaną bazę danych można przywrócić do 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 SQL Server za pomocą usługi Azure Key Vault.
- W przyszłości niektóre funkcje mogą zostać wprowadzone do Azure SQL Managed Instance, które wymagają zmian w formacie bazy danych, co sprawia, że kopie zapasowe są niezgodne z SQL Server 2022 r. Dostęp do takich funkcji będzie wymagał jawnego wyrażenia zgody.
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 Sql common features (Typowe funkcje JĘZYKA SQL).
- Aby uzyskać więcej informacji na temat konfiguracji sieci wirtualnej, zobacz SQL Managed Instance konfiguracji sieci wirtualnej.
- 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 Azure Database Migration Service do migracji, zobacz SQL Managed Instance migracji przy użyciu Database Migration Service.
- Aby uzyskać zaawansowane monitorowanie wydajności SQL Managed Instance bazy danych za pomocą wbudowanej analizy rozwiązywania problemów, zobacz Monitorowanie Azure SQL Managed Instance przy użyciu usługi Azure SQL Analytics.
- Aby uzyskać informacje o cenach, zobacz SQL Database cennik.