unidad una servidor script restaurar respaldar procedimiento para otro hacer dispositivos desde datos copiar almacenado sql sql-server backup

servidor - ¿Cómo puedo hacer una copia de seguridad de una base de datos de SQL Server remota en una unidad local?



restaurar base de datos sql server desde script (20)

Algunos programas de copia de seguridad de terceros permiten configurar la transferencia de archivos con permisos de red específicos. Es muy útil cuando el servicio de SQL Server se ejecuta con una cuenta restringida y no tiene suficientes permisos de red. Intente usar EMS SQL Backup que resuelve esta tarea.

Necesito copiar una base de datos desde un servidor remoto a uno local. Intenté usar SQL Server Management Studio, pero solo realiza copias de seguridad en una unidad del servidor remoto.

Algunos puntos:

  • No tengo acceso al servidor remoto de manera que pueda copiar archivos;
  • No tengo acceso para configurar una ruta UNC a mi servidor;

¿Alguna idea de cómo puedo copiar esta base de datos? ¿Tendré que usar herramientas de terceros?


Como dijo Martin Smith, si no tiene acceso a la máquina o al sistema de archivos, necesitará usar herramientas de terceros, como Red Gate o Adept para hacer una comparación en los sistemas de origen y destino. Las herramientas de Red Gate te permitirán copiar los objetos y esquemas Y los datos.


De una forma en que podría llevar una copia de seguridad de una instancia remota de SQL Server a su unidad local, dado que se cumple la siguiente condición:

  1. Tienes una carpeta compartida en tu disco local.
  2. la carpeta compartida es accesible desde el cuadro de SQL Server.

Ahora, al especificar el comando de copia de seguridad, use la ruta de la carpeta compartida al especificar la opción de disco.


En Microsoft SQL Server Management Studio, puede hacer clic derecho en la base de datos que desea respaldar y hacer clic en Tareas -> Generar scripts.

Esta ventana abre un asistente donde puede configurar lo siguiente para realizar una copia de seguridad decente de su base de datos, incluso en un servidor remoto :

  • Seleccione la base de datos que desea respaldar y presione siguiente,
  • En las opciones que te presenta:
    1. En 2010: bajo las Opciones de tabla / vista, cambie ''Datos de script'' e ''Índices de script'' a Verdadero y presione el siguiente,
    2. En 2012: bajo ''General'', cambie ''Tipos de datos a secuencia de comandos'' de ''Solo esquema'' a ''Esquema y datos''
    3. En 2014: la opción de escribir los datos ahora está "oculta" en el paso "Establecer opciones de secuencias de comandos", debe hacer clic en "Avanzado" y configurar "Tipos de datos a secuencia de comandos" en el valor "Esquema y datos"
  • En las siguientes cuatro ventanas, presione ''seleccionar todo'' y luego a continuación,
  • Elija escribir a una nueva ventana de consulta

Una vez hecho esto, tendrás un script de copia de seguridad listo frente a ti. Cree una nueva base de datos local (o remota) y cambie la primera declaración ''USE'' en el script para usar su nueva base de datos. Guarde el script en un lugar seguro y continúe ejecutándolo en su nueva base de datos vacía. Esto debería crearle una base de datos local (casi) duplicada que luego puede respaldar a su gusto.

Si tiene acceso completo a la base de datos remota, puede elegir marcar ''escribir todos los objetos'' en la primera ventana del asistente y luego cambiar la opción ''Base de datos de secuencias de comandos'' a Verdadero en la siguiente ventana. Sin embargo, tenga cuidado, deberá realizar una búsqueda y reemplazo completos del nombre de la base de datos en el script a una nueva base de datos que en este caso no tendrá que crear antes de ejecutar el script. Esto debería crear un duplicado más preciso, pero a veces no está disponible debido a restricciones de permisos.


Existe la solución al 99% para obtener un archivo bak desde un servidor de SQL remoto a su PC local. Lo describí allí en mi publicación http://www.ok.unsode.com/post/2015/06/27/remote-sql-backup-to-local-pc

En general se verá así:

  • ejecutar script sql para generar archivos bak

  • ejecute el script sql para insertar cada archivo bak en la tabla temporal con el tipo de campo varbinary y seleccione esta fila y descargue los datos

  • repetir anterior. paso tantas veces como tengas archivos bak

  • Ejecutar script sql para eliminar todos los recursos temporales.

eso es todo, tienes tus archivos bak en tu PC local.


La pandilla AppHarbor ha estado luchando con esto y ha desarrollado una solución temporal utilizando objetos de administración de servidor SQL y SqlBulkCopy.

Echa un vistazo a su blog , o ve directamente al código .

Solo lo han probado con AppHarbor, pero vale la pena echarle un vistazo.


Las respuestas anteriores no son correctas. Un script SQL incluso con datos no es una copia de seguridad. Una copia de seguridad es un archivo BAK que contiene la base de datos completa en su estructura actual, incluidos los indises.

Por supuesto, un archivo BAK que contiene la copia de seguridad completa con todos los datos e indises de una base de datos de SQL Server remota se puede recuperar en un sistema local.

Esto se puede hacer con software comercial, para guardar directamente un archivo BAK de respaldo en su máquina local, por ejemplo Este creará directamente un respaldo desde una base de datos SQL remota en su máquina local.


Me sorprende que nadie haya mencionado la solución de copia de seguridad con guión ofrecida por Ola Hallengren que le permite hacer una copia de seguridad de una base de datos desde un servidor remoto a una ruta UNC en su red de forma gratuita (en realidad lo estoy usando mientras escribo para hacer una copia de seguridad de una base de datos desde un servidor de desarrollo al que no tengo acceso remoto que no sea a través de SSMS a un recurso compartido en mi PC de desarrollo). Está disponible desde 2008 y funciona en SQL Server 2005 hasta 2014.

Debe asegurarse de que el recurso compartido que configura tenga suficiente acceso: tiendo a permitir la lectura / escritura completa en el grupo AD ''Todos'' durante el proceso de copia de seguridad porque soy demasiado vago para descubrir algo más restrictivo, pero eso es Decisión personal.

Es muy utilizado, está bien documentado y es muy flexible. Tiendo a colocar los procs y la tabla de registro en su propia pequeña base de datos de utilidades y luego encenderlos. Siempre que todo esté en su dominio de AD y no sea remoto en el sentido de que esté en un servidor de ubicación conjunta o algo así, esto funciona muy bien.

Disculpas por agregar a un hilo muy antiguo, pero me topé con esto cuando busqué otra cosa y pensé que era una adición que valía la pena para cualquiera que estuviera buscando este tema.



No puede crear una copia de seguridad desde un servidor remoto a un disco local, simplemente no hay manera de hacerlo. Y tampoco hay herramientas de terceros para hacer esto, que yo sepa.

Todo lo que puede hacer es crear una copia de seguridad en la máquina del servidor remoto y pedirle a alguien que la cierre y se la envíe.


Para copiar datos y esquemas solamente (no copiará procedimientos almacenados, funciones, etc.), use el Asistente de importación y exportación de SQL Server y elija Nuevo ... al elegir la base de datos de destino.

Haga clic derecho en Base de datos> Tareas> Importar datos.

Elija una fuente de datos

  • Fuente de datos : SQL Server Native Client
  • Nombre del servidor : el servidor remoto
  • Autentificación
  • Base de datos : el nombre de la base de datos

Elige un destino

  • Fuente de datos : SQL Server Native Client
  • Nombre del servidor : el servidor local
  • Autentificación
  • Base de datos : New...

El resto es sencillo.


Podría hacer eso una vez ... Para hacer esto, debe tener un recurso compartido abierto en el servidor remoto. luego puede colocar directamente la copia de seguridad en el recurso compartido, en lugar de la ubicación predeterminada ...

Por lo general, el administrador toma la copia de seguridad y la comparte con nosotros en alguna carpeta compartida. Probé si eso funcionará si coloco la copia de seguridad allí. Funcionó.


Primero, conceda permisos de control total a una ruta local en su máquina (como se muestra a continuación) con Todos. (O alternativamente conceda permisos específicamente a la cuenta del Agente SQL Server).

Segundo, ejecuta lo siguiente:

BACKUP DATABASE [dev] TO DISK = N''//myMachine/c/dev.bak'' WITH COPY_ONLY, INIT;


Puede usar Copiar base de datos ... haga clic derecho en la base de datos remota ... seleccione tareas y use copiar base de datos ... le preguntará sobre el servidor de origen y el servidor de destino. que su origen es el remoto y el destino es su instancia local del servidor SQL.

es fácil


Puedes probar SQLBackupAndFTP . Creará secuencias de comandos para crear todos los objetos en su base de datos y las instrucciones INSERT para todas las filas en sus tablas. En cualquier base de datos puede ejecutar este archivo de script y la base de datos completa se volverá a crear.


Sé que esta es una respuesta tardía, pero tengo que hacer un comentario sobre la respuesta más votada que dice usar la opción de generar scripts en SSMS.

El problema con esto es que esta opción no necesariamente genera un script en el orden de ejecución correcto porque no tiene en cuenta las dependencias.

Para bases de datos pequeñas, esto no es un problema, pero para las más grandes ciertamente se debe a que se debe reordenar manualmente ese script. Intenta eso en la base de datos de 500 objetos;)

Lamentablemente en este caso la única solución son las herramientas de terceros.

ApexSQL éxito herramientas de comparación de ApexSQL (Diff y Data Diff) para tareas similares, pero no puedes equivocarte con ninguna otra ya mencionada aquí, especialmente Red Gate.


Si está en una red local, puede compartir una carpeta en su máquina local y usarla como carpeta de destino para la copia de seguridad.

Ejemplo:

  • Carpeta local:

    C:/MySharedFolder -> URL: //MyMachine/MySharedFolder

  • Servidor SQL remoto:

    Select your database -> Tasks -> Back Up -> Destination -> Add -> Apply ''//MyMachine/MySharedFolder''


Si utiliza Generar scripts en SSMS, haga clic en el botón Avanzado. En la opción ''Generar secuencias de comandos para los objetos dependientes'', haga clic en Verdadero. Al hacer clic, cualquier dependencia de cada objeto también se incluirá en el orden correcto.


Yo uso las herramientas de redgate backup pro 7 para este propósito. puede crear un espejo a partir del archivo de copia de seguridad en crear mosaico en otra ubicación. y puede copiar el archivo de copia de seguridad después de crearlo en la red y en el almacenamiento del host automáticamente.


solo prueba este

1) Comparte una carpeta con permiso completo en tu computadora

2) en su servidor SQL: panel de control -> herramientas administrativas -> servicios -> haga clic derecho en todos los servicios SQL

en la pestaña de inicio de sesión debe comenzar con el administrador de su dominio

3) en el asistente de mantenimiento del servidor sql coloque la ubicación y la carpeta de copia de seguridad (/ yourcomputername / sharedfoldernam)

Hice backup remoto en 8 servidores de sql server 2008 en nuestra empresa.