2017-09-08 13 views
2

新しいバージョンの古いバージョンのSQL Serverとの互換性をテストすることは可能ですか?SQL Server 2008とSQL Server 2012との互換性に関するテストスクリプト

は何とかすべての新機能(新しい関数名、新しいシンタックスシュガーなど)

我々はVMが上の古いSQLサーバーのバージョンとアップ無料貴重なリソースをホスティングしていると離れて行うことができ、そのように理解していないサーバーに伝えるために、テストベッドVMホスト。

+0

互換性モードをSQL Server内から下位バージョンに設定することができます – dbajtr

答えて

0

古いサーバーバージョンを有効にする代わりに、メイン(現在の)サーバーでテストするデータベースを作成し、そのデータベースの互換性を下位バージョンに設定できます。ここ

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)の上にコピーし、古いサーバから下位レベルのデータベースをデタッチして、アタッチすることですそれはそこにある。新しいサーバーがそれをサポートしていない古いレベルでない限り、互換レベルは通常変更されません。

+0

メモ互換性レベルによって異なる機能はすべてSQLデータベースでサポートされているわけではありません。上記のMS記事から。 – Serg

+0

私はそのようなデータベース上で既知の誤ったスクリプトを実行しようとしました。 'ALTER DATABASE CURRENT SET RECOVERY SIMPLE'行は、2008R2サーバー上で構文エラーをスローしますが(" CURRENTまたはその近くの構文エラー ")、互換性のあるデータベースで動作しました。 – Alexander

+0

これは問題になる可能性がありますが、そのような問題がわずかな場合は、おそらくSQLの回避策があります。例えば。この場合、 'EXEC( 'ALTER DATABASE' + @dbName + 'SET RECOVERY SIMPLE')が動作します。 –

関連する問題