none
SQLServer2005のDBをSQLServer2008へ移行するには RRS feed

  • 質問

  • SQLServer2008をインストールしたマシンにSQLServer2005で作成されたDBを移行したいのですが、うまくいきません。

    どなたか最適な方法をご存じの方がいらっしゃったら、助言をお願いいたします。

    まだ、ど素人のため、噛み砕いた説明をしていただけると助かります。

    どうかよろしくお願いいたします。

    (なお、SQLServer2005と2008がインストールされているマシンはそれぞれ別マシンです。)

     

    2008年10月27日 7:42

回答

  •  

    それとも2008のSQL Server Management Studioではテーブル名を右クリックして「テーブルを開く」というコマンドがないのでしょうか。

     

    自分の通常インストールをしたWin2008×SQL2008で、テーブルを右クリックすると「上位1000行の選択」「上位200行の編集」はありますがSQL Server2005の時の「テーブルを開く」は無いですね。

    恐らくパフォーマンス的な理由で、テーブル全てを開くコマンドから、行数を制限したコマンドに変わったようです。

    ですので、どちらかを試してみて結果がかえってくればテーブルも読み取れていると思います。

     

    無理な場合は、ユーザの権限を確認してみてください。データベースのツリーから「セキュリティ」→「ユーザー」から対象のユーザーのプロパティをみて保有しているロールのメンバシップの確認して、そのロールに適切な権限があるかを調べます。データベースロールの場合は下記を参考にしてください。

    http://technet.microsoft.com/ja-jp/ms189121.aspx

    2008年10月27日 12:33

すべての返信

  • はじめまして

    どのように 「うまくいかない」 のでしょうか。

    作業した手順を説明してください。

     

    2008年10月27日 7:58
  • 流しのインストーラ 様

    ご返答ありがとうございます。
     
    手順は以下のとおりです。

    1.SQLServer2005 SQL Server Management Studioを使用し2005のデータをバックアップする。(.dat形式で)

    2.SQLServer2008 SQL Server Management Studioを使用し、バックアップしたファイルをリストアする。

    3.2005から移行したDBで使用されていたユーザを作成。
     その際SIDが違うせいでDBに接続できなかったので

     use H0361
     exec sp_change_users_login 'Update_One',
     '旧ユーザ名','新ユーザ名'

     を実行し、新ユーザと旧ユーザのSIDを同じにする。


    以上の手順を実行し、新ユーザからDBに接続することはできるようになったのですが
    DB内のテーブルを開くことができません。(今現在この状態です。)

    それとも2008のSQL Server Management Studioではテーブル名を右クリックして「テーブルを開く」というコマンドがないのでしょうか。

     

    つたない説明で申し訳ありません。どこかもっと詳しく説明したほうがいい部分があればご指摘お願いいたします。
    2008年10月27日 8:24
  • やったことはありませんが、以下の資料に手順が説明されていました。

     

    http://www.microsoft.com/japan/sqlserver/2008/self-learning/default.mspx

     

    SQLServer2008 自習書シリーズ

    ・SQL Server 2008 の便利な運用機能が知りたい

      バックアップと復元 (PDF)

     → 同じパスワード / SID のログインアカウントの作成 (sp_help_revlogin)

     

    参考にしてみてください。

     

    2008年10月27日 12:11
  •  

    それとも2008のSQL Server Management Studioではテーブル名を右クリックして「テーブルを開く」というコマンドがないのでしょうか。

     

    自分の通常インストールをしたWin2008×SQL2008で、テーブルを右クリックすると「上位1000行の選択」「上位200行の編集」はありますがSQL Server2005の時の「テーブルを開く」は無いですね。

    恐らくパフォーマンス的な理由で、テーブル全てを開くコマンドから、行数を制限したコマンドに変わったようです。

    ですので、どちらかを試してみて結果がかえってくればテーブルも読み取れていると思います。

     

    無理な場合は、ユーザの権限を確認してみてください。データベースのツリーから「セキュリティ」→「ユーザー」から対象のユーザーのプロパティをみて保有しているロールのメンバシップの確認して、そのロールに適切な権限があるかを調べます。データベースロールの場合は下記を参考にしてください。

    http://technet.microsoft.com/ja-jp/ms189121.aspx

    2008年10月27日 12:33