关于数据库mdf文件有什么用的问题解答
在MSSQLServer7/2000中摒弃了以前版本中的设备对象,一个数据库文件包含两个文件:.mdf和.ldf。在系统瘫痪之前把这两个文件从SQLServer的安装目录的data子目录里拷贝出来(一般为D:MSSQLDATA),重新安装完成系统之后,再将这两个文件拷贝到SQLServer安装目录的data子目录里面,然后进行如下操作就可以恢复你的数据库了。恢复时有两种方式可供选择:
1、调用系统存储过程SP_ATTACH_DB
举一个例子,需要备份和恢复一个名为student的数据库。先打开SQLServerServiceManager,关掉SQLServer服务,把需要备份的student数据库复制到其他的地方(可以是自己硬盘的其它盘,也可通过局域网复制到他人的PC上),包含有两个文件student.mdf和student.ldf。某些时间以后,系统数据库瘫痪,需要进行恢复。先重新安装系统,把student.mdf和student.ldf这两个文件拷贝到SQLServer安装目录的data子目录里面,再在MSQueryAnalyzer中运行如下命令:
execsp_attach_db@dbname=N""student"",
@filename1=N""d:MSSQLDatastudent_Data.mdf"",@filename2=N""d:MSSQLDatastudent_Log.ldf""
第一行命令表示要恢复的数据库名称,可以是原来的名称student,也可以另外起一名称,但一定要保证唯一。第二、三行命令表示数据库文件的物理名称,也就是说你拷贝过来的数据库文件student.mdf和student.ldf的实际位置。
2、调用系统存储过程SP_ATTACH_SINGLE_FILE_DB
如果日志文件.ldf丢失,可以采用这个命令。还以上面的student数据库为例,在MSQueryAnalyzer中运行如下命令:
EXECsp_detach_db@dbname=′student′
EXECsp_attach_single_file_db@dbname=′student′,@physname=′d:MSSQLDatastudent_Data.mdf′调用这个存储过程不必指定日志文件,它会自动生成日志文件。注意以上恢复拷贝的数据库的方法一定要保证重新安装后的SQL的字符集和排序方式同以前的系统完全相同,否则将不能成功
附加数据库:
企业管理器--右键"数据库"--所有任务--附加数据库
--选择你的.mdf文件名--确定
--如果提示没有.ldf文件,是否创建,选择"是"
查询分析器中的方法:
--有数据文件及日志文件的情况sp_attach_db"数据库名"
- 看不过瘾?点击下面链接! 【本站微信公众号:gsjx365,天天有好故事感动你!】