2012 を使用してデータベースを作成し、作業してその情報を追加した場合、後でデータベースのスクリプトを作成した場合、2008 でスクリプトを実行して、すべて AOK で動作させることができますか?
3 に答える
SQL Management Studio を使用している場合は、データベース名を右クリックし、[タスク] → [スクリプトの生成]を選択します。
ここでは、スキーマ、データ、またはスキーマとデータの両方をスクリプト化するスクリプトを作成できます。[詳細設定] ボタンをクリックすると、対象とする SQL Server のバージョンを指定できます。
したがって、SQL 2008 を宛先サーバーとして選択するだけで、準備完了です。
スクリプト?はい。言い換えると、状況によります。オブジェクトが 2012 固有の機能を使用しない限り、Management Studio またはさまざまなサードパーティ ツールを使用してスキーマをスクリプト化できます (いくつかのオプションについては、こちらのブログを参照してください)。ツールの多くは、データをスクリプト化するためのオプション (またはコンパニオン ツール) も提供します。
問題は、SQL Server 2012 で 2012 固有の機能を使用している可能性のあるすべての場所を特定する簡単な方法がないことです。たとえば、データベースを検査しFORMAT()
、SQL Server 2008 または 2008 R2 では使用できない関数を使用していることを指摘するツールを知りません。
データベースをコピーする他の手段 - バックアップ/復元、アタッチ/デタッチ、ミラーリング/ログ配布などは機能しません。(2005 年、2008 年、または 2008 R2 から) 2012 年まで上がることはできますが、戻ることはできません。
したがって、一般的に私はジョンに同意します。バージョン <= 展開バージョンで開発する方がはるかに安全です。2012 で開発して 2008 に展開する理由は何ですか? 私にはかなり危険に思えます。