4

SQL Server 2012 でデータベースを作成し、それを SQL Server 2008 に渡す方法はありますか?

4

4 に答える 4

14

2012年のデータベースをバックアップして2008年に復元するのと同じように?

いいえ、それはできません

方法も、方法も、トリックも、ハックも、回避策もありません-それはできません。

.sql新しい SQL Server バージョンから古いバージョンに移動するには、構造とデータのスクリプトを使用する必要があります。SQL Server のバックアップ ファイル ( *.bak) と実際のデータベース ファイル ( *.mdf*.ndf) には下位互換性がありません。

誤解を解くために:互換性レベルを設定しても、利用可能な機能 (データ型など) が制限されるだけですが、バックアップやデータ ファイルが古いバージョンと互換性を持つことはありません。*.bak*.mdf

于 2013-07-03T14:05:06.710 に答える
10

データベースを 2012 から 2008 R2 に移行しました。

(これには、オンラインである必要があり、新しいデータベースにアクセスする権限が設定されている必要があります。2012 年のデータベースを使用して C# アプリケーションを作成したオフィス環境でこれを行いましたが、それが実行されていたデータベースは 2008 のものでした。あなたはこれをローカルで行うことができたと思います.2008年からのデータを.bakファイルにバックアップすると、以下を実行できますが、私はそれをテストしていません)

テーブルの構造を SQL としてエクスポートしました。

-> Right clicking the database
-> Tasks
-> Generate scripts
-> Choose Objects (Script entire database and all database objects) 
-> Save to New Query Window (Click Advanced and under "Script for server version" choose your version) 
-> Click Next and Next and it should generate SQL to new window. 
-> I removed everything above "GO, ALTER DATABASE" 
-> Create the new database on the 2008 Server using the same name and run the above SQL to make the tables.

テーブル データを実行するには:

-> In the 2012 database right click the database and click tasks
-> Export data
-> Choose the source
-> Next 
-> Choose the destination
-> Copy data from one or more tables
-> Next
-> Select the tables
-> Next
-> Run Immediately

うまくいけば、これがうまくいくか、理解するのに時間がかかったので、他の誰かを助けてくれます。

于 2014-06-19T14:28:05.033 に答える
2

原則としてNo. 互換性モデル 100 (SQL 2008 / 2008R2) を指定できますが、SQL2008 サーバーで 2012 から (バックアップ/復元) も (デタッチ/アタッチ) もできません。

スキーマのみを移動する必要がある場合、私が知っている唯一の回避策は、スキーマを生成してから SQL2008 でデータベースを作成することです。データを移動する必要がある場合は、さらに多くの作業が必要になるため、次のようなツールを試すことができますSSMS tools | Generate Insert Statements

于 2013-07-03T14:15:31.973 に答える