从SQL Server Management Studio保存的数据库.bak文件在哪里?

Cip*_*her 29 sql-server backup

我试图使用SQL Server Management Studio 2008 Express为我的SQL Server数据库创建备份.我已经创建了备份但它正在保存在某些我无法找到的路径上.我将它保存在我的本地高清上,然后我检查了Program Files>Microsoft SQL Server>MSSQL 1.0>MSSQL>DATA>但它不在那里.

这个DB .bak的默认保存路径是什么?

SQL*_*ace 48

应该在

Program Files>Microsoft SQL Server>MSSQL 1.0>MSSQL>BACKUP>
Run Code Online (Sandbox Code Playgroud)

就我而言

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup
Run Code Online (Sandbox Code Playgroud)

如果你使用gui或T-SQL,你可以指定你想要它的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
Run Code Online (Sandbox Code Playgroud)

使用T-SQL,您还可以获取备份的位置,请参阅此处获取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
Run Code Online (Sandbox Code Playgroud)


Ken*_*itt 15

如果未在默认位置创建备份,则可以使用此T-SQL(在SSMS中运行)来查找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;
Run Code Online (Sandbox Code Playgroud)