附加数据库对于服务器失败(Microsoft.SqlServer.Smo),无法升级数据库,因为它是只读的,或者具有只读文件...

今天在将一个 SQL Server 2000 数据库附加到 SQL Server 2005时出现如下的错误:附加数据库对于服务器失败(Microsoft.SqlServer.Smo),无法升级数据库test,因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)

查看了数据库文件,他们并没有只读属性,在 SQL Server 2000 中附加都是一切正常的啊。

经查阅资料,发现并不是文件只读的问题,严格说应该是一个“权限”的问题,当前的SQL Server登录帐号没有对要附加文件的可写权限,就会出现上述“只读”的提示,解决办法有以下几种:

1.将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;

2.在登录验证时,选择“Windows身份验证”,而不是“SQL Server身份验证”,即便你的登录帐号是sa;

3.如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全操作权限;

4.将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service;

转载于:https://www.cnblogs.com/huangliangcoco/archive/2009/05/09/1453122.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个问题出现的原因是在尝试附加一个与现有数据库同名的数据库。每个数据库服务器中都有一个唯一的名称,因此不能同时存在两个同名的数据库。 要解决这个问题,可以使用以下步骤: 1. 首先,确保你要附加数据库文件具有不同的名称,与现有数据库文件不同。 2. 打开SQL Server Management Studio (SSMS) 并连接到你的数据库服务器。 3. 在对象资源管理器中,展开 "数据库" 节点,右键单击 "附加",选择 "数据库"。 4. 在 "附加数据库" 对话框中,点击 "添加" 按钮选择要附加数据库文件。 5. 在 "数据库详细信息" 部分,为新附加数据库指定一个唯一的数据库名称。 6. 确认附加数据库文件路径和日志文件路径是否正确。 7. 点击 "确定" 按钮附加数据库。 如果你仍然遇到相同的问题,可能是因为你在附加数据库时指定的数据库名称与现有数据库文件名不一致。请确保在指定数据库名称时,与要附加数据库文件的名称完全匹配。 同时,还要确保你有足够的权限来执行附加操作。如果你是作为一个普通用户登录到SQL Server,可能需要联系管理员获取附加数据库的权限。 总结起来,错误提示 "无法附加与现有数据库同名的数据库" 说明了附加操作的数据库名称与已存在的数据库名称发生了冲突。解决这个问题的关键是确保数据库名称的唯一性,并且确保你具有足够的权限来执行附加操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值