Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да копирам база данни SQL Azure на моя локален сървър за разработка?

Има няколко начина да направите това:

  1. Използване на SSIS (SQL Server Integration Services) . Той импортира само data във вашата маса. Свойства на колони, ограничения, ключове, индекси, съхранени процедури, тригери, настройки за сигурност, потребители, влизания и т.н. не се прехвърлят. Това обаче е много прост процес и може да се направи просто като преминете през съветника в SQL Server Management Studio.
  2. Използване на комбинация от скриптове за създаване на SSIS и DB . Това ще ви даде данни и всички липсващи метаданни, които не се прехвърлят от SSIS. Това също е много просто. Първо прехвърлете данни с помощта на SSIS (вижте инструкциите по-долу), след това създайте скрипт за създаване на DB от базата данни SQL Azure и го пуснете отново във вашата локална база данни.
  3. Накрая можете да използвате услуга за импортиране/експортиране в SQL Azure . Това прехвърля данни (с обекти на схема) към Azure Blob Storage като BACPAC. Ще ви трябва акаунт за съхранение в Azure и направете това в уеб портала на Azure. Това е толкова просто, колкото да натиснете бутон „Експортиране“ в уеб портала на Azure, когато изберете базата данни, която искате да експортирате. Недостатъкът е, че това е само ръчна процедура, не знам начин да автоматизирам това чрез инструменти или скриптове – поне първата част, която изисква щракване върху уеб страницата.

Ръчна процедура за метод №1 (използвайки SSIS) е следното:

  • В Sql Server Management Studio (SSMS) създайте нова празна база данни във вашия локален SQL екземпляр.
  • Изберете Импортиране на данни от контекстното меню (щракнете с десния бутон върху базата данни -> Задачи -> Импортиране на данни...)
  • Въведете параметрите на връзката за източника (SQL Azure). Изберете „.Net Framework Data Provider for SqlServer“ като доставчик.
  • Изберете съществуваща празна локална база данни като дестинация.
  • Следвайте съветника – ще можете да изберете данни от таблици, които искате да копирате. Можете да изберете да пропуснете всяка от таблиците, от които не се нуждаете. напр. ако съхранявате регистрационните файлове на приложения в базата данни, вероятно нямате нужда от тях във вашия архив.

Можете да го автоматизирате, като създадете SSIS пакет и го изпълните отново всеки път, когато пожелаете да импортирате отново данните. Имайте предвид, че можете да импортирате само с помощта на SSIS в чиста DB, не можете да правите постепенни актуализации на вашата локална база данни, след като вече сте го направили веднъж.

Метод №2 (SSID данни плюс обекти на схема) е много проста. Първо преминете през стъпките, описани по-горе, след това създайте скрипт за създаване на DB (щракнете с десен бутон върху базата данни в SSMS, изберете Generate Scripts -> Database Create). След това пуснете отново този скрипт във вашата локална база данни.

Метод №3 е описано в блога тук:http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/. Има видеоклип с процеса на прехвърляне на DB съдържание в хранилището на Azure Blob като BACPAC. След това можете да копирате файла локално и да го импортирате във вашия SQL екземпляр. Процесът на импортиране на BACPAC в приложението Data-Tier е описан тук:http://msdn.microsoft.com/en-us/library/hh710052.aspx.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изпращане на имейл от тригер в SQL Server (T-SQL)

  2. Преобразувайте „datetime2“ в „smalldatetime“ в SQL Server (T-SQL примери)

  3. SQL Server, АКО НЕ СЪЩЕСТВУВА Използване?

  4. Активни сесии и състояние на SQL Server

  5. Вижте дали дадена таблица има ограничение по подразбиране в SQL Server, като използвате OBJECTPROPERTY()