从备份文件bak中识别SQL Server的版本 ---九五小庞
SQLServer 的备份文件是以.bak 为后缀的文件,如果想要通过备份文件查看数据库版本,通常的做法就是把数据库还原,但是在还原的过程,如果不是相同的数据库版本,就会导致无法还原;
在数据库中,低版本的备份文件是可以还原到高版本的数据库中,高的就不可以了,比如SQLSERVER 2008 的备份文件可以在SQLSERVER 2012 中还原,2012就不能在2008中还原;
看下,我们常规的做法,找到 .bak 备份文件,鼠标右键,查看属性能否有描述信息;
然而并没有任何信息,说明此方法不可行。
这时候,我们就可以用一段脚本来查看,如下:
RESTORE HEADERONLY FROM DISK = N'D:\SQLSERVER_DATA\备份文件\XXXX.bak'
注意列 - ServerName,UserName,DatabaseName,DatabaseVersion。我们可以从这些列中找出原始服务器名称和数据库版本。
以下是所有SQL Server版本及其从SQL Server 2008到最新版本SQL Server的兼容级别的快速列表。
SQL Server 版本 | 内部数据库版本 | 数据库兼容级别 |
---|---|---|
SQL Server 2017 | 869 | 140 |
SQL Server 2016 | 852 | 130 |
SQL Server 2014 | 782 | 120 |
SQL Server 2012 | 706 | 110 |
SQL Server 2008 R2 | 660/661 | 100 |
SQL Server 2008 | 655 | 100 |
那么,对比上面的列表,我就可以知道,我的这个备份文件是2008 的备份文件;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义