在SQL Server中提供了这种恢复方式的存储过程。
1.sp_attach_db [@dbname =] dbname,[@filename1 =] filename_n
给系统添加一个数据库,在dbname指定数据库名称,filename_n指定数据库的文件和日志文件。比如我有一个voogiya的库,停止SQL Server服务备份voogiya_data.mdf,voogiya_log.ldf,启动SQL server,删除掉这个库,然后再把这两上文件拷到sql server DATA目录中,在Query Analyzer中执行如下语句:
EXEC sp_attach_db @dbname = Nvoogiya,
@filename1 = Nd:mssql7datavoogiya_data.mdf,
@filename2 = Nd:mssql7datavoogiya_log.ldf
就会把这个库加入到SQL Server Group中.
2.sp_attach_single_file_db [@dbname =] dbname,
[@physname =] physical_name
这个命令和上面的功能一样,在physical_name中只要写上据库的物理文件名就可以了,日志文件SQL server会重新建立。这个存储过程的运行要先执行下面的存储过程:
sp_detach_db @dbname = dbname
同样以上面的为例:
EXEC sp_detach_db @dbname = voogiya
EXEC sp_attach_single_file_db @dbname = voogiya,
@physname = d:mssql7datavoogiya_data.mdf
要注意执行以上存储过程的用户要在sysadmin中.
以上方法在windows Nt 4.0,service pack5,sql server 7.0上运行通过。