sql server 2008数据库不能添加附加文件的解决方法
昨天在将一个 SQL Server 2000 数据库附加到 SQL Server 2008 时出现如下的错误:
附加数据库 对于 服务器“servername”失败。 (Microsoft.SqlServer.Smo)
无法升级数据库 ‘dbname’,因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)
查看了数据库文件,他们并没有只读属性,在 SQL Server 2000 中附加都是一切正常的啊。点击错误消息对话框的帮助链接,打开的却是一个 I’m sorry 的无效链接,BS 一下微软。
多方研究,发现并不是文件只读的问题,严格说应该是一个“权限”的问题,当前的 SQL Server 登录帐号没有对要附加文件的可写权限,就会出现上述“只读”的提示,
解决办法有以下几种:
方法1: 将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;
方法2: 在登录验证时,选择“Windows 身份验证”,而不是“SQL Server 身份验证”,即便你的登录帐号是 sa;
方法3: 如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全操作权限;
将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service;
此问题是在 Windows XP 下发生的,顺带说一下,现在的 SQL Server 2008 企业版可以在 XP 下安装了。
有关于2008 SQL数据库不能添加附加文件问题
sql server中添加附件

右键:选择附加

但有时会发生错误。

可能是此时要导入的数据库已经存在。或者,
这时选中我们的mdf,例如我的是“人事管理系统”
右键:属性-安全

选中author开头的选项勾选-完全控制

补充
通过附加功能添加现成的数据库是非常方便的,然而有时会出现附加数据库失败。那么,我们该如何解决此问题?

有两种解决方法
【第一种方法】
第一步:找到要添加数据库的.mdf文件,点击右键,选择属性。

第二步:在属性页面点击安全,选择Authenticated Users,单击编辑

第三步:Authenticated Users权限中选择完全控制,点击确定,点击属性界面的确定。

第四步:同理,右键点击数据库的.ldf文件,打开属性。按以上步骤再次设置即可。

完成以上步骤,再进行附加数据库,这时就可以。

【第二种方法】
第一步:打开数据库实例的安装目录,打开DATA文件夹。
(如我的实例目录地址为:D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 也可能当时安装时装在C盘了)

第二步:将要附加的数据库.mdf文件和.ldf文件,剪切或复制到DATA文件夹里。

完成以上步骤,再次附加数据库。这时就可以了。

补充二 权限问题
方法一
1,找到要添加数据库的.mdf文件,点击右键,选择属性。
2、点击安全 → 编辑 → 添加 → 高级 → 立即查找 →
3、选中 Everyone 点击 确定 → 确定 →
4、勾选上 完全控制 点击 应用 点击 确定 → 确定
5,同理,右键点击数据库的.ldf文件,打开属性。按以上步骤再次设置即可。
6,完成以上步骤,再次附加数据库。这时就可以了。
方法二、
1,打开数据库实例的安装目录,打开DATA文件夹。(如我的实例目录地址为:C:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA
2,将要附加的数据库.mdf文件和.ldf文件,剪切或复制到DATA文件夹里。
3,完成以上步骤,再次附加数据库。这时就可以了。
到此这篇关于sql server 2008数据库不能添加附加文件的解决方法的文章就介绍到这了,更多相关sql server 2008不能添加附加文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- SQL SERVER 2008 无法附加数据库的解决方法
- Windows server 2008 R2(win7)登陆sqlplus错误ORA-12560和ORA-12557的解决方法
- SQL SERVER 2008 R2配置管理器出现“远程过程调用失败”(0x800706be)错误提示
- 安装sql server 2008时的4个常见错误和解决方法
- sqlserver2008查看表记录或者修改存储过程出现目录名无效错误解决方法
- SQLServer 2008 :error 40出现连接错误的解决方法
- 使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法
- SQL Server 2008登录错误:无法连接到(local)解决方法
- Win2008中SqlServer2008 无法打开错误日志文件导致无法启动的解决方法
- Sql Server 2008 数据库附加错误:9004问题解决方案
相关文章
sql server 2008安装失败的解决办法 彻底卸载老版本!
这篇文章主要介绍了sql server 2008安装失败的解决办法:彻底卸载老版本!感兴趣的小伙伴们可以参考一下2016-08-08
SQLSERVER2008中CTE的Split与CLR的性能比较
之前曾有一篇POST是关于用CTE实现Split,这种方法已经比传统的方法高效了。今天我们就这个方法与CLR实现的Split做比较。在CLR实现Split函数的确很简单,dotnet framework本身就有这个function了。2011-10-10
还原sqlserver2008 媒体的簇的结构不正确的解决方法
还原sqlserver2008时,遇到的“媒体的簇的结构不正确的解决方法”2010-07-07
探讨如何配置SQL2008,让其允许C#远程外部连接的方法详解
本篇文章是对如何配置SQL2008,让其允许C#远程外部连接的方法进行了详细的分析介绍,需要的朋友参考下2013-06-06
SQL Server 2008打开输入sa密码提示无法登陆数据库的解决方法
与 SQL Server建立连接时出现与网络相关的或特定于实例的错误,这篇文章主要介绍了SQL Server 2008打开输入sa密码提示无法登陆数据库的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07


最新评论