SQL2008错误948是什么原因导致的,如何解决?
- 内容介绍
- 文章标签
- 相关推荐
在使用 SQL Server 2008 时遇到错误码 948 是一个相当常见但又让人头疼的问题。它通常代表着你正在尝试附加或打开一个数据库文件。而该文件的内部版本与当前 SQL Server 实例不兼容,或者你没有足够的权限来完成操作。
SQL Server 报错信息一般形如:
Msg 948。Level 16,State 1,Line 1
Database 'xxx' version is 661;this instance supports up to version 655.
这条信息告诉我们:数据库文件的版本号高于当前实例所能识别的最大版本号。所以,直接在低版本实例中打开就会报错。
二、典型使用者痛点
痛点 ①:从高版本降级导致附加失败
很多开发者在把从 SQL Server 2016 或更高版本迁移过来的数据库部署到只有 SQL Server 2008 的旧服务器时都会碰到“无法附加数据库”或“错误 948”。他们往往会问这方面,
- “为什么我的 .mdf 文件不能在 SQL 2008 上打开?”
- “是否可以强制降级或修改文件?”
- “如何保持数据完整性?”
痛点 ②:权限不足导致附加失败
即使文件本身兼容,有时也会因为 登录使用者权限不足 而收到一样的错误提示。至于常见场景包括,
- Asp.Net 应用使用自带服务账号执行附加操作。
- IIS 中的 AppPool 没有对 MDF/ LDF 文件夹写入权限。
- User 在 SSMS 中以普通使用者身份连接,缺少 CREATE DATABASE 权限。
在使用 SQL Server 2008 时遇到错误码 948 是一个相当常见但又让人头疼的问题。它通常代表着你正在尝试附加或打开一个数据库文件。而该文件的内部版本与当前 SQL Server 实例不兼容,或者你没有足够的权限来完成操作。
SQL Server 报错信息一般形如:
Msg 948。Level 16,State 1,Line 1
Database 'xxx' version is 661;this instance supports up to version 655.
这条信息告诉我们:数据库文件的版本号高于当前实例所能识别的最大版本号。所以,直接在低版本实例中打开就会报错。
二、典型使用者痛点
痛点 ①:从高版本降级导致附加失败
很多开发者在把从 SQL Server 2016 或更高版本迁移过来的数据库部署到只有 SQL Server 2008 的旧服务器时都会碰到“无法附加数据库”或“错误 948”。他们往往会问这方面,
- “为什么我的 .mdf 文件不能在 SQL 2008 上打开?”
- “是否可以强制降级或修改文件?”
- “如何保持数据完整性?”
痛点 ②:权限不足导致附加失败
即使文件本身兼容,有时也会因为 登录使用者权限不足 而收到一样的错误提示。至于常见场景包括,
- Asp.Net 应用使用自带服务账号执行附加操作。
- IIS 中的 AppPool 没有对 MDF/ LDF 文件夹写入权限。
- User 在 SSMS 中以普通使用者身份连接,缺少 CREATE DATABASE 权限。

