SQL Server 附加数据库失败的解决办法 (3415错误)

alexlee 2024-5-29 101 5/29

对于经常做开发的程序员或是开发者来说,导数据库就成了必不可少的步骤,这毕竟生产环境跟开发环境,经常会因为数据的不准确,导致无法正常模拟出BUG的原因。或是无法制造出生产环境的数据,导致无法正常的计算出数据的准确性,或模拟出数据错误的情况。

在无法模拟出数据库的情况下,我们也就无法比较准确的解决因为数据问题,所带过来的BUG,光是靠猜的话,可能会造成来回版本的发布跟程序的修改。这点无疑对我们来说,简直就是程序员的恶梦,而且会浪费大量的精力在这上边。

那今天我们就来讲讲数据库附加的情况下,我们所遇到的问题如下:

SQL Server 附加数据库失败的解决办法 (3415错误)

大家要注意的是,记得摸索要加上报错的编号,就比如这个3415 错误,这样才能更加准确的定位到问题的解决方案。

无法升级数据库 ‘数据库’,因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)

做为资深开发人员来说,当看到这个报错提示的时候,就下意识的以为是不是这个文件的只读属性问题,我一开始就把文件的只读去掉,试了几次,还是报出同样的错误。

不得不怀疑这根本就不是只读属性的问题,随后,在网上看了相关的文章,原来是权限的问题呢。

解决方案有如下2种:

1.0 将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功(亲自试过,是可以成功的)

data 目录路径参考 (C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA)

2.0 在登录验证时,选择“Windows 身份验证”,而不是“SQL Server 身份验证”,即便你的登录帐号是 sa(这种方法,大家可以试一下)。
(注意事项) 如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全操作权限;
将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service。

接下来,我们再来讲下备份与还原数据库时,所遇到的问题如下:

SQL SERVER还原数据库错误:备份介质集不完整。介质簇计数: 2。缺失的介质簇序列号: 1

以上的情况是因为备份的时候,选择了两个备份路径导致的,如下图:

SQL Server 附加数据库失败的解决办法 (3415错误)

这里只要选择一个路径就可以了,否则在还原数据的时候就会报错,避免不必要的浪费时间。

以上是自己的做为资深开发的一些个人经历,把这些经验分享给大家,希望以后大家在从事开发中,可以避免不必要的麻烦,跟浪费时间精力。

要是大家喜欢我的文章的话,可以在文章下留言或是联系我,共同进步,共同探讨开发的一些案例,促进彼此间的交流,分享一些日常的开发趣事。

 

- THE END -
最后修改:2024年7月24日
0

共有 0 条评论