我正在尝试使用SQL Server Management Studio 2008 Express为我的SQL Server数据库创建备份。我创建了备份,但它正在保存在我无法找到的某个路径。我将它保存在本地HD上,我检查了Program Files>Microsoft SQL Server>MSSQL 1.0>MSSQL>DATA>
但它不在那里。从SQL Server Management Studio保存的数据库.bak文件在哪里?
此DB .bak的默认保存路径是什么?
我正在尝试使用SQL Server Management Studio 2008 Express为我的SQL Server数据库创建备份。我创建了备份,但它正在保存在我无法找到的某个路径。我将它保存在本地HD上,我检查了Program Files>Microsoft SQL Server>MSSQL 1.0>MSSQL>DATA>
但它不在那里。从SQL Server Management Studio保存的数据库.bak文件在哪里?
此DB .bak的默认保存路径是什么?
应在
Program Files>Microsoft SQL Server>MSSQL 1.0>MSSQL>BACKUP>
在我的情况下,它是
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup
如果你使用,你可以指定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
有了T-SQL,你也可以得到备份的位置,在这里看到Getting the physical device name and backup time for a SQL Server database
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
你尝试过:
C:\ Program Files文件\ Microsoft SQL Server的\ MSSQL10.SQL2008 \ MSSQL \备份
脚本来获得在上周所有备份,可以发现:
http://wraithnath.blogspot.com/2010/12/how-to-find-all-database-backups-in.html
我有很多更多的备份SQL脚本也有在
...\Program Files\Microsoft SQL Server\MSSQL 1.0\MSSQL\Backup
使用下面的脚本,并与当时的你已经备份的数据库的名称切换DatabaseName
。在列physical_device_name,你有你备份数据库的完整路径:
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
如果备份不是在默认位置创建的,你可以使用这个T-SQL(SSMS中运行这个)找到的文件路径为最近备份您的SQL Server实例的所有DBS:
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;
你可能想在这里看看,这个工具可以节省从远程SQL Server中的BAK文件到本地硬盘:FIDA BAK to local
我不认为默认备份loc ation存储在SQL服务器本身内。 这些设置存储在注册表中。找到“BackupDirectory”密钥,您将找到默认备份。
的“msdb.dbo.backupset”表由采取备份的列表,如果没有备份是采取一个数据库,它不会告诉你任何东西
正如Faiyaz说,获取实例的默认备份位置,但无法将其导入到msdb中,但必须查看Registry。你可以得到它在T-SQL中使用这样xp_instance_regread存储过程:
EXEC master.dbo.xp_instance_regread
N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer',N'BackupDirectory'
双反斜线(\\)是因为空间成关键部分的名称(Microsoft SQL Server的)。 “MSSQL12.MSSQLSERVER”部分用于SQL 2014的默认实例名称。您必须适应放置自己的实例名称(查看注册表)。
为您的服务器实例设置注册表项。例如:
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ Microsoft SQL Server的\ MSSQL.2 \的MSSQLServer \ BackupDirectory
是否有人迷茫了`...`的答案吗?这意味着您的* Program Files *文件夹的位置可能不是* C *驱动器的根目录。 – 2014-02-19 21:18:31