2012-04-24 3 views
10

2012年を使用してデータベースを作成して作業し、その情報を追加すると、後でデータベースをスクリプト化すると、2008年にスクリプトを実行できるようになり、A.O.Kはすべて動作しますか?2008年にSQL Server 2012、スクリプト、および使用でデータベースを作成しますか?

+4

2008年に開始して2012に移行する方が安全かもしれません。 –

+0

SQL Server 2012でWindows Server 8 Betaをインストールし、SQLへの外部アクセスを設定したいのですが、私の教室からのプロジェクト。こうすることで、私のプロジェクトパートナーと私は、データベースのコピーを前後に渡して、変更ごとに常に一緒にマージしようとするのではなく、最新のデータベースを持っています。結局、データベースは2008バージョンにも接続できる必要があります。そして、私はむしろこれを行うために2008年をアンインストール/再インストールしませんでした。 –

答えて

10

スクリプト?はい。まあ、私は言い換えることができます:それは依存します。オブジェクトで2012固有の機能を使用しない限り、Management Studioまたはさまざまなサードパーティのツール(I blogged about some options here)を使用してスキーマをスクリプト化することができます。多くのツールでは、データをスクリプト化するためのオプション(またはコンパニオンツール)も用意されています。

問題は、SQL Server 2012では、2012固有の機能を使用している可能性があるすべての場所を識別するための非常に簡単な方法ではありません。たとえば、データベースを検査し、FORMAT()関数を使用していて、SQL Server 2008または2008 R2では使用できないことを指摘するツールについてはわかりません。

データベースのバックアップ/リストア、アタッチ/デタッチ、ミラーリング/ログ出荷などのその他の手段は動作しません。あなたは(2005年、2008年または2008年のR2から)2012年に上がることができますが、あなたは後ろに行くことはできません。

一般的に私はジョンに同意します。バージョン< =展開バージョンで開発する方がはるかに安全です。なぜ2012年に展開して2008年に展開したいのですか?私にはかなり危険だと思われる。

+1

私はこの結論に達しました。私はリモートからテーブルを作成できない2008年のSSMSを使用している場所:(アンインストール/ここに再インストール! –

22

SQL Management Studioを使用している場合は、データベース名を右クリックし、タスク→スクリプトの生成を選択できます。

ここで、スキーマ、データ、またはスキーマとデータの両方をスクリプト化するためのスクリプトを作成し、[詳細設定]ボタンをクリックすると、対象とするSQL Serverのバージョンを指定できます。

したがって、SQL 2008を移行先サーバーとして選択するだけでよいです。

+0

優れている、私はスクリプトの生成について知っていた、ちょうど私が出力のバージョンを選択できるか分からなかった。これは大いに役立ちます。ありがとう。 –

+3

ストアドプロシージャに2012固有の構文(FORMAT()関数など)がある場合を除き、ウィザードはターゲットバージョンに関係なく、盲目的にスクリプトを作成しますが、作成スクリプトが失敗する旨警告しません。 –

+0

詳細はこちら:http://superuser.com/questions/468578/move-database-from-sql-server-2012-to-2008 – Shane

2

移動するデータ量が非常に多い場合(ギガバイト)、SQL Management Studioが生成するTSQLスクリプトは、サイズが大きいため問題が発生する可能性があります。 BCP(バルク・コピー・プログラム)を使う方が良いでしょう。欠点は、これがコマンドラインユーティリティであり、単にウィザードを使用するよりも多くの作業を必要とすることです。

誰かがBCPだけを使用してウィザードのように見えるものを書いています。これはSQLデータベース移行ウィザードであり、Codeplex - http://sqlazuremw.codeplex.com/releases/view/32334で自由に入手できます。 SQL ServerとAzureの間のデータベース移行ツールとして、SQL ServerとSQL Serverの間で簡単に使用できます。重要な点は、高度なオプション(Management Studioウィザードと同様)に入り、SQL Serverを選択することです。後でターゲットシステムのプロンプトが表示されたら、2008年のインストールを選択します。

私のデータベースには2012年の特定のアーティファクトはありませんでした。それは私にとって非常にスムーズに機能しました。

関連する問題