当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 拷贝的SQL Server 7的恢复方法

MSSQL
如何在把超过固定长度的文字以……表示
精彩的近乎完美的分页存储过程
关于SQL Server SQL语句查询分页数据的解决方案
删除Access数词库中的空记录
在SQLSERVER2005中实现素数计算
经常用到的交叉表问题,一般用动态SQL能生成动态列!
sql server存储过程、存储函数的加密、解密
在SQL Server 2005中查询表结构及索引
取得拼音字头的存储过程
SQL Server自动备份无法删除过期的备份文件
未与信任SQL Server连接相关联的解决方法
小結SQL Server連接失敗錯誤及解決
SQL Server2000+JDBC常见问题及解决
PL/SQL实现Oracle数据库任务调度
Oracle中捕获问题SQL解决CPU过渡消耗
SQL Server 某些条件下求某日的日期
如何保持Oracle数据库的优良性能
SQL Server05 M 3.0 中复制和远程数据访问功能的技术对比
sql server平台用存储过程进行分页的两种方法
sql server 2000中循环插入100万条数据

MSSQL 中的 拷贝的SQL Server 7的恢复方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 69 ::
收藏到网摘: n/a

在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 = 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上运行通过。