Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit scenario wordt u begeleid bij de stappen voor het migreren van een database van een SQL Server-exemplaar naar een beheerd Azure SQL-exemplaar in Azure Arc via twee verschillende back-up- en herstelmethoden.
Azure Blob Storage gebruiken
Gebruik Azure Blob Storage voor migratie naar SQL Managed Instance waarvoor Azure Arc is ingeschakeld.
Deze methode maakt gebruik van Azure Blob Storage als een tijdelijke opslaglocatie waar u een back-up van kunt maken en vervolgens kunt herstellen.
Vereisten
-
Op dit moment gebruikt u de insiders-build van Azure Data Studio.
Azure-abonnement
Stap 1: Azure Blob Storage inrichten
- Volg de stappen die worden beschreven in Een Azure Blob Storage-account maken
- Azure Storage Explorer starten
- Meld u aan bij Azure voor toegang tot de blobopslag die u in de vorige stap hebt gemaakt
- Klik met de rechtermuisknop op het blob-opslagaccount en selecteer Blobcontainer maken om een nieuwe container te maken waarin het back-upbestand wordt opgeslagen
Stap 2: Opslagblobreferenties ophalen
Klik in Azure Storage Explorer met de rechtermuisknop op de blobcontainer die zojuist is gemaakt en selecteer Shared Access Signature ophalen
Selecteer de lezen, schrijven en lijst
Kies Maken.
Noteer de URI en de querystring van dit scherm. Deze zijn nodig in latere stappen. Klik op de knop Kopiëren om op te slaan in een Kladblok/OneNote, enzovoort.
Sluit het venster Shared Access Signature .
Stap 3: Back-up maken van databasebestand naar Azure Blob Storage
In deze stap maken we verbinding met de bron-SQL Server en maken we het back-upbestand van de database die we willen migreren naar SQL Managed Instance - Azure Arc.
Azure Data Studio starten
Maak verbinding met het SQL Server-exemplaar waar de database staat die u naar SQL Managed Instance - Azure Arc wilt migreren.
Klik met de rechtermuisknop op de database en selecteer Nieuwe query
Bereid uw query voor in het volgende formaat, waarbij u de tijdelijke aanduidingen vervangt zoals aangegeven met
<...>en gebruikmakend van de gegevens uit de gedeelde toegangssleutel in eerdere stappen. Nadat u de waarden hebt vervangen, voert u de query uit.IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>') CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<SAS_TOKEN>';Bereid op dezelfde manier de opdracht BACKUP DATABASE als volgt voor om een back-upbestand te maken naar de blobcontainer. Nadat u de waarden hebt vervangen, voert u de query uit.
BACKUP DATABASE <database name> TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak'Open Azure Storage Explorer en controleer of het back-upbestand dat in de vorige stap is gemaakt, zichtbaar is in de Blob-container
Meer informatie over back-up naar een URL vindt u hier:
Stap 4: de database herstellen van Azure Blob Storage naar SQL Managed Instance - Azure Arc
Meld u vanuit Azure Data Studio aan en maak verbinding met sql Managed Instance - Azure Arc.
Vouw de systeemdatabases uit, klik met de rechtermuisknop op de hoofddatabase en selecteer Nieuwe query.
Bereid in het venster van de queryeditor de query uit de vorige stap voor en voer deze uit om de referenties te maken.
IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>') CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<SAS_TOKEN>';Bereid de onderstaande opdracht voor en voer deze uit om te controleren of het back-upbestand leesbaar is en intact is.
RESTORE FILELISTONLY FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak'Bereid de opdracht RESTORE DATABASE als volgt voor en voer het uit om het back-upbestand te herstellen naar een database in SQL Managed Instance - Azure Arc
RESTORE DATABASE <database name> FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak' WITH MOVE 'Test' to '/var/opt/mssql/data/<file name>.mdf' ,MOVE 'Test_log' to '/var/opt/mssql/data/<file name>.ldf' ,RECOVERY; GO
Methode 2: Kopieer het back-upbestand naar een azure SQL Managed Instance - Azure Arc-pod met behulp van kubectl
Deze methode laat zien hoe u een back-upbestand, dat u al met een willekeurige methode heeft gemaakt, kunt kopiëren naar de lokale opslag in de Azure SQL managed instance pod, zodat u vanaf daar kunt herstellen zoals u dat zou doen op een typisch bestandssysteem in Windows of Linux. In dit scenario gebruikt u de opdracht kubectl cp om het bestand van de ene plaats naar het bestandssysteem van de pod te kopiëren.
Vereisten
- Kubectl installeren en configureren om te verwijzen naar uw Kubernetes-cluster waar Azure Arc-gegevensservices worden geïmplementeerd
- Een hulpprogramma zoals Azure Data Studio of SQL Server Management Server hebt geïnstalleerd en verbonden met de SQL Server waarop u het back-upbestand wilt maken OF een bestaand .bak-bestand hebt gemaakt op uw lokale bestandssysteem.
Stap 1: Maak een back-up van de database als u dat nog niet hebt gedaan
Maak een back-up van de SQL Server-database naar uw lokale bestandspad, zoals elke typische SQL Server-back-up naar schijf:
BACKUP DATABASE Test
TO DISK = 'C:\Backupfiles\test.bak'
WITH FORMAT, MEDIANAME = 'Test' ;
GO
Stap 2: Kopieer het back-upbestand naar het bestandssysteem van de pod
Zoek de naam van de pod waarin het SQL-exemplaar is geïmplementeerd. Normaal gesproken ziet het er ongeveer als volgt uit pod/<sqlinstancename>-0
Haal de lijst met alle pods op door het volgende uit te voeren:
kubectl get pods -n <namespace of data controller>
Voorbeeld:
Kopieer het back-upbestand van de lokale opslag naar de SQL-pod in het cluster.
kubectl cp <source file location> <pod name>:var/opt/mssql/data/<file name> -n <namespace name> -c arc-sqlmi
#Example:
kubectl cp C:\Backupfiles\test.bak sqlinstance1-0:var/opt/mssql/data/test.bak -n arc -c arc-sqlmi
Stap 3: de database herstellen
De opdracht RESTORE voorbereiden en uitvoeren om het back-upbestand te herstellen naar het met Azure SQL beheerde exemplaar - Azure Arc
RESTORE DATABASE test FROM DISK = '/var/opt/mssql/data/<file name>.bak'
WITH MOVE '<database name>' to '/var/opt/mssql/data/<file name>.mdf'
,MOVE '<database name>' to '/var/opt/mssql/data/<file name>_log.ldf'
,RECOVERY;
GO
Voorbeeld:
RESTORE DATABASE test FROM DISK = '/var/opt/mssql/data/test.bak'
WITH MOVE 'test' to '/var/opt/mssql/data/test.mdf'
,MOVE 'test' to '/var/opt/mssql/data/test_log.ldf'
,RECOVERY;
GO
Gerelateerde inhoud
Meer informatie over functies en mogelijkheden van SQL Managed Instance ingeschakeld door Azure Arc
Begin door een gegevenscontroller aan te maken
Maak een SQL Managed Instance dat is ingeschakeld door Azure Arc