從備份檔案bak中識別SQL Server的版本 ---九五小龐
阿新 • • 發佈:2021-08-23
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 的備份檔案;