SQL Server 2005 Developer Editionでのmdfファイルの残骸について

このQ&Aのポイント
  • SQL Server Management Studioで削除したDBのmdfファイルが残ることがあるのはどういう状況でしょうか。
  • mdfファイルを削除する際には、ファイルが現在使用されていないことを確認する方法があります。
  • 前任者から引き継いだDB管理で上記の問題に困っています。
回答を見る
  • ベストアンサー

mdfファイルの残骸について

Microsoft SQL Server 2005 Developer Editionを使用しています。 SQL Server Management Studio > オブジェクトエクスプローラ > データベース に使用中のDB一覧が表示されています。 エクスプローラでmdfファイルが保存されているフォルダを確認すると 上記にないデータベース名のmdfファイルがあります。 以前、作成して削除したDBのmdfファイルです。 質問です。 (1)オブジェクトエクスプローラに表示されず、mdfファイルが残っているのはどういう状況でしょうか。 私はいつもSQL Server Management Studioで削除したいDBを選択して、右クリック>削除でDBを削除していますが、 mdfファイルが残ることもあるのでしょうか。 (2)ファイルサイズが非常に大きいため、上記状態のmdfファイルを削除したいのですが、 エクスプローラ上から削除しても問題ないのでしょうか。 削除前に「このmdfファイルは現在使用されていない」ことを確認したいのですが、 どのような方法があるのでしょうか。 前任者からDB管理を引き継いだのですが、上記状態で困っています。 既に前任者はいないため、聞くことが出来ません。 よろしくお願いします。

  • kiiro3
  • お礼率91% (162/177)

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

データベースごとに select * from sys.database_files を実行すればそのデータベースで使用しているファイルが表示されます。 それらのファイルを除外したファイルは現在使用されていないファイルです。

kiiro3
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • norayuni
  • ベストアンサー率79% (27/34)
回答No.2

>私はいつもSQL Server Management Studioで削除したいDBを選択して、右クリック>削除でDBを削除していますが、mdfファイルが残ることもあるのでしょうか。 本作業では、一切MDFファイルは削除されません。 削除されるのは、SQL Serverの管理下から外れるだけです。 SQL Server Management Studioのオブジェクト絵ウクスプローラー上に表示されないデータベースが使用していたファイルを削除しても問題ありません。 また、SQL Serverが動作している状態では、データベースが使用しているファイルは消すことができません。 ですので削除できる場合は、データベースで使用していないファイルです。

kiiro3
質問者

お礼

ありがとうございます。助かりました。

関連するQ&A

  • 【SQL Server2005】mdfファイルが壊れた後のトランザクションログバックアップ

    OS:Windows Server 2003、DB:SQL Server 2005 Developer Edition を使用しています。 データファイル:test.mdf、ログファイル:test_log.ldfでtestデータベースを構成後、SQL Serverサービスを停止し、test.mdfファイルの名前を変更、test.mdfが壊れたものと仮定します。 その後、SQL Serverサービスを起動すると、testデータベース上にmdfファイルが見つからないエラーが発生します。 この状態でトランザクションログを救出するため、SQL Server Management Studioでトランザクションログバックアップを実行させます。 しかし、この際、右クリックのメニューからバックアップを選択することができず、トランザクションログバックアップができません。 この状態でトランザクションログバックアップを行うにはどのようにすればよいのでしょうか。 どなたかご存知の方がいらっしゃれば教えてください。

  • SQL Server Management studioで

    SQL Server Management studioで 新しくデータベース(MyDatabase)、テーブル(NameTable)を作成してみたんですが、 Visual Web developer 2010 Express のデータベースエクスプローラから MyDatabase.mdfを開こうとしても「このファイルは使用されています。…」 というような文言が出てきて、呼び出せません。 Vista,SQL Server 2008,Visual Web developer 2010 Expressの環境です。 どなたか教えて下さい。

  • 同一MDFファイルの共有について

     現在SQL Server2005を利用しており、vb2005を利用してdb.mdfを利用したスタンドアロンシステムの製作に成功しました。そこで、別途のプログラムからも同一のmdfファイルを利用しようとしているのですが、スタンドアロンシステムで利用している状態の時ログオンできないという状況に見舞われています。SQL ServerManagement studioでもアタッチしているのですが、開くことができなくなってしまいます。テーブル内容確認用に作成したACCESSのODBC接続でも試してみたのですが、スタンドアロンシステムを開いていると開くことができません。同一のMDFファイルは同時に開くことはできないものなのでしょうか?同時に複数のプログラムから開くにはどのような方法をとっていいものなのでしょうか?よろしくお願いしします。

  • 2つのMDFファイルをattachさせたい。

    別々のテーブルが入った二つのMDFファイル(A.mdf,B.mdf)があります。 いまsp_attach_dbを使ってサーバーにアタッチしたいのですが「ファイルを別のデータベースに関連付けることはできません。」と出来ませんでした。 sp_attach_dbのヘルプには「ファイル名は最大 16 個まで指定できます。」と書いてあるので出来ると思ったのですが・・・。初心者なのでもともとの考え方がずれているのでしょうか・・・。 SQLは以下の通りです。 --------------------------------- sp_attach_db @dbname = 'Test', @filename1 = 'C:\aaa\Data\A.mdf', @filename2 = 'C:\aaa\Data\A.ldf', @filename3 = 'C:\aaa\Data\B.mdf', @filename4 = 'C:\aaa\Data\B.ldf' --------------------------------- もし、これが出来ない時はBファイルのテーブルを Aファイルに移動したいのですがどのようにすれば できますでしょうか。 まったく初心者で途方にくれています。ご教授よろしくお願いします。

  • 巨大なDBファイル(mdfファイル)の圧縮

    現在、サーバーマシンのリプレイスを行おうとしています。 Microsoft SQL Server 2005 のDBファイル( mdf ファイル)が67GBもあり、そのままコピーしようとすると非常に時間がかかります。 圧縮してコピーしたいと思いましたが、67GBの巨大なファイルは圧縮できないのでしょうか?

  • アタッチができない

    業務システムから抜き出したaaaa.mdfとaaaa.ldfファイルがあり、これをSQL Server2008R2 Expressをインストールしたパソコンで開くことをトライしています。 しかし、SQL Server Management Studioを起動してテーブルにアタッチしても、「aaaa.mdfはプライマリーデータベースファイルではありません」のエラーが出てしまいます。 必要なのはaaaa.mdf内のテーブルにアクセスできれば良いだけなのですが、どの様にすれば良いのでしょうか。

  • VB.NETでDBへ再度接続したいのですが

    Windows7 Home(64bit) Visual Basic 2010 Proで開発を行っています。 データベースのプログラム作成において、サーバーエクスプローラーよりSQL Server 2008 R2で作成したDBを接続してプログラミングしていましたが、諸事情により、DBファイルは別の場所に保存して、サーバーエクスプローラーで「削除」した後に、再度同じDBファイルにアタッチを試みると「物理ファイル "xxxx.mdf"を開けません。オペレーティングシステムエラー5:"5(アクセスが拒否されました。)ファイルxxxx.mdfの自動的に名前がつけられたデータベースをアタッチできませんでした。同じ名前のデータベースが既に存在するか、指定されたファイルを開けないか、UNC共有に配置されています」と表示され、接続できません。どこかに過去のDBの情報が記録されているのではないかと思うのですが、どのような対処をすれば再度同じDBへ接続できるでしょうか? 宜しくお願い致します。

  • accessでmdfファイルをインポート

    お世話になります。 SQL Serverの中のmdfファイルをAccessで開きたいのですが、 手順がいまいち分からないので教えて頂けないでしょうか。 コントロールパネル - 管理ツール - データソース(ODBC)- システムDSN の中にSQL Serverがあることを確認。 Accessを起動してファイル - 外部データの取り込み - インポート ファイルの種類 - ODBCデータベース この後、データソースの選択というダイアログが出ますが ここでは先程のコントロールパネルのシステムDSNの中にあった "SQL Server"を選択すれば良いのでしょうか? また、SQL Serverというのは必ずID・Passが設定されていている ものなのでしょうか?そしてAccessなどで参照するにはそのID・Pass が必要になるのでしょうか? どうかよろしく願い致します。

  • mdf&ldfファイルからフラットファイルへの書き出し

    お世話になっております。 この度、社内サーバ撤去に伴い現在使用しているSQLサーバーよりデーター抜き出し担当となりました。もっぱら、使う側だったので何をどの様にすればいいのか困っている超ド初心者です。件名についてご質問いたします。 以下の作業に入る前に、当カテゴリーの過去質問を参考にし進めています。 http://oshiete1.goo.ne.jp/qa4614355.html 現在サーバ上にてSQL2000を稼動させています。DBファイルであるhoge.mdf とhoge.ldfに関してはSQLサーバ停止後コピーまで完了しました。 クライアント(自端末)機に『SQL Server 2008 Express with Tools』を導入し接続及び該当DBへのアタッチ、テーブルフォルダー内も確認しました。 テーブルフォルダー内には、約20個程のテーブルが存在しています。 上記URLでは、復元出来たデータベースを右クリックし『タスク→エクスポート』でデータエクスポートウィザードよりフラットファイルで吐き出せばいいとの手順でした。ウィザードでは、テーブルを指定する項目が出てきますが。実際の所20個のテーブルに対して同操作を繰り返し手動で項目整理を行う事になるのでしょか。または、ウィザードの『転送するデータを指定するためのクエリを記述する〔W〕』を使用するのでしょうか。 クエリー記述の場合の相当する項目を現在把握していませんので全項目抽出を行い。Excel取り込み後削除できるとありがたいのですが。 最終形として、Excelに取り込んで管理していきたいと考えています。 当方の勝手な都合ですが、当サーバ撤去が目前に迫っています。 よろしくご助言の程お願いいたします。

  • SQL server 2008 management studio で

    SQL server 2008 management studio でテーブル内を1000件以上表示させ、編集したい。 いつもお世話になっております。 今回、DBにSQL server 2008を使用しており、 DBの中身を、management studioで確認しておりました。 テーブル内のデータが1000件以上になり、 1000件以上のデータを表示したくても、 できません・・・。 management studioでは1000件以上のデータ表示はできないのでしょうか? management studioでの1000件以上の表示方法、 もしくは、それ以外の初心者でも使えるツールで、 1000件以上のデータの表示と編集・削除ができる方法を、 教えていただけましたら幸いです。 すみませんが、よろしくお願いいたします。