sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan kopierer jeg SQL Azure-databasen til min lokale udviklingsserver?

Der er flere måder at gøre dette på:

  1. Brug af SSIS (SQL Server Integration Services) . Den importerer kun data i dit bord. Kolonneegenskaber, begrænsninger, nøgler, indekser, lagrede procedurer, triggere, sikkerhedsindstillinger, brugere, logon osv. overføres ikke. Men det er meget enkel proces og kan gøres ved blot at gå gennem guiden i SQL Server Management Studio.
  2. Brug af en kombination af SSIS- og DB-oprettelsesscripts . Dette vil give dig data og alle manglende metadata, som ikke er overført af SSIS. Dette er også meget enkelt. Overfør først data ved hjælp af SSIS (se instruktionerne nedenfor), opret derefter DB Create-script fra SQL Azure-databasen, og afspil det igen på din lokale database.
  3. Endelig kan du bruge Import/Export-tjenesten i SQL Azure . Dette overfører data (med et skemaobjekter) til Azure Blob Storage som en BACPAC. Du skal bruge en Azure Storage-konto og gøre dette i Azure-webportalen. Det er så enkelt som at trykke på en "Eksporter"-knap i Azure-webportalen, når du vælger den database, du vil eksportere. Ulempen er, at det kun er manuel procedure, jeg kender ikke en måde at automatisere dette gennem værktøjer eller scripts -- i det mindste den første del, der kræver et klik på websiden.

Manuel procedure for metode #1 (ved hjælp af SSIS) er følgende:

  • Opret en ny tom database på din lokale SQL-instans i SQL Server Management Studio (SSMS).
  • Vælg Importer data fra kontekstmenuen (højreklik på databasen -> Opgaver -> Importer data...)
  • Indtast forbindelsesparametre for kilden (SQL Azure). Vælg ".Net Framework Data Provider for SqlServer" som udbyder.
  • Vælg eksisterende tomme lokale database som destination.
  • Følg guiden -- du vil være i stand til at vælge tabeldata, du vil kopiere. Du kan vælge at springe ethvert af de borde over, du ikke har brug for. For eksempel. hvis du opbevarer applikationslogfiler i databasen, har du sandsynligvis ikke brug for det i din backup.

Du kan automatisere den ved at oprette SSIS-pakken og genudføre den, når som helst du vil genimportere dataene. Bemærk, at du kun kan importere ved hjælp af SSIS til en ren DB, du kan ikke lave trinvise opdateringer til din lokale database, når du allerede har gjort det én gang.

Metode #2 (SSID-data plus skemaobjekter) er meget enkel. Gå først gennem trinene beskrevet ovenfor, opret derefter DB Creation script (højreklik på databasen i SSMS, vælg Generer scripts -> Database Create). Afspil derefter dette script igen på din lokale database.

Metode #3 er beskrevet i bloggen her:http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/. Der er et videoklip med processen med at overføre DB-indhold til Azure Blob-lageret som BACPAC. Derefter kan du kopiere filen lokalt og importere den til din SQL-instans. Processen med at importere BACPAC til Data-Tier-applikationen er beskrevet her:http://msdn.microsoft.com/en-us/library/hh710052.aspx.



  1. ORA-00936:manglende udtryksorakel

  2. Hash joins på nullable kolonner

  3. SQLite MELLEM

  4. Opsætning af maven-afhængighed til SQL Server