¿Alguien sabe cómo puedo copiar una base de datos SQL Azure en mi máquina de desarrollo? Me gustaría dejar de pagar para tener una base de datos de desarrollo en la nube, pero es la mejor manera de obtener datos de producción. Copio mi base de datos de producción a una nueva base de datos de desarrollo, pero me gustaría tener esa misma base de datos local.
¿Alguna sugerencia?
Respuestas:
Hay varias formas de hacer esto:
data
en tu mesa. Las propiedades de columna, restricciones, claves, índices, procedimientos almacenados, disparadores, configuraciones de seguridad, usuarios, inicios de sesión, etc. no se transfieren. Sin embargo, es un proceso muy simple y se puede hacer simplemente yendo a través del asistente en SQL Server Management Studio.El procedimiento manual para el método # 1 (usando SSIS) es el siguiente:
Puede automatizarlo creando un paquete SSIS y volviéndolo a ejecutar cada vez que desee 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.
El 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 DB (haga clic derecho en la base de datos en SSMS, elija Generar Scripts -> Crear Base de Datos). Luego, vuelva a reproducir este script en su base de datos local.
El 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 transferir contenido de DB al almacenamiento de Azure Blob 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 de nivel de datos se describe aquí: http://msdn.microsoft.com/en-us/library/hh710052.aspx .
fuente
Copie los datos de la base de datos de Azure en la base de datos local: ahora puede usar SQL Server Management Studio para hacer esto de la siguiente manera:
"Siguiente" / "Siguiente" / "Finalizar"
fuente
Solo quería agregar una versión simplificada de la respuesta de dumbledad , ya que es la correcta.
fuente
En SQL Server 2016 Management Studio, el proceso para obtener una base de datos azul en su máquina local se ha simplificado.
Haga clic derecho en la base de datos que desea importar, haga clic en Tareas> Exportar aplicación de nivel de datos y exporte su base de datos a un archivo .dacpac local.
En su instancia local de servidor SQL de destino, puede hacer clic con el botón derecho en Bases de datos> Importar aplicación de nivel de datos , y una vez que sea local, puede hacer cosas como hacer una copia de seguridad y restaurar la base de datos.
fuente
Creo que ahora es mucho más fácil.
Además, uso Sql Backup y FTP ( https://sqlbackupandftp.com/ ) para hacer copias de seguridad diarias en un servidor FTP seguro. Simplemente extraigo un archivo BACPAC reciente de allí y lo importo en el mismo cuadro de diálogo, que es más rápido y fácil de crear una base de datos local.
fuente
También puede consultar SQL Azure Data Sync en el Portal de administración de Windows Azure. Le permite recuperar y restaurar una base de datos completa, incluidos el esquema y los datos entre SQL Azure y SQL Server.
fuente
Es muy facil. Esto funcionó para mí ... en términos de obtener una base de datos Azure SQL en su máquina local ...:
PERO, tenga cuidado de que si TAMBIÉN desea los DATOS, así como los scripts, asegúrese de verificar las Opciones avanzadas antes de comenzar a generar ... desplácese hacia abajo hasta "Tipos de datos para el script", y asegúrese de tener " Esquema y datos "... o lo que sea apropiado para usted.
Le dará un buen archivo de secuencia de comandos SQL que luego se puede ejecutar en su máquina local y creará la base de datos y la completará con todos los datos.
Tenga en cuenta que en mi caso, no tengo FK u otras restricciones ... además, no era mucha información.
No recomiendo esto como mecanismo de respaldo en general ...
fuente
sqlcmd /S <server> /d <database> -E -i <azure_dump.sql>
Utilizando
msdeploy.exe
Advertencia:
msdeploy.exe
no puede crear la base de datos de destino por sí sola, por lo que primero debe crearla manualmente.Corre
msdeploy.exe
así:Utilizando
SqlPackage.exe
Exporte el DB azul a un paquete bacpac.
Importe el paquete a una base de datos local.
fuente
Intente esto: http://mooneyblog.mmdbsolutions.com/index.php/2011/01/11/simple-database-backups-with-sql-azure/ .
Otra alternativa sería SQL Azure Data Sync .
Hay una publicación de blog más que encontré hace unos días pero que no pude encontrar ahora. Actualizaré esta publicación tan pronto como la encuentre.
fuente
En SQL Server Management Studio
Haga clic derecho en la base de datos que desea importar, haga clic en Tareas> Exportar aplicación de nivel de datos y exporte su base de datos a un archivo .dacpac local.
En su instancia local de servidor SQL de destino, puede hacer clic con el botón derecho en Bases de datos> Importar aplicación de nivel de datos, y una vez que sea local, puede hacer cosas como hacer una copia de seguridad y restaurar la base de datos.
fuente
No pude hacer que la importación / exportación de SSIS funcionara porque recibí el error 'Error al insertar en la columna de solo lectura "id". Tampoco pude conseguir que http://sqlazuremw.codeplex.com/ funcionara, y los enlaces anteriores a SQL Azure Data Sync no funcionaron para mí.
Pero encontré una excelente publicación de blog sobre archivos BACPAC: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/
En el video de la publicación, el autor de la publicación del blog recorre seis pasos:
Cree o vaya a una cuenta de almacenamiento en el Portal de administración de Azure. Necesitará la URL de blob y la clave de acceso principal de la cuenta de almacenamiento.
La publicación del blog aconseja crear un nuevo contenedor para el archivo bacpac y sugiere usar el Explorador de almacenamiento de Azure para eso. (Nota: necesitará la URL de blob y la clave de acceso principal de la cuenta de almacenamiento para agregarla al Explorador de almacenamiento de Azure).
En el Portal de administración de Azure, seleccione la base de datos que desea exportar y haga clic en 'Exportar' en la sección Importar y exportar de la cinta.
El diálogo resultante requiere su nombre de usuario y contraseña para la base de datos, la URL del blob y la clave de acceso. No olvide incluir el contenedor en la URL del blob e incluir un nombre de archivo (por ejemplo, https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac ).
Después de hacer clic en Finalizar, la base de datos se exportará al archivo BACPAC. Esto puede tomar un tiempo. Es posible que vea un archivo de cero bytes que se muestra inmediatamente si se registra en el Explorador de almacenamiento de Azure. Este es el servicio de importación / exportación que comprueba que tiene acceso de escritura al blob-store.
Una vez hecho esto, puede usar el Explorador de almacenamiento de Azure para descargar el archivo BACPAC y luego, en el SQL Server Management Studio, haga clic con el botón derecho en la carpeta de la base de datos del servidor local y elija Importar aplicación de nivel de datos que iniciará el asistente que lee el archivo BACPAC para producir la copia de su base de datos de Azure. El asistente también puede conectarse directamente al blob-store para obtener el archivo BACPAC si prefiere no copiarlo localmente primero.
El último paso solo puede estar disponible en la edición SQL Server 2012 de SQL Server Management Studio (esa es la versión que estoy ejecutando). No tengo las anteriores en esta máquina para verificar. En la publicación del blog, el autor utiliza la herramienta de línea de comandos DacImportExportCli.exe para la importación, que creo que está disponible en http://sqldacexamples.codeplex.com/releases
fuente
Con respecto a "No pude hacer que la importación / exportación de SSIS funcionara, recibí el error 'Error al insertar en la columna de solo lectura" id "'. Esto se puede solucionar especificando en la pantalla de mapeo que desea permitir que se inserten elementos de identidad.
Después de eso, todo funcionó bien con el asistente de importación / exportación de SQL para copiar desde Azure a la base de datos local.
Solo tenía el Asistente de importación / exportación de SQL que viene con SQL Server 2008 R2 (funcionó bien) y Visual Studio 2012 Express para crear una base de datos local.
fuente
La respuesta aceptada no está actualizada. Encontré una mejor respuesta: usar la aplicación Importar capa de datos
Para obtener información más detallada, consulte este artículo: Restauración de la base de datos SQL de Azure en un servidor local
fuente
Puede probar con la herramienta "Asistente de migración de base de datos SQL". Esta herramienta proporciona la opción de importar y exportar datos desde azure sql.
Por favor, consulte más detalles aquí.
https://sqlazuremw.codeplex.com/
fuente
Puede usar los nuevos Servicios móviles de Azure para realizar una exportación de copia de seguridad nocturna de SQL Azure a un archivo .bacpac alojado en Azure Storage. Esta solución es 100% en la nube, no requiere una herramienta de terceros y no requiere una instancia local de SQL Server alojada para descargar / copiar / hacer copias de seguridad de nada.
Hay alrededor de 8 pasos diferentes, pero todos son fáciles: http://geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure .aspx
fuente
Siempre uso la función Importar / Exportar, que parece ser la más fácil de todas.
Paso 1:
Obtenga la copia de seguridad de la instancia azul de la siguiente manera, Seleccione la base de datos → Haga clic derecho → Tareas → Exportar aplicación de nivel de datos.
Paso 2: proporcione un nombre específico para el archivo de copia de seguridad y guárdelo en la ubicación deseada
Paso 3: Eso es todo, ha realizado una copia de seguridad de la base de datos desde la instancia de SQL a su local. Vamos a restaurarlo a lo local. Copie la base de datos respaldada en su unidad C. Ahora abra PowerShell con derechos de administrador y navegue hasta la unidad C
Paso 4: descarguemos el script de PowerShell para eliminar la clave maestraRemoveMasterKey.ps1 tener el script en la misma unidad en este caso su C.
Paso 5: Ejecute el script de la siguiente manera,. \ RemoveMasterKey.ps1 -bacpacPath "C: \ identity.bacpac"
Eso es todo, ahora puede restaurarlo en MSSQL 2017 en su entorno local.
Paso 6: conéctese a su servidor local y haga clic en Bases de datos → Importar aplicación de nivel de datos
Paso 7 : asigne un nombre a su base de datos para restaurar.
¡Ahora verás todo en verde!
Lee mi blog con diagramas.
fuente
Descargue Optillect SQL Azure Backup : tiene una prueba de 15 días, por lo que será suficiente para mover su base de datos :)
fuente
El truco para mí fue comenzar a replicar PK / FK / restricciones en una base de datos vacía, luego deshabilitar temporalmente las restricciones al importar datos (consulte https://stackoverflow.com/a/161410 ).
Más precisamente:
¡Espero que esto ayude!
fuente
Ahora puede usar SQL Server Management Studio para hacer esto.
fuente
Use el servicio Importar / Exportar en SQL Azure para crear un archivo .bacpac.
Luego, eche un vistazo a este método en otro artículo de Stack Overflow.
Restauración local de Azure SQL Database Bacpac
fuente
Si alguien tiene un problema para importar un Bacpac de una base de datos que usa Azure SQL Sync , Sandrino Di Mattia desarrolló una gran aplicación simple para resolver esto.
fuente
Si alguien quiere una opción gratuita y efectiva (y no le importa hacerlo manualmente) para hacer una copia de seguridad de la base de datos en Local, use la funcionalidad de comparación de datos y esquemas integrada en la última versión de Microsoft Visual Studio 2015 Community Edition (Gratis) o Professional / Premium / Ultimate edición. ¡Funciona a las mil maravillas!
Tengo una cuenta de BizPark con Azure y no hay forma de hacer una copia de seguridad de la base de datos directamente sin pagar. Encontré esta opción en VS Works.
La respuesta se toma de https://stackoverflow.com/a/685073/6796187
fuente
Hola, estoy usando la herramienta SQLAzureMW para la migración y administración de SQLAzure DB. Muy útil Se descargó de codeplex, pero actualmente no está disponible, el codeplex se cerrará, la misma herramienta de aplicación ahora está disponible en GttHub. El siguiente enlace explica cómo usar esta herramienta y también está disponible la aplicación para descargar.
https://github.com/twright-msft/azure-content/blob/master/articles/sql-database/sql-database-migration-wizard.md
fuente