今回は Microsoft SQL Server の「互換性レベル」について解説します。
互換性レベルは、バージョンアップやバックアップ&リストアの可否に影響します。
SQL Server の互換性レベルとは?
Microsoft SQL Server には、以下のように多数のバージョンがあります。
- 2012年リリース SQL Server 2012
- 2014年リリース SQL Server 2014
- 2016年リリース SQL Server 2016
- 2017年リリース SQL Server 2017
それぞれのバージョンの Microsoft SQL Server には「互換性レベル」があります。
互換性レベルの数字が合っているバージョンの Microsoft SQL Server は、データベースのバックアップをリストアしても動く前提です。
例えば互換性レベル 110 に設定した場合は、以下の 6種類のバージョンでアプリが稼働したり、バックアップ&リストアをしても問題がないと言えます。
- 2008
- 2008 R2
- 2012
- 2014
- 2016
- 2017
また、例えば SQL Server 2000(互換性レベル:80)のデータベースのバックアップがある場合、そのバックアップをリストア(復元)できるのは、SQL Server 2008 R2(互換性レベルが 80,90,100)だけ ということになります
サポートされる互換性レベル
縦軸が「バージョン」で横軸が「互換性レベル」です。
60 65 70 80 90 100 110 120 130 140
6.0 ○
6.5 ○ ○
7.0 ○ ○ ○
2000 ○ ○ ○ ○
2005 ○ ○ ○ ○ ○
2008 × × × ○ ○ ○
2008 R2 × × × ○ ○ ○
2012 × × × × ○ ○ ○
2014 × × × × × ○ ○ ○
2016 × × × × × ○ ○ ○ ○
2017 × × × × × ○ ○ ○ ○ ○
互換性レベルは SQL Server のバージョンアップ時に利用できる
他にこの互換性レベルは、SQL Server のバージョンアップ時にも利用できます。
例えば、以下の環境の場合
現状のシステムのデータベース:SQL Server 2008
互換性レベル:80,90,100
SQL Server 2016 にアップグレードを考えている場合
バージョン:SQL Server 2016
互換性レベル:100,110,120,120
そのため、互換性レベルが100に合わせることでバージョンアップが可能と言えます。
ただし SQL Server 2016 の最新機能は使えなくなる可能性があります。
コメント