请问 附加 数据库时 没有 日志的文件情况下 能不能导入 数据库文件????
请问 附加 数据库时 没有 日志的文件情况下 能不能导入 数据库文件????
问题点数:20、回复次数:20Top
1 楼vivianfdlpw()回复于 2005-08-19 18:19:36 得分 0
sp_attach_single_file_db
将只有一个数据文件的数据库附加到当前服务器。
语法
sp_attach_single_file_db [ @dbname = ] 'dbname'
, [ @physname = ] 'physical_name'
参数
[@dbname =] 'dbname'
要附加到服务器的数据库的名称。dbname 的数据类型为 sysname,默认值为 NULL。
[@physname =] 'phsyical_name'
据库文件的物理名称,包括数路径。physical_name 的数据类型为 nvarchar(260),默认值为 NULL。
返回代码值
0(成功)或 1(失败)
结果集
无
注释
当使用 sp_attach_single_file_db 将数据库附加到服务器时,它创建一个新的日志文件并执行额外的清除工作,从新附加的数据库中删除复制。
仅对以前使用显式 sp_detach_db 操作从服务器分离的数据库执行 sp_attach_single_file_db。
权限
只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行本过程。
示例
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
Top
2 楼MorningTea(一勺抹茶)回复于 2005-08-19 20:37:39 得分 0
可以!我只有mdf,经常从我的移动硬盘搬到我学校的机房Top
3 楼Student02370236(★★★★★★)回复于 2005-08-19 22:31:29 得分 0
那如果在建立DB的时候有MDF和LDF文件,但是后来LDF遗失了,只有MDF文件,这时可不可以只附加MDF文件呢?Top
4 楼iwl()回复于 2005-08-20 01:32:28 得分 0
可以!只要你的mdf是正确的Top
5 楼Student02370236(★★★★★★)回复于 2005-08-20 01:54:17 得分 0
但是附加数据库后是置疑状态...Top
6 楼autocar(xin)回复于 2005-08-20 18:17:09 得分 0
我的意思是 建立DB的时候有MDF和LDF文件,但是后来LDF遗失了,只有MDF文件,这时可不可以只附加MDF文件呢?
Top
7 楼vivianfdlpw()回复于 2005-08-20 19:08:59 得分 0
http://www.beyoyo.net/dw/archives/2005/03/sql_servereaoea.htmlTop
8 楼aohan(aohan)回复于 2005-08-20 23:33:41 得分 0
一楼不都回答了吗?楼主先仔细看看再问Top
9 楼autocar(xin)回复于 2005-08-21 09:59:00 得分 0
我试过了但不行!!!!
在查询分析器运行:
EXEC sp_detach_db @dbname = 'ttt'
EXEC sp_attach_single_file_db @dbname = 'ttt',
@physname = 'd:\ttt_Data.mdf'
但出错!!! 错误信息:
Server: Msg 15010, Level 16, State 1, Procedure sp_detach_db, Line 25
The database 'ttt' does not exist. Use sp_helpdb to show available databases.
Server: Msg 5170, Level 16, State 1, Line 1
Cannot create file 'd:\ttt_log.LDF' because it already exists.
Server: Msg 1813, Level 16, State 1, Line 1
Could not open new database 'ttt'. CREATE DATABASE is aborted.
Device activation error. The physical file name 'C:\Microsoft SQL Server\MSSQL\data\ttt_Log.LDF' may be incorrect.
我想附加一个 ttt 数据库 , 'd:\ttt_Data.mdf' 这个文件是从朋友的机器上复制过来的,但没有复制日志文件
Top
10 楼autocar(xin)回复于 2005-08-22 21:43:47 得分 0
高手快来呀,版主救命呀Top
11 楼vivianfdlpw()回复于 2005-08-22 21:56:04 得分 0
单独执行EXEC sp_detach_db @dbname = 'ttt'成功吗?
Top
12 楼autocar(xin)回复于 2005-08-23 23:22:55 得分 0
单独执行:
EXEC sp_detach_db @dbname = 'ttt'
也出错!!!说明一下在sql server 中 没有 ttt 这个数据库,错误信息:
Server: Msg 15010, Level 16, State 1, Procedure sp_detach_db, Line 25
The database 'ttt' does not exist. Use sp_helpdb to show available databases.
Top
13 楼fsqman(q)回复于 2005-08-25 18:50:57 得分 0
upTop
14 楼MorningTea(一勺抹茶)回复于 2005-08-25 19:42:24 得分 0
autocar(xin) ,执行EXEC sp_detach_db @dbname = 'ttt'要在master数据库环境下执行哦!
不知道你的不行是不是这样的原因
Top
15 楼fsqman(q)回复于 2005-08-26 17:35:19 得分 0
我也想知道Top
16 楼autocar(xin)回复于 2005-08-27 09:30:55 得分 0
高手快来呀Top
17 楼stephen_xl(色影无限)回复于 2005-09-01 10:48:41 得分 0
可以附加上去,但是数据库处于置疑状态,需要另外处理才能使用
请到论坛搜索一下无日志恢复数据库的帖子
Top
18 楼alien54155415()回复于 2005-09-01 11:21:26 得分 20
http://blog.csdn.net/pestd/archive/2005/04/26/363911.aspxTop
19 楼zzxiaoma(小马)回复于 2005-09-01 15:54:28 得分 0
应该是没办法了把
Top
20 楼fsqman(q)回复于 2005-09-05 22:44:27 得分 0
upTop




