Kopiera eller flytta en databas – Azure SQL Managed Instance

Gäller för:Azure SQL Managed Instance

Den här artikeln beskriver hur du kopierar eller flyttar en databas online mellan instanser i Azure SQL Managed Instance. Både databaskopierings- och flyttåtgärder stöds i olika Azure-prenumerationer i samma Azure-klientorganisation.

Översikt

Du kan utföra en onlinekopia eller flytta en databas mellan hanterade instanser med hjälp av AlwaysOn-tillgänglighetsgruppsteknik. Funktionen kopiera och flytta skapar en ny databas på målinstansen som en kopia av källdatabasen. Med den här funktionen är datareplikeringen tillförlitlig, konsekvent, asynkron och nästan i realtid.

När du kopierar en databas förblir källdatabasen online under åtgärden och när den har slutförts.

När du flyttar en databas tas källdatabasen däremot bort när åtgärden har slutförts.

Du kan köra flera databaskopior och flytta åtgärder från den källhanterade instansen till en eller flera målinstanser.

Att kopiera och flytta en databas skiljer sig från återställning till tidpunkt (PITR) eftersom den skapar en kopia av databasen när åtgärden har slutförts. PITR skapar en kopia av databasen från ett angivet ögonblick tidigare.

Viktigt!

När du flyttar en databas till ett nytt mål flyttas inte befintliga PITR-säkerhetskopior med databasen och de är inte tillgängliga. Databasen startar en ny säkerhetskopieringskedja på målinstansen så fort flyttåtgärden har slutförts.

När ska du använda funktionen

Det är användbart att flytta eller kopiera en databas när du vill:

  • Hantera krav på databastillväxt och prestanda.
  • Balansera arbetsbelastningar mellan flera hanterade instanser.
  • Flytta databaser till en instans med mer tillgängliga resurser för att hantera arbetsbelastningen.
  • Konsolidera flera databaser från flera instanser.
  • Skapa databasparitet mellan utvecklings-, test- och produktionsmiljöer.

Arbetsflöde

Här är arbetsflödet för att kopiera eller flytta en databas:

  1. Välj databasen, den källhanterade instansen och målinstansen och starta sedan åtgärden.

    Databasen skickas till målservern. Kontrollera statusen för att avgöra om åtgärden pågår eller om den har slutförts.

  2. När seeding har slutförts visas åtgärdstillståndet som klart för slutförande.

    Tills åtgärden har slutförts manuellt tillämpas alla ändringar som sker i källdatabasen på måldatabasen. Du kan avbryta åtgärden när som helst. Du har 24 timmar på dig att uttryckligen slutföra åtgärden. Om du inte slutför åtgärden inom 24 timmar avbryts den automatiskt och måldatabasen tas bort.

  3. När du har slutfört åtgärden manuellt är måldatabasen online och är redo för läs-/skrivarbetsbelastningar.

  4. Om du väljer att flytta databasen tas källdatabasen bort. Om du väljer att kopiera databasen är källdatabasen fortfarande online, men datasynkroniseringen stoppas.

Ett exempel på ett arbetsflöde för en flyttåtgärd visas i följande diagram:

Diagram that illustrates the workflow of a move operation.

Utformningen av databasflytten garanterar att inga data går förlorade. När en användare slutför flyttåtgärden slutar källdatabasen att acceptera alla arbetsbelastningar och transaktionen replikeras till måldatabasen. Först då blir måldatabasen online och källdatabasen har tagits bort. Den här designen säkerställer att alla data från källdatabasen flyttas till måldatabasen.

Databaskopieringsåtgärden liknar databasflytten. Den enda viktiga skillnaden är hur åtgärden slutar. När du slutför databaskopieringsåtgärden stoppas replikeringen av transaktionsloggen till måldatabasen. Även om användaren uttryckligen utfärdar kommandot för att slutföra kopieringsåtgärden, kontrollerar användaren inte exakt när loggreplikeringen stoppas. Slutligen är både käll- och måldatabasen online, oberoende och redo för läs- och skrivarbetsbelastning.

Förutsättningar

Innan du kan kopiera eller flytta en databas måste du uppfylla följande krav:

  • Du måste ha läsbehörighet för resursgruppen som innehåller den källhanterade instansen och du måste ha skrivbehörighet på databasnivå för både käll- och målinstanserna.
  • Om käll- och målinstanserna finns i olika virtuella nätverk måste det finnas nätverksanslutning mellan de virtuella nätverken för de två instanserna, till exempel med peering för virtuella Azure-nätverk. Dessutom måste inkommande och utgående trafik på port 5022 och portintervall 11000-11999 tillåtas för TCP-protokollet. Detta gäller för båda undernäten som är värdar för källan och målinstansen. Här är dokumentation om hur du upprättar nätverksanslutningar mellan instanser i olika virtuella Azure-nätverk.

Kopiera eller flytta databas

