script restaurar restauracion respaldo query por para datos comando codigo bak archivo sql-server backup

restaurar - ¿Dónde se guarda el archivo.bak de la base de datos de SQL Server Management Studio?



restaurar base de datos sql server query (9)

Estaba intentando crear una copia de seguridad para mi base de datos de SQL Server utilizando SQL Server Management Studio 2008 Express. He creado la copia de seguridad pero se está guardando en una ruta que no puedo encontrar. Lo guardo en mi disco duro local y verifiqué Program Files>Microsoft SQL Server>MSSQL 1.0>MSSQL>DATA> pero no está allí.

¿Cuál es la ruta de guardado predeterminada para este DB .bak?


Como dijo Faiyaz, para obtener la ubicación de copia de seguridad predeterminada para la instancia, no puede obtenerla en msdb, pero debe buscar en el Registro. Puede obtenerlo en T-SQL utilizando el procedimiento almacenado xp_instance_regread de la siguiente manera:

EXEC master.dbo.xp_instance_regread N''HKEY_LOCAL_MACHINE'', N''SOFTWARE/Microsoft//Microsoft SQL Server/MSSQL12.MSSQLSERVER/MSSQLServer'',N''BackupDirectory''

La doble barra diagonal inversa (//) se debe a los espacios en esa parte del nombre clave (Microsoft SQL Server). La parte "MSSQL12.MSSQLSERVER" es para el nombre de instancia predeterminado para SQL 2014. Debe adaptarse para poner su propio nombre de instancia (buscar en el Registro).


Debería estar en

Program Files>Microsoft SQL Server>MSSQL 1.0>MSSQL>BACKUP>

En mi caso es

C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/Backup

Si usa la interfaz gráfica de usuario o T-SQL, puede especificar dónde lo desea. Ejemplo de T-SQL

BACKUP DATABASE [YourDB] TO DISK = N''SomePath/YourDB.bak'' WITH NOFORMAT, NOINIT, NAME = N''YourDB Full Database Backup'', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO

Con T-SQL también puede obtener la ubicación de la copia de seguridad, consulte aquí Cómo obtener el nombre del dispositivo físico y el tiempo de copia de seguridad para una base de datos de SQL Server

SELECT physical_device_name, backup_start_date, backup_finish_date, backup_size/1024.0 AS BackupSizeKB FROM msdb.dbo.backupset b JOIN msdb.dbo.backupmediafamily m ON b.media_set_id = m.media_set_id WHERE database_name = ''YourDB'' ORDER BY backup_finish_date DESC


Es posible que desee echar un vistazo aquí, esta herramienta guarda un archivo BAK de un servidor SQL remoto en su disco duro local: FIDA BAK en local


Establecer elemento de registro para su instancia de servidor. Por ejemplo:

HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Microsoft SQL Server / MSSQL.2 / MSSQLServer / BackupDirectory


No creo que la ubicación de copia de seguridad predeterminada se almacene dentro del propio servidor SQL. Los ajustes se almacenan en el registro. Busque la clave "BackupDirectory" y encontrará la copia de seguridad predeterminada.

La tabla "msdb.dbo.backupset" consiste en una lista de copias de seguridad realizadas, si no se realiza una copia de seguridad para una base de datos, no le mostrará nada.


Si la copia de seguridad no se creó en la ubicación predeterminada, puede usar este T-SQL (ejecutar esto en SSMS) para encontrar la ruta del archivo para la copia de seguridad más reciente de todas las bases de datos en su instancia de SQL Server:

SELECT DatabaseName = x.database_name, LastBackupFileName = x.physical_device_name, LastBackupDatetime = x.backup_start_date FROM ( SELECT bs.database_name, bs.backup_start_date, bmf.physical_device_name, Ordinal = ROW_NUMBER() OVER( PARTITION BY bs.database_name ORDER BY bs.backup_start_date DESC ) FROM msdb.dbo.backupmediafamily bmf JOIN msdb.dbo.backupmediaset bms ON bmf.media_set_id = bms.media_set_id JOIN msdb.dbo.backupset bs ON bms.media_set_id = bs.media_set_id WHERE bs.[type] = ''D'' AND bs.is_copy_only = 0 ) x WHERE x.Ordinal = 1 ORDER BY DatabaseName;


Use la secuencia de comandos a continuación y cambie el nombre de la base de DatabaseName con el nombre de la base de datos que ha respaldado. En la columna physical_device_name, tendrá la ruta completa de su base de datos respaldada:

select a.backup_set_id, a.server_name, a.database_name, a.name, a.user_name, a.position, a.software_major_version, a.backup_start_date, backup_finish_date, a.backup_size, a.recovery_model, b.physical_device_name from msdb.dbo.backupset a join msdb.dbo.backupmediafamily b on a.media_set_id = b.media_set_id where a.database_name = ''DatabaseName'' order by a.backup_finish_date desc



.../Program Files/Microsoft SQL Server/MSSQL 1.0/MSSQL/Backup