ヘッダーイメージ 本文へジャンプ
日記

2011年09月12日 21時08分
SqlServer壊してしもた・・・
同一インスタンス内でデータベースのコピーがしたかったんですが、Express版の ManagementStudio には「データベースのコピー」が無いようで(製品版にはあるはず)、どうしようかと考えたのですが、本当はエクスポートしてインポートするのがいいんでしょうけど(オラクルの乗りでした・・・)、邪魔くさかったので、データファイルのコピーをしてみました!

一旦デタッチして、物理ファイルをコピーし、再度アタッチした後、コピーしたファイルをリネームしてそれもアタッチしました

その時にデータベース名を変えれるんですが(変えないと同名のデータベースがあるとエラーになる)それだけではだめで、物理ファイル名も変えないとダメでした(コピー元の物理ファイル名になっている)

データベース名は変えないとダブってるってエラーになるのに、データファイルがダブっていてもエラーにならないんですよね!

この状態で、元のデータベースをアクセスすると「メモリーがない」とか「ディスクがない」とか言われてデータベースにアクセスできない状態に・・・

あわてて、コピーした方のDB(こちらは使えた)をデタッチしても元のDBは使えず
リブートしてもダメ
デタッチもできなくなってしまいました

どうしたものかと色々やっているとデタッチする順番によってちゃんとデタッチできるときもあるようです

もう一度コピーしたDBをアタッチして元のDBをデタッチ後、コピーした方をデタッチしたら何とかデタッチできました

そのあと元のDBをちゃんとアタッチして、コピーしたDBもデータファイルの変更をしてアタッチすればうまくいくと思われます
私は、元のDBがちゃんとアタッチできてアプリが動くのを確認して、もう一度データファイルをコピーしてアタッチ時に正しくデータファイル名も変更してコピーを終わらせました

で、結局別のDBからデータを持ってこないといけないことになり
しょうが無しに「エクスポート」を動かしてみると・・・
「これってDBのコピーやん!」って感じでした

インポートを動かそうがエクスポートを動かそうが、同じ画面が出て「コピー元」のデータソースを選び、「コピー先」を選び、オブジェクトを選んで「完了」するとコピーされました・・・

最初っからエクスポートすればよかった


・SqlServer2008Express のインストール
・リモートPCからSQLServerに繋ぐ
・SqlServer壊してしもた・・・
・SqlServerの不思議
・SQLServer のチューニング
・SQLSERVER のリストア
・NetFx3 ってなんだ?
・RDゲートウェイを入れてみました
・Windows上のApcheでASP.NETを動かす
・SQLServer に、大量データのインサート
・Windwos で mono
・Windows10 のシステムイメージの作成
・SQL Server 2017 RC2 評価期限切れ

カテゴリー:日記
目次へ戻る


フッターイメージ