Du kan kopiera eller flytta en databas till en annan hanterad instans med hjälp av Azure-portalen. Så här gör du:

  1. Gå till din hanterade instans i Azure-portalen.

  2. Under Datahantering väljer du Databaser.

  3. Välj en eller flera databaser och välj sedan antingen alternativet Kopiera eller Flytta överst i fönstret.

    Om du väljer Flytta tas källdatabasen bort när åtgärden har slutförts och när du väljer Kopiera lämnar källdatabasen online när åtgärden har slutförts. Om du väljer något av alternativen öppnas sidan Flytta hanterad databas eller Kopiera hanterad databas . När sidan har öppnats kan du välja fler databaser att inkludera i åtgärden.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, with the 'Move' and 'Copy' options highlighted.

  4. I fönstret Källinformation anger du information om källdatabasen och den hanterade instansen.

  5. I fönstret Målinformation anger du information om den hanterade målinstansen.

  6. Välj Granska + Starta för att verifiera käll- och målinformationen och välj sedan Starta för att påbörja åtgärden.

    Om du väljer Start går du tillbaka till sidan Databaser i din instans, där du kan övervaka förloppet för åtgärden.

  7. På sidan Databaser kontrollerar du kolumnen Åtgärdsinformation för att kontrollera att statusen för åtgärden är Flytta pågår eller Kopiera pågår.

    Om du behöver avbryta väljer du Pågår, väljer den databas som du arbetar med och väljer sedan Avbryt för att stoppa seeding och släppa måldatabasen.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, showing that a copy operation is in progress.

  8. Övervaka åtgärden. När seeding har slutförts visar kolumnen Åtgärdsinformation statusen Flytta redo för slutförande eller Kopiera klar för slutförande.

  9. Välj Klar för slutförande för att öppna kolumnen Åtgärdsinformation , välj den databas som du är redo att kopiera eller flytta och välj sedan Slutför för att slutföra åtgärden och få måldatabasen online.

    Ändringar som görs i källdatabasen replikeras till måldatabasen under den här tiden tills du väljer Slutför. Om du inte slutför åtgärden inom 24 timmar avbryts den automatiskt och måldatabasen tas bort. Om du väljer Slutför slutför du åtgärden och tar dig tillbaka till sidan Databaser , där du kan kontrollera att åtgärden är klar.

    Om du har flyttat databasen är databasnamnet inte tillgängligt eftersom det nu är offline.

Prestanda för kopierings- och flyttåtgärder

Både databaskopierings- och flyttåtgärder har två faser. Den första är inledande seeding och den andra är replikeringen av ändringar från källdatabasen till måldatabasen. Vanligtvis är inledande seeding en mer krävande fas i åtgärden. Den tid det tar för den första seedingen att slutföras beror på storleken på data och antalet aktiva kopierings- eller flyttåtgärder. Intensiteten i den arbetsbelastning som sker på källan och målet för Azure SQL Managed Instance och nätverkets hastighet mellan källa och mål påverkar också seedinghastigheten. Under optimala omständigheter och när anslutningen mellan källa och mål upprättas med rekommenderad global VNet-peering är seedinghastigheten upp till 360 GB per timme. Seedningsprocessen och dess hastighet kan övervakas via DMV-sys.dm_hadr_physical_seeding_stats.

SELECT 
	role_desc,
	transfer_rate_bytes_per_second,
	transferred_size_bytes,
	database_size_bytes,
	start_time_utc,
	estimate_time_complete_utc,
	end_time_utc,
	local_physical_seeding_id
FROM
	sys.dm_hadr_physical_seeding_stats;

Begränsningar

Överväg följande begränsningar för kopierings- och flyttfunktionen:

  • Käll- och målinstanserna kan inte vara desamma.
  • Både källinstansen och målinstansen måste finnas i samma Azure-region.
  • Du kan endast kopiera och flytta användardatabaser . Kopiering och flytt av systemdatabaser stöds inte.
  • En databas kan bara delta i en enda flytt- eller kopieringsåtgärd i taget.
  • Källinstansen kan köra upp till åtta kopierings- eller flyttåtgärder åt gången. Du kan starta fler än åtta åtgärder, men vissa placeras i kö och bearbetas senare, som hanteras av tjänsten.
  • Du kan inte byta namn på en databas under en kopierings- eller flyttåtgärd.
  • Databastaggar kopieras inte med kopierings- eller flyttåtgärden.
  • Databaskopierings- och flyttåtgärder kopierar eller flyttar inte PITR-säkerhetskopior.
  • Du kan inte kopiera eller flytta en databas som ingår i en redundansgrupp eller som använder länken Hanterad instans.
  • Den hanterade käll- eller målinstansen ska inte konfigureras med en konfiguration av redundansgrupper (geo-haveriberedskap).
  • Du måste konfigurera om transaktionsreplikering, ändra datainsamling (CDC) eller distribuerade transaktioner när du har flyttat en databas som är beroende av dessa funktioner.

Mer dokumentation om databaskopiering och flytt.

Om du vill ha andra alternativ för dataflytt läser du: