0

SQL Server 2008 でデータベースを作成しました。データベースを切り離し、.mdfSQL Server Enterprise Manager (SQL Server 2000) を実行しているサーバーにコピーしました。

MDFを取り付けようとすると...

Microsoft SQL-DMO (ODBC SQL 状態: HY000) エラー 602: データベース ID 13、オブジェクト ID 1、インデックス ID 1 の sysindexes に行が見つかりませんでした。sysindexes で DBCC CHECKTABLE を実行してください。

これは何を意味するのでしょうか?これは、データベースが新しいバージョンで作成されたためですか?

4

2 に答える 2

0

これは可能ですが、デタッチして古いサーバーにアタッチする前に、SQL 2000 形式に変換する必要があります。手順は次のとおりです。

エンタープライズ マネージャーで、データベースを右クリックします。

プロパティを選択

左側で、[オプション] をクリックします。

「互換性レベル」を SQL Server 2000 (80) に変更します。

次に、古いサーバーに再アタッチする前に、保存してデタッチします。

于 2012-11-13T15:31:52.113 に答える
0

(減価償却されたと思いますが、SQL Server 2000で使用されている)sp_attach_dbストアドプロシージャに関するドキュメントから:

新しいバージョンの SQL Server で作成されたデータベースは、以前のバージョンでは接続できません。

データベースのスキーマとデータをスクリプト化する必要があると思います。

Pinal Dave には、これを行う方法に関する優れたチュートリアルがあります。ここでは、次の設定を選択することを忘れないでください。

一般の下:

  • サーバー バージョンのスクリプト: SQL Server 2000

[テーブル/ビュー オプション] で:

  • スクリプト データ: True

外部キー、トリガーなど、関心のある他の設定を再確認することを忘れないでください。

于 2012-11-13T10:17:46.953 に答える