メインコンテンツへスキップ

(解決済)テーブルの削除ができなかった

コメント

8件のコメント

  • tanda

    ひょっとして、テーブルをオープンしたままの状態で削除しようとしたのではないでしょうか?

  • nkmt

    tandaさんコメントありがとうございます。
    そのテーブルを使うMagic開発版も閉じていました。
    PC再起動でも、SSMSでテーブル → 右クリック → 削除が進みませんでした。
    今回はDROP TABLEで回避できました。
    あとこれは直接関係ありませんが、テーブル削除の前に、間違えてDBを削除しそうになりました。
    怖いです。早朝作業でした。

  • tanda

    なんらかの拍子で、テーブルがクローズされていなかったのかもしれませんね。Windowsではよくあることかもしれませんね。

    私は大事な作業を行うときは、DBの.mdfファイルと.ldfファイルをコピーしておくことにしています。

  • nkmt

    そうかもしれません。
    mdfとldfのコピーをされるのですね。
    その時はデタッチとか不要なのですか?

  • tanda

    デタッチしていなくても、2つのファイルさえあれば、まっさらな環境にアタッチできますよ。

  • nkmt

    そうなんですね。ありがとうございました。
    DISKスペースが許せば時短を狙い、バックアップデータの作成より早いかもしれませんね。

  • nkmt

    ISHJIMAさん おはようございます。
    客先環境では、バックアップ処理のBATファイルの中に以下のような記述をしております。
    SQLCMD -S WX01\SQLEXPRESS2017 -Q "DBCC SHRINKDATABASE ('%DBNAME%')"
    SQLCMD -S WX01\SQLEXPRESS2017 -Q "BACKUP DATABASE %DBNAME% TO DISK = '%BKUPFileDir%\%BKUPDBName%.BAK' WITH INIT" > %BKUPFileDir%%BKUPDBName%.LOG

    mdf、ldfを他のPCにコピーして、アタッチするといった事も試してみたいです。


  • tanda

    ちなみに、mdfとldfをコピーする方法は常套手段ではなく裏技ですから、どこにもその手法は公開しておりません。あくまで「大事な作業を行うときは、DBの.mdfファイルと.ldfファイルをコピーしておきます」というだけの臨時手段です。普段の定例バックアップにはマニュアル通りの方法をお勧めします。

    なお、mdfとldfをコピーするには、SQLServerのサービスを止める必要がありますので、Magicのシステムも止まります。ですので、あくまで何か緊急作業を行いたいときの臨時手段だけとなります。

サインインしてコメントを残してください。