sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kopierar jag SQL Azure-databas till min lokala utvecklingsserver?

Det finns flera sätt att göra detta:

  1. Använda SSIS (SQL Server Integration Services) . Den importerar bara data i ditt bord. Kolumnegenskaper, begränsningar, nycklar, index, lagrade procedurer, utlösare, säkerhetsinställningar, användare, inloggningar etc. överförs inte. Men det är mycket enkel process och kan göras helt enkelt genom att gå igenom guiden i SQL Server Management Studio.
  2. Använder en kombination av SSIS- och DB-skript . Detta kommer att få dig data och all saknad metadata som inte överförs av SSIS. Detta är också väldigt enkelt. Överför först data med SSIS (se instruktionerna nedan), skapa sedan DB Create-skript från SQL Azure-databasen och spela upp det igen på din lokala databas.
  3. Slutligen kan du använda Import/Export-tjänsten i SQL Azure . Detta överför data (med ett schemaobjekt) till Azure Blob Storage som en BACPAC. Du behöver ett Azure Storage-konto och gör detta i Azure webbportal. Det är så enkelt som att trycka på en "Exportera"-knapp i Azures webbportal när du väljer den databas du vill exportera. Nackdelen är att det bara är en manuell procedur, jag vet inte ett sätt att automatisera detta genom verktyg eller skript -- åtminstone den första delen som kräver ett klick på webbsidan.

Manuell procedur för metod #1 (med SSIS) är följande:

  • Skapa en ny tom databas på din lokala SQL-instans i SQL Server Management Studio (SSMS).
  • Välj Importera data från snabbmenyn (högerklicka på databasen -> Uppgifter -> Importera data...)
  • Skriv in anslutningsparametrar för källan (SQL Azure). Välj ".Net Framework Data Provider for SqlServer" som leverantör.
  • Välj befintlig tom lokal databas som destination.
  • Följ guiden -- du kommer att kunna välja tabelldata som du vill kopiera. Du kan välja att hoppa över något av de bord du inte behöver. T.ex. om du förvarar programloggar i databasen behöver du förmodligen inte det i din säkerhetskopia.

Du kan automatisera det genom att skapa SSIS-paketet och köra det igen när som helst du vill återimportera data. Observera att du bara kan importera med SSIS till en ren DB, du kan inte göra inkrementella uppdateringar av din lokala databas när du redan har gjort det en gång.

Metod #2 (SSID-data plus schemaobjekt) är mycket enkelt. Gå först igenom stegen som beskrivs ovan, skapa sedan DB Creation-skript (högerklicka på databasen i SSMS, välj Generera skript -> Skapa databas). Spela sedan om det här skriptet på din lokala databas.

Metod #3 beskrivs i bloggen här:http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/. Det finns ett videoklipp med processen att överföra DB-innehåll till Azure Blob-lagring som BACPAC. Därefter kan du kopiera filen lokalt och importera den till din SQL-instans. Processen för att importera BACPAC till Data-Tier-applikationen beskrivs här:http://msdn.microsoft.com/en-us/library/hh710052.aspx.



  1. Förstå och läsa PostgreSQL-systemkatalogen

  2. Hur ADDTIME() fungerar i MariaDB

  3. Överbrygga Azure-gapet:Hanterade instanser

  4. Hur man använder ora_hash på en kolumn med datatypen xmltype