none
SQLSERVER2008R2をSQLSERVER2017へ移行する際、開発したシステムに変更せずに使用できるのか? RRS feed

  • 質問

  • お世話になります。

    現在、以下の2つの環境で作成したシステムがあります。
    サーバのSQLSERVERを「SQLSERVER2017」にバージョンアップすることになったのですが、
    システムの方は変更しなくてもSQLSERVER2017を使用することは可能でしょうか?
    ご存知の方がいらっしゃいましたら、ご教示して頂けると助かります。


     環境①
         VisualStudio:VisualStudio2008
        SQLSERVER  :SQLSERVER2008R2

     環境②  
         VisualStudio:VisualStudio2012
        SQLSERVER  :SQLSERVER2008R2

     サーバ:
        SQLSERVER  :SQLSERVER2008R2


    2019年3月5日 2:37

回答

  • ご返信いただきありがとうございます。

    環境の準備等を行う前に動かすことができるかを調べたかったのです。
    「廃止された機能を使用していなければ動くはず」の認識であってますでしょうか?

    ># SQL Serverフォーラムが適切に思います。
    すみません。
    ご指摘ありがとうございます。


    2019年3月5日 5:16

すべての返信

  • SQL Serverには互換性レベルという機能が用意されていて、ある程度、互換を保つことができます。SQL Server 2017ではぎりぎりSQL Server 2008までを対象としています。ただし、廃止された機能などは互換レベルを用いても使用できないため、変更点一覧を確認し、また実際の動作確認を行うことをお勧めします。

    # SQL Serverフォーラムが適切に思います。

    2019年3月5日 3:16
  • ご返信いただきありがとうございます。

    環境の準備等を行う前に動かすことができるかを調べたかったのです。
    「廃止された機能を使用していなければ動くはず」の認識であってますでしょうか?

    ># SQL Serverフォーラムが適切に思います。
    すみません。
    ご指摘ありがとうございます。


    2019年3月5日 5:16
  • 「廃止された機能を使用していなければ動くはず」の認識であってますでしょうか?

    佐祐理さんが互換性レベルを紹介されていますが、SQL Server 2017でも互換性レベルを100で動かせば、SQL Server 2008R2と互換性を持って動作するということです。SQL Serverはバージョンアップの際に、廃止された機能の他に仕様が変更になる場合もあります。仕様が変更になればSQLの動作が変わりますので、システムが今まで通り動かなくなる可能性があります。そこで、互換性レベルが用意されているのです。
    通常、バックアップを復元すれば、そのバックアップが取られたSQL Serverのバージョンで互換性レベルが設定されます。つまり、そのままではSQL Server 2017に復元しても互換性レベル100で復元されるので問題は発生しません。
    ただ、そうするとSQL Sever 2012以降の新機能が使えなくなってしまいます。SQL Sever 2012以降の新機能が使いたい場合、互換性レベルを上げる必要がありますが、その際にSQLやプログラムを修正する必要が生じるかどうかはシステムによります。佐祐理さんが紹介されたページに各互換性レベルの相違点がまとめられていますので、それをご覧の上、どの互換性レベルで動作させるのか調査し、決定して下さい。



    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    2019年3月5日 6:16
    モデレータ