Hay varias formas de hacer esto:
- Uso de SSIS (servicios de integración de SQL Server) . Solo importa
data
en tu mesa No se transfieren las propiedades de las columnas, las restricciones, las claves, los índices, los procedimientos almacenados, los activadores, la configuración de seguridad, los usuarios, los inicios de sesión, etc. Sin embargo, es un proceso muy simple y se puede hacer simplemente pasando por el asistente en SQL Server Management Studio. - Utilizando una combinación de SSIS y secuencias de comandos de creación de base de datos . Esto obtendrá los datos y todos los metadatos faltantes que SSIS no transfiere. Esto también es muy simple. Primero transfiera datos usando SSIS (consulte las instrucciones a continuación), luego cree el script DB Create desde la base de datos SQL Azure y reprodúzcalo en su base de datos local.
- Finalmente, puede usar el servicio de importación/exportación en SQL Azure . Esto transfiere datos (con objetos de esquema) a Azure Blob Storage como BACPAC. Necesitará una cuenta de Azure Storage y hágalo en el portal web de Azure. Es tan simple como presionar un botón "Exportar" en el portal web de Azure cuando selecciona la base de datos que desea exportar. La desventaja es que es solo un procedimiento manual, no conozco una forma de automatizar esto a través de herramientas o scripts, al menos la primera parte que requiere un clic en la página web.
Procedimiento manual para método #1 (usando SSIS) es el siguiente:
- En Sql Server Management Studio (SSMS), cree una nueva base de datos vacía en su instancia de SQL local.
- Elija Importar datos en el menú contextual (haga clic con el botón derecho en la base de datos -> Tareas -> Importar datos...)
- Escriba los parámetros de conexión para el origen (SQL Azure). Seleccione "Proveedor de datos de .Net Framework para SqlServer" como proveedor.
- Elija la base de datos local vacía existente como destino.
- Siga el asistente:podrá seleccionar los datos de las tablas que desea copiar. Puede optar por omitir cualquiera de las tablas que no necesita. P.ej. si mantiene los registros de la aplicación en la base de datos, probablemente no los necesite en su copia de seguridad.
Puede automatizarlo creando un paquete SSIS y volviéndolo a ejecutar cada vez que quiera volver a importar los datos. Tenga en cuenta que solo puede importar utilizando SSIS a una base de datos limpia, no puede realizar actualizaciones incrementales en su base de datos local una vez que ya lo haya hecho una vez.
Método #2 (datos SSID más objetos de esquema) es muy simple. Primero siga los pasos descritos anteriormente, luego cree el script de creación de base de datos (haga clic derecho en la base de datos en SSMS, elija Generar scripts -> Crear base de datos). Luego reproduzca este script en su base de datos local.
Método #3 se describe en el Blog aquí:http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/. Hay un videoclip con el proceso de transferencia de contenido de base de datos a Azure Blob Storage como BACPAC. Después de eso, puede copiar el archivo localmente e importarlo a su instancia de SQL. El proceso de importación de BACPAC a la aplicación Data-Tier se describe aquí:http://msdn.microsoft.com/en-us/library/hh710052.aspx.