恢复拷贝过来的sql server7数据库

丝路花雨
发信人: key (东方之珠), 信区: Datebase
标 题: 怎样恢复拷贝过来的sql server7数据库
发信站: 丝路花雨 (Tue Dec 28 09:37:10 1999), 转信
 在SQL Server 7中由于MS重新设计了数据库文件的存储方式,取消了新建设备再建数据库这一繁琐的过程。新的存储格式,一个数据库包括两个文件,mdf数据库文件和ldf日志文件。所以我们在重装机器备份时可以把你要备份的数据库的这两个文件拷贝出来,重新安装之后再恢复。
  在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 = N'voogiya',
@filename1 = N'd:\mssql7\data\voogiya_data.mdf',
@filename2 = N'd:\mssql7\data\voogiyasecond_data.ndf',
@filename3 = N'd:\mssql7\data\voogiya_log.ldf'
就会把这个库加入到SQL Server Group中.但是原数据库下的user还存在,我还没有找到去掉它的办法。
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:\mssql7\data\voogiya_data.mdf'
--
.oooo oooo.
( ) ( )
\ ( ) /
\ ) ( /
^ ^^
一步一个脚印
※编辑: modico 于 2001-3-12 14:36:15 在 [202.117.82.2] 编辑本文

BBS丝路花雨站纪念。。。
紅錵會-輝輝
我来祭奠一个名id、

他年他月她又在何方?