Pregunta

¿Cómo restaurar una base de datos de copia de seguridad utilizando SQL Server 2005 a través de la red?Recuerdo hacer esto antes, pero había algo extraño acerca de la forma en que usted tuvo para hacerlo.

¿Fue útil?

Solución

La base de datos a menudo se ejecuta como un servicio en una cuenta sin acceso a la red.Si este es el caso, entonces usted no será capaz de restaurar directamente a través de la red.La copia de seguridad debe ser copiado a la máquina local o en la base de datos de necesidades de servicio para que se ejecute como un usuario con el adecuado acceso a la red.

Otros consejos

Usted tiene algunas opciones para utilizar un archivo de red como una fuente de respaldo

  1. Conectar a unidad de red/ruta de acceso, alojamiento de archivos, bajo el MISMO usuario como MS-SQL Server.
  2. El uso extendido xp_cmdshell procedimiento almacenado para conectar a unidad de red desde el interior de MS SQL (tal manera, shell de comandos, tendrá el mismo privilegies como la cuenta de usuario que ejecuta SSMS)
-- allow changes to advanced options 
EXEC sp_configure 'show advanced options', 1
GO
-- Update currently configured values for advanced options.
RECONFIGURE
GO
-- To enable xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
-- Update currently configured values for advanced options.
RECONFIGURE
GO
EXEC xp_cmdshell 'NET USE Z: \\Srv\Path password1 /USER:Domain\UserName'

Después de la unidad Z:será visible en el Server Managment studio, o simplemente

RESTORE DATABASE DataBaseNameHere FROM DISK = 'Z:\BackNameHere.BAK'
GO

Usted no puede hacer esto a través de la SSMS interfaz gráfica de usuario, pero se puede hacer uso de un script.RESTAURAR BASE de datos desde el DISCO='\unc\path\filename' Si usted necesita este proceso automatizado, la mejor manera es la instalación de un Trabajo de SQL Server y ejecutar como un usuario con acceso a la ubicación del archivo.

Asegúrese de que el usuario que ejecuta su SQL services en "Services.msc" es una de active directory "Domain User" esto solucione el problema.

Usted puede utilizar el SP xp_cmdshell un mapa de la networkdrive para sql server, después de que se mostrará en la ventana de exploración de archivos.

EXEC xp_cmdshell 'NET USE Z: SERVERLOCATION PASSWORD /USER:DOMAIN\USERNAME'

más info aquí: DB Restaurar desde una Unidad de Red

Trabajó para mí!

Yo he tenido que hacer esto un par de veces, y sólo hay dos opciones, que yo sepa.Copie el archivo localmente en el Servidor de SQL server, o en el servidor SQL server crear una unidad de red asignada a la parte que contiene el archivo de copia de seguridad.

También, usted necesita para asegurarse de que el Servicio de SQL Server se ejecuta como un usuario que tiene acceso a la red - y permisos para el recurso compartido donde el archivo de copia de seguridad vidas.Sistema Local '' no tiene permisos para acceder a la red.

Como una nota de lado, si usted sucede estar ejecutando SQL en una Máquina Virtual es a menudo menos problemas a sólo temporalmente establecer una nueva unidad en la máquina virtual con el espacio suficiente para copiar sus archivos de copia de seguridad, hacer la restauración de esa nueva copia local, y, a continuación, elimine la unidad de temp.

Esto puede ser útil si parar/iniciar el servicio de SQL para cambiar la cuenta de un problema.

Crear una unidad compartida en la máquina que tiene las copias de seguridad, dicen server1 tiene las copias de seguridad en la carpeta de "Copias de seguridad".Control total de la subvención a la cuenta que ejecuta SQL Server.En el Servidor que desea restaurar el lanzamiento de SSMS ir restaurar la base de datos y seleccione "Desde el Dispositivo".En la "ubicación de archivo de Copia de seguridad-"Servidor" cuadro de diálogo" y de quitar cualquier cosa en la "Ruta Seleccionada de campo" y en el "Nombre de Archivo" campo de abastecimiento de ruta de acceso completa de manera "\servidor\backups\db.bak".Al menos a mí me funcionó al migrar de 05 a 08.No es el método preferido, ya que cualquier red de hipo puede causar un problema con la restauración.

EXEC sp_configure 'show advanced options', 1
GO

-- Actualización en la actualidad los valores configurados para opciones avanzadas.

RECONFIGURE
GO
-- To enable xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO

-- Actualización en la actualidad los valores configurados para opciones avanzadas.

RECONFIGURE
GO

--Esto se debe ejecutar en línea de comandos (cmd)

NET USE Z: \\172.100.1.100\Shared Password /USER:administrator /Persistent:no

a continuación, en SQL Server

EXEC xp_cmdshell 'NET USE Z: \\172.100.1.100\Shared Password /USER:administrator /Persistent:no'

--Después de la unidad Z:será visible en el Server Management studio, o simplemente

RESTORE DATABASE DB FROM DISK = 'Z:\DB.BAK'
WITH REPLACE
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top