sql2008无日志文件附加数据库失败,怎么办

sql2008无日志文件附加数据库失败,怎么办,第1张

sql2008无日志文件附加数据库失败,怎么办

alter database NEWDBNAME set emergency

declare @databasename varchar(255)

set @databasename='NEWDBNAME'

exec sp_dboption @databasename, N'single', N'true'

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) --将目标数据库置为单用户状态

dbcc checkdb(@databasename,REPAIR_REBUILD)

exec sp_dboption @databasename, N'single', N'false'

在网上查了查资料,确实按照此方法把问题解决了,先将解决办法总结如下:

原因:1.可能是数据文件损坏。

2.可能是日志文件损坏或丢失。

3.是因为没有 *** 作权限,所以附加的时候出错,只要设置数据库文件的安全属性即可。

解决原因3的办法:

1.若不是用sqlserver身份验证登陆的,请用sqlserver身份验证sa登陆。

2.修改mdf和ldf文件的权限:“右击”打开该数据库文件的属性窗口,选择“属性”菜单->选择“安全”标签->选择“编辑”按钮,然后在选择组或用户名列表中,选择Authenticated Users,在权限列表中选中完全控制。

4.选择"确定"按钮关闭对话框。

再重新附加数据库,成功。

附加数据库的必要条件:

· 附加数据库时,所有数据文件(MDF 文件和 LDF 文件)都必须可用。

· 在附加数据库时,如果 MDF 和 LDF 文件位于不同目录,该 *** 作将失败。

我们可以使用SQL Server Management Studio附加数据库:

1. 在 SQL Server Management Studio 对象资源管理器中,连接到 SQL Server 数据库引擎的实例,然后展开该实例。

2. 右键单击“数据库”,然后单击“附加”。

3. 在“附加数据库”对话框中,指定要附加的数据库,单击“添加”,然后在“定位数据库文件”对话框中选择数据库所在的磁盘驱动器并展开目录树,以查找并选择数据库的 .mdf 文件。因为数据库日志已经丢失,点击.ldf文件,并点击“移除”。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10648016.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存