环境:

os:windows 2003 server enterprise edition 32bit(sp2)

sqlserver:我这里是比较老的SQL Server2000 (SP4)

发现了一个奇怪的问题,我获取了一个SQLServer2000数据库的备份文件(这个备份文件从哪里来的,无需追究,反正就是有一个SQL Server2000数据库的备份文件),没有任何关于这个备份文件的描述.

1.如何获取数据库名称

restore headeronly from disk='d:\publish\DBNAME.bak'

2.如何获取数据库文件逻辑名称以及物理名称

restore filelistonly from disk='d:\publish\DBNAME.bak'

3.获取由给定备份设备所标识的备份媒体的信息组成的结果集信息

restore labelonly from  disk='d:\publish\DBNAME.bak'

4.验证备份是否有效

restore verifyonly from disk='d:\publish\DBNAME.bak'

 

值得注意的是第四点,在SQL Server 2000和2005中,使用默认备份设置的话,RESTORE VERIFYONLY不能检查出来备份文件的数据是否已经被破坏。仅仅在SQL Server 2005中当创建备份时使用了CHECKSUM选项的话,才能验证备份数据的完整性。