环境:
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选项的话,才能验证备份数据的完整性。