请问分离数据后附加数据库的出错问题

ivy_ou 2003-10-17 02:37:51
我分离了数据库,并且已经删除了日志文件
但是再附加数据库的时候出现以下的错误
错误1813,未能打开新的数据库‘。。。。’
设备激活错误,物理文件名可能有错误

但是物理文件名不存在错误的啊
我是指定路径的,所以不存在这个问题啊。
到底是怎么回事?
...全文
191 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
txlicenhe 2003-10-17
  • 打赏
  • 举报
回复
新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数

据库文件,启动数据库,该数据库被设未suspect

然后把数据库改成紧急模式:
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = '数据库名'

把LDF文件改名,再执行
DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )

恢复数据库紧急模式
update sysdatabases set status = 0 where name = '数据库名'
执行
restore database 数据库名 WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override

然后用DBCC CHECKDB ('数据库名')看看有没有错误

如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库

ivy_ou 2003-10-17
  • 打赏
  • 举报
回复
"置疑"
我把数据库下载到我自己本机测试,成功了才在服务器上面操作的
我自己的没有置疑.但是服务器上面的置疑了
每次消除置疑,但是就是不能写入数据库
能访问,但是过了几分钟显示置疑然后不能访问数据库了.
zjcxc 元老 2003-10-17
  • 打赏
  • 举报
回复
是否你恢复的步骤错了.

到企业管理器中,看看你的数据库处于什么状态.

紧急模式有几种:"不可访问"、"装载"、"脱机"、"恢复"、"置疑"
你目前是那一种?
ivy_ou 2003-10-17
  • 打赏
  • 举报
回复
请问,我的数据库提示好像是处在紧急模式
那么我要怎么样才能变成我原来默认的模式?
ivy_ou 2003-10-17
  • 打赏
  • 举报
回复
数据读出没有问题了,也恢复了数据了,但是写入确出现问题了.
yujohny 2003-10-17
  • 打赏
  • 举报
回复
你重新启动计算机
zjcxc 元老 2003-10-17
  • 打赏
  • 举报
回复
数据库其他操作是否正常?
你的数据库查询没问题吧?
ivy_ou 2003-10-17
  • 打赏
  • 举报
回复
是这样的错误,但是我现在已经恢复了数据库了
但是不能备份数据库不知道为什么了
提示是:backupdatebase不能用于紧急模式打开数据库


我已经停止了数据库再重新启动还是这样的错误
zjcxc 元老 2003-10-17
  • 打赏
  • 举报
回复
为什么是.ldf?

ldf是日志文件,不是数据文件,你删除错了吧?

数据文件是.mdf
ivy_ou 2003-10-17
  • 打赏
  • 举报
回复
未能打开新数据库 'XXXX_Data1'。CREATE DATABASE 将终止。
设备激活错误。物理文件名 XXXX_log.ldf' 可能有误。

一样的错误
jkljf 2003-10-17
  • 打赏
  • 举报
回复
在查询分析器中运行命令试试?是不是中英文名的问题?你要不把你的那个mdf文件就直接改成a.mdf再试试?以后你要改名字就执行:sp_renamedb 'a', 'your_dbname'
zjcxc 元老 2003-10-17
  • 打赏
  • 举报
回复
试试在查询分析器中.
ivy_ou 2003-10-17
  • 打赏
  • 举报
回复
楼上的
我就是操作到附加数据库 企业管理器->服务器->数据库->右键->附加数据库
这里就出现了我说的错误了
txlicenhe 2003-10-17
  • 打赏
  • 举报
回复
1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2:删除LOG文件
3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500多K
再将此数据库设置自动收缩
或用代码:
下面的示例分离 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'

zjcxc 元老 2003-10-17
  • 打赏
  • 举报
回复
--你是用什么方法附加的?试试查询分析器中执行:

sp_attach_single_file_db '数据库名','数据文件名'
ivy_ou 2003-10-17
  • 打赏
  • 举报
回复
不行啊,同样的错误
sdhdy 2003-10-17
  • 打赏
  • 举报
回复
控制面板—》管理工具-》服务-》MSSQLSERVER->右键-》停止 然后重启该服务
yujohny 2003-10-17
  • 打赏
  • 举报
回复
你停止后重新启动SQL服务器,试试

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