• 締切済み

SQLServer ダミーデータベース

SQLServer 2000 から SQLServer 2008 への移行する際に、デタッチ/アタッチまたはバックアップ/復元の移行方式を検討するにあたり、30GBのデータベースを移行するために生じるオフラインタイムを事前検証で計測するため30GBダミーデータベースを作りたいのですがT-SQLやその他での方法を教えてください。

みんなの回答

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

3000バイトのフィールドのテーブルを作り、REPLICATE('a',3000)で3000バイトの文字列を10レコード入れ、 あとは以下のクエリを流しっぱなしにすれば、ディスクのIO次第ですが、1~2時間で30GBになるでしょう。 INSERT INTO TABLE1 SELECT t1.FLD FROM TABLE1 t1,TABLE1 t2,TABLE1 t3,TABLE1 t4,TABLE1 t5,TABLE1 t6,TABLE1 t7,TABLE1 t8

kabosu5000
質問者

お礼

お返事が遅くなり大変申し訳ありません。 回答ありがとうございました。提示して頂いた方法をやってみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SQLServer2005Expressでアタッチ出来ない

    いつも仕事に役立つ情報をありがとうございます。 表題の件ですが、PCの入れ替えに伴い 前PCのSQLServer2005Expressにて稼動していたDbを 移行しようとした際に、デタッチ/アタッチでやろうとしたんですが 下記エラーが発生してアタッチ出来ない事象が発生してしまいました。 同様のエラーを克服した経験をお持ちの方からのアドバイスを お願いします。 「エラーメッセージ」 ------------------------------ サーバー 'D869\SQLEXPRESS' のデータベースのアタッチに失敗しました。 (Microsoft.SqlServer.Express.Smo) Transact-SQL ステートメントまたはバッチの実行中に例外が発生しました。 (Microsoft.SqlServer.Express.ConnectionInfo) データベース "Asprova" を更新できませんでした。データベースが読み取り専用です。 (Microsoft SQL Server、エラー: 3906) ------------------------------

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

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

  • データベースのアタッチができなくなりました

    SQLServer2000 logデータを書き込む領域がなくなりましたというエラーメッセージが出ましたので、 logファイルを削除するためにデータベースをデタッチしました。 このときに何かのメッセージが出ましたが、強引にデタッチをしました。 logファイルを削除し、データベースをデタッチしようとしたところ、 「ログファイルとして指定したファイル名が間違っています。新しいログファイルが作成されます。続行しますか?」というメッセージが出ました。 「はい」を選択すると 「エラー 1813 新しいデータベース’データベース名’を開けませんでした。CREATE DATABASEは中断されます。デバイスアクティブ化エラー物理ファイル名’C:\Program Files\Microsoft SQL Server|MSSQL\Data\データベース名_log_LDFは正しくありません。’」 というメッセージが出て、アタッチに失敗してしまいます。 データベースを復元しましたが、logファイルが無いためか、一ヶ月以上前の時点までしか復元できません。 ldfファイルはありません。(ゴミ箱の中にも) mdfファイルは残っていますので何とかなると期待しています。 大変困っています。 どなたか解決方法をご存知でしょうか。 ご教授よろしくお願いいたします

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

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

  • SQLServer2005のレスポンス悪化について

    既存システムのサーバリプレースを実施した際に、データベースをSQLServer2000からSQLServer2005にアップグレードしたところ、 システムの各機能動作に遅延が発生してしまいました。 SQLのバージョンを、SQLServer2000からSQLServer2005にした為に、 遅延が発生した事例などないでしょうか? 動作環境は以下の通りです。  OS:Windows Server2003  SQL:SQLServer2005 ちなみにデータベースデータの復元はSQLServer2000のバックアップファイルからデータを復元しております。 

  • データベースのバックアップリストアの仕組みについて

    【環境】 SQL Server 2008 R2 Express Edition (x64) データベースの勉強をしています。 データベースの場合、データベースを管理しているのはOSではなく、DBMSのため、ユーザーデータベースを戻しただけでは、戻らないとに認識しています。 EXCELのファイルのバックアップ/リストアは、単にEXCELファイルをバックアップしてリストアすればいいのは分かりますが、データベースの場合のバックアップ/リストアについての仕組みについてよく理解できていません。 理解する上で、いろんなパターンのバックアップ/リストアを試そうと思っており、以下の件につきましてご教示を頂けますようお願い致します。 (1) 障害が発生した場合を想定してのデータベースのバックアップですが、ユーザーデータベースだけではなく、masterデータベースのバックアップも必要という認識であっておりますでしょうか。 masterデータベースにはユーザーデータベースの場所、ユーザー情報、ユーザーのロール情報が含まれているため、バックアップしたユーザーデータベースだけリストアしても復旧できないということでよいでしょうか。 masterデータベースが損傷していなければ、バックアップしたユーザーデータベースだけリストアすれば、復旧できる。 (2) ユーザーデータベースが10個あり、そのうち特定なユーザーデータベース1個のバックアップおよびリストアテストをする手順については、下記でよろしいでしょうか。 テスト後は、次のテストパターンを学習するため、元の状態に戻したいと考えています。 <手順> 1.システムデータベース、必要なユーザーデータベース1個をのバックアップを行う。 2.ユーザーデータベース10個をデタッチする。 3.システムデータベースをデタッチする。 4.デタッチしたシステムおよびユーザーデータベースを別の場所に退避する。 5.システムデータベース、特定のユーザーデータベース1個をリストアする。 6.リストアしたユーザーデータベースが問題ないことを確認する。 7.リストアしたユーザーデータベース1個をデタッチする。 8.リストアしたシステムデータベースをデタッチする。 9.退避したシステムデータベース、ユーザーデータベースを元の場所に戻す。 10.システムデータベースをアタッチする。 11.ユーザーデータベース10個をアタッチする。

  • SQLServer2000から7.0への移行

    SQLServer2000で構築したデータベース(mdfファイルとldfファイル)をSQLServer7.0にアタッチ機能(クエリアナライザで「sp_attach_db」を実行して)で移行させようとしましたが、「ldfファイルのヘッダーが有効でありません。PageAuditプロパティが不正です。」とのエラーメッセージが出て、実行できませんででした(ちなみにPageAuditの意味もわかっていません)。 ご質問なのですが、そもそも2000で構築したデータベースは、7.0のアタッチ機能で7.0への移行は無理なのでしょうか。それとも、当たり前かもしれませんが、2000のldfファイルの構造そのものが違い、7.0で認識させるのは、不可能なのでしょうか。 お忙しいところすいませんが、よろしくお願いします。 教えて下さい。

  • SQLServer 2008へ移行

    現在、SQLServer2000を使って社内システムを構築しています。 サーバーのハード保守切れに伴い、 SQLServer2008へ移行しようとしています。 現在の環境は、 OS Windows2000Server DB SQLSERVER2000 アプリ Windows2000Server      VB 6.0で作成      (Ctrix社のMetaFrame) となっています。 DBの部分のみ、変更しようとしています。 ハード 64bit Windows2008Server ソフト  64bit SQLServer2008R2 移行に関して、 (1)2000で使っていたDBファイルをアタッチ、デタッチで丸ごと移行できるのか? (2)アプリの接続部分に変更しなくてはならないのか?  (アプリのコンピュータ名は、同じにします。) 詳しい方、ご教授願います。

  • 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を再起動して試してもやはり結果は同じです。 何が悪いのでしょう。

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

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