1. 程式人生 > 其它 >從備份檔案bak中識別SQL Server的版本 ---九五小龐

從備份檔案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 的備份檔案;