• 締切済み

SQLServer2000でバックアップしたデータを2005へ復元

MSDE2000+VB6.0でシステムを構築しております。 容量の制限によりSQLServer2005に移行することになり MSDE2000のデータをバックアップし、 SQLServer2005にデータベース復元しました。 復元は問題なく完了しシステムも正常に稼動しています。 しかしながら、処理速度がかなり遅くなってしまいました。 (マシンスペックは、MSDE2000よりも格段に高くなっています) 2005に復元した際、他に何か処理を行わなければならないのでしょうか? ご教授いただければと思います。 よろしくお願いいたします。

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

>「'from_msx'が無効です」「'has_targets'が無効です」というエラーです(今まで気づいておりませんでした) これはたぶん関係ないです。SQL ServerがSP1か、SP2あてたときにResourceDBのUpgradeに失敗したか、その辺が原因だったような。 SSMSでは問題ない、Index再構築してもなおらない、ということであれば悪いのはリストアしたデータベースではないですよね? 「処理が遅い」のは、「SQLサーバがクエリ自体を実行する時間が前より長くなった」と完全に切り分けられていますか?(接続の確立や、ネットワークに起因するものではないと) データベースエンジン、インスタンス、アプリケーションの接続方法、ローカルアクセスかリモートアクセスかについての情報は一切開示されていないので、まず「リストアした2000のDB自体が悪く、他は悪くない」と断言できるまで切り分けてくださいとしか言えないのですが。

0130maro
質問者

お礼

お返事が遅くなり誠に申し訳ありません。 別件でエラーが出ている件もあわせて再度SQLServer2005の再インストール且つリストアデータを再確認してみようと思います。 いろいろとありがとうございました。

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

MSDEから持っていったとすると、Expressですか?それとも他のエディションですか? エディションによってはどんなにいいスペックのマシンに積んでもリソースを使いきれません。 http://www.microsoft.com/japan/sql/prodinfo/features/compare-features.mspx 私も2000から2005に持っていきましたが、やったことと言えば ・2000/2005の変更点を確認の上、互換性レベルを90に上げる ・ユーザを新しい環境のログインで割当てなおす 程度です。 だから、遅いというのは、新しいサーバへの接続の問題のような気がするのですが、同じインスタンスにある他のDBは遅くないのに遅いということでしょうか。

0130maro
質問者

補足

Expressではありません。 私の方で行った作業としては ・2005にデータベース復元する ・互換性レベルは、SQLServer2000(80)にする ・sp_change_users.....を各DBごとに流す 以上です。 データベース復元を行ったのは、5つのDBですが VBアプリ側でこの5つのDBから処理を行っています。 Management Studioで抽出したりするのは問題ありません。 ただ1点、メンテナンスプランを作成する際にエラーが出ていました。 「'from_msx'が無効です」「'has_targets'が無効です」というエラーです(今まで気づいておりませんでした) indexの再構築で何か変わるかと思いやってみたのですが あまり変わりませんでした。

関連するQ&A

  • SQLServer2000からSQLServer2005へのデータ移行

    SQLServer2000からSQLServer2005へのデータ移行方法 Microsoft SQL Server ManagementStadio Expressで SQLServer2000のバックアップファイルから、 ローカルの開発環境(SQL Server2005 Express)でデータベースを復元しようと試みましたところ、 復元が正常に出来ませんでした。 復元はエラーが発生せず完了しデータベースは作成されているのですが、 データベースを右クリックで削除やプロパティを見ることもできず、 どのようなテーブルが存在するのか中身の参照も追加も何もできない状態です。 http://qanda.rakuten.ne.jp/qa4183273.html 上記URLなどでSQL Server2000のバックアップから2005で復元しているような発言がされているので 可能だと思うのですが、何か特別な処理が必要なのでしょうか? ご存じのかた、教えていただけますようお願いいたします。

  • SQLServer2012の復元ができない

    いつも楽しく勉強させていただいております。 環境はSQLServer2012のExpressでOSはWindowsServer2008です。 Test1というデータベースのバックアップを取ってTest2という名前で復元しようとしましたが、なぜか失敗してしまいます。 どなたか原因を教えていただけませんか。 次の手順でバックアップを取り、復元をしています。 ○バックアップのフェーズ 1.データベースのバックアップのダイアログボックスを開く。 2.ソースにTest1、バックアップの種類に完全を指定する。 3.バックアップ先は以下のファイルに  C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Backup\Test1.bak 4.OKをクリックし、「データベース'Test1'のバックアップが正常に完了しました」を確認。 ○復元のフェーズ 5.データベースの復元のダイアログボックスを開く。 6.ソースはデバイスにする。 7.ファイル名に上記3.のファイル名を指定 8.転送先データベースはTest2とする。 9.OKをクリック(ここでエラーとなる)。 エラーメッセージは以下の通りです。 ------------------------------------------ データベース'Test2'の復元に失敗しました。(Microsoft.SqlServer.Mangement.RelationalEngineTasks) 追加情報: System.Data.SqlClient.SQLError:ファイル'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Test1.mdf'に上書きできません。 データベースTest1が使用中です。(Microsoft.SqlServer.SmoExtended) ------------------------------------------ メッセージの内容で引っかかるのはTest1.mdfに上書きできませんというところです。 上書きでなくTest2という新規データベースに書き込みたいのですが。 ためしにTest2というデータベースを作成しておいて「既存のデータベースに上書きする」をチェックしてやってみましたが、やはり失敗。 メッセージは上と同じです。 SQLServerを再起動して試してもやはり結果は同じです。 何が悪いのでしょう。

  • SQLserver2005 シングルユーザーモードで復元について

    SQLserver2005のシングルユーザーモードでシステムデータベースのバックアップファイルを復元したいのですがSQLserver2005のインストールの際に認証パスワードを入力したと思うのですがそのパスワードとシステムデータベースで復元したパスワードは違っていても大丈夫なのですか?復元したシステムデータベースは以前を同じように利用できるのでしょうか?

  • 別のSQLServerのバックアップを復元で

    2台のPCでSQL Serverのデータベースを別のコンピュータのSQL Serverで 復元しています。 別のWindows Server上のSQLServer2012から別のWindows Server上の SQLServer2012へバックアップファイル(yyyymmdd.bak)でリストアを しようとしております。 作業内容としては、データベース→DB選択→タスク→復元→データベースとし、 デバイスからバックアップファイルを指定しています。 データベースの復元は問題なく行え、DBへのアクセス、参照なども行えるのですが、 復元時に使用したユーザとは別のユーザのデータベースロールのアクセス権が消え てしまうのです。 SQLServerへの接続はでき、エクスプローラーには、データベースの表示はされる のですが、表示されたDBを選択をするとアクセスエラーとなります。 Windows認証で接続しているユーザです。 ユーザは同じですがドメインが異なる。 何故、消えてしまうのか。 消えないようにするにはどうしたらよいのか。 教えて下さい。 また、このような事象の説明があるサイトなどがありましたら教えて下さい。 つたない文面でわかりづらいとは思いますが、宜しくお願い致します。

  • SQLServerのデータベースを移行したい

    ある工場で稼動しているシステムがあります。 SQLServerに細かいデータが蓄積されていきます。 オペレータはMS-Accessで作成されたプログラムでデータ登録・編集・削除などを実施しています。 このシステムを他の工場へ移行し、同様のシステムを構築し、運用したいのです。 データについては、既存の工場で今まで稼動していたデータをコピーして、稼動したいと思っています。 今稼動しているシステムを構築した人が社内にいなく、詳細についてわかる人がいないので、困っています。 データ移行ってどのように実施したらいいのでしょうか? Enterprise Managerを使用して、データのバックアップ、復元は実施してみたのですが、うまく稼動できません。 どうかいい手がありましたら教えてください。 よろしくお願いします。

  • SQLServer7から2000へのDB移行について

    SQLServer7のデータベースを、別のサーバ機のSQLServer2000に移行したいと考えています。 データベースそのものはEnterpriseManagerのデータベースのバックアップ・復元にて移行できたのですが、移行先のサーバでODBCを設定すると、ログインID・パスワードで接続ができませんでした。 (「ユーザーの既定のデータベースを開けません」) masterとmsdbをバックアップ・復元しようとしましたが、バージョンが異なるというエラーで先に進めません。 新サーバ上にODBCで接続するために何をすればいいのか教えてもらえませんでしょうか。

  • SQLServer2005とMSDEを共存させ、MSDEとアクセスするプログラムを作ったんですが。

    SQLServer2005ExpressEditionがインストールされているマシンにMSDEを名前付きインスタンスにしてインストールして、VB2005でプログラムを作成したんですが、他のマシンで動きますかね??もちろんデータベースサーバはMSDEです。 僕のPC1台でしかテストできないので・・ フリーウェアとして公開したいのです。 分かる方、教えてください。よろしくお願いします。

  • SQL Server7.0でバックアップしたデータの復元

    VBからSQL Server7.0(SP1)のデータをバックアップしたデータの 復元処理をしようとしたのですが、次のエラーで復元できません。 「データベースは使用中です。システム管理者は復元操作を実行するために、 データベースを排他的に使用する必要があります。」 MicrosoftのHPからこのエラーを調べたところ、 「model データベースの使用中には復元ができない」バグがあるということです (http://support.microsoft.com/default.aspx?scid=kb;ja;199216) が、sp_whoストアドプロシージャで調べたところ、Modelデータベースは使用していないようです。 Enterprise Managerからデータベース復元を行うと、 復元ができました。 ちなみに、VBからのバックアップのSQLは BACKUP DATABASE データベース名 TO DISK = '保存先' WITH INIT 復元のSQLは RESTORE DATABASE データベース名 FROM DISK = '復元元' WITH RECOVERY です。

  • SQLServer7.0 「データベースのバックアップ」について

     現在、SQLServer7.0を使用しています。  万が一に備え、SQLServer Enterprise Managerの「データベースのバックアップ」にて 毎日DATにバックアップをしようと考えています。  「データベースのバックアップ」のスケジュールを設定してもその通り処理されません。  スケジュール通りバックアップされるように設定方法について教えて下さい。  以上、宜しくお願い致します。

  • 復元時間:復元しています

    データベースのバックアップをとって、それを使って復元しました。 「復元は正常に完了しました。」と表示されました。 そして、データベースを見ると データベース名(復元しています)と表示され内容を見ることができません。 sqlserver2005 データは1GBぐらいです。 1時間くらい待っても(復元しています)がとれません。 時間がかかるものなのか、エラーなのかどちらでしょうか?