新しいバージョンの古いバージョンのSQL Serverとの互換性をテストすることは可能ですか?SQL Server 2008とSQL Server 2012との互換性に関するテストスクリプト
は何とかすべての新機能(新しい関数名、新しいシンタックスシュガーなど)
我々はVMが上の古いSQLサーバーのバージョンとアップ無料貴重なリソースをホスティングしていると離れて行うことができ、そのように理解していないサーバーに伝えるために、テストベッドVMホスト。
新しいバージョンの古いバージョンのSQL Serverとの互換性をテストすることは可能ですか?SQL Server 2008とSQL Server 2012との互換性に関するテストスクリプト
は何とかすべての新機能(新しい関数名、新しいシンタックスシュガーなど)
我々はVMが上の古いSQLサーバーのバージョンとアップ無料貴重なリソースをホスティングしていると離れて行うことができ、そのように理解していないサーバーに伝えるために、テストベッドVMホスト。
古いサーバーバージョンを有効にする代わりに、メイン(現在の)サーバーでテストするデータベースを作成し、そのデータベースの互換性を下位バージョンに設定できます。ここ
ALTER DATABASE database_name
SET COMPATIBILITY_LEVEL = 100 -- 100 = Engine v10.x = SQL 2008
さらに詳しい情報:おそらくhttps://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level
さらに簡単には新しいサーバに関連するファイル(MDF + LDF)の上にコピーし、古いサーバから下位レベルのデータベースをデタッチして、アタッチすることですそれはそこにある。新しいサーバーがそれをサポートしていない古いレベルでない限り、互換レベルは通常変更されません。
メモ互換性レベルによって異なる機能はすべてSQLデータベースでサポートされているわけではありません。上記のMS記事から。 – Serg
私はそのようなデータベース上で既知の誤ったスクリプトを実行しようとしました。 'ALTER DATABASE CURRENT SET RECOVERY SIMPLE'行は、2008R2サーバー上で構文エラーをスローしますが(" CURRENTまたはその近くの構文エラー ")、互換性のあるデータベースで動作しました。 – Alexander
これは問題になる可能性がありますが、そのような問題がわずかな場合は、おそらくSQLの回避策があります。例えば。この場合、 'EXEC( 'ALTER DATABASE' + @dbName + 'SET RECOVERY SIMPLE')が動作します。 –
互換性モードをSQL Server内から下位バージョンに設定することができます – dbajtr