Jeder Weg, um schnell sagen, die Datenbank, wenn überhaupt, an ein .mdf-Datei?
Davon ausgehen, SQL Server 2005 /2008 mit einer großen Anzahl von Datenbanken. Gibt es eine Möglichkeit, schnell zu sagen, welche Datenbank, falls vorhanden, angeschlossen ist, um einen bestimmten .mdf-Datei?
Wir haben fallen einige Datenbanken im Laufe der Zeit und möchte einige bereinigen zu Verweilen .mdf ist zu klären Speicherplatz auf dem server. Derzeit die einzige Möglichkeit, die ich kenne, ist an den Eigenschaften jeder Datenbank, eins nach dem anderen, in Management Studio und stellen Sie eine Liste der Dateien, Sie sind beigefügt. Auf der Suche nach etwas ein wenig effizienter als diese, wenn überhaupt vorhanden ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies kann helfen.
sys.master_files enthält eine Zeile pro Datenbank für die erste Datei (id = 1) für diese Datenbank. Das heißt, system-Tabellen werden immer im fileid = 1 für jede Datenbank
Dies ist alles, was Sie brauchen:
Listet alle Dateien, alle Datenbanken bekannt auf dem system.
Könnten Sie auch OrcaMDF für diese:
Diese werden erlauben Ihnen die Abfrage, das mdf ist für Ihre Datenbank-Namen ohne befestigte Sie an den Datenbank-server. Beachten Sie, dass dies getan werden sollte, auf die primäre Datendatei, falls mehrere Dateien vorhanden sind. Haftungsausschluss - ich bin der Autor von OrcaMDF.
Schleife durch alle Dateien im data-Verzeichnis, es würde leicht sein, um beizutreten, dass mit der sys.Datenbanken und zu sehen, welche nicht übereinstimmen, und sind somit nicht angebracht mdf-Dateien.
Edit: Gepostet gründlicher als Beispiel auf meinem blog: http://improve.dk/archive/2011/05/19/checking-which-database-is-stored-in-a-deattached-mdf-file.aspx
Low-tech-Lösung... bewegen Sie die mdf-Datei an einen anderen Speicherort. Wenn es angebracht ist, den SQL-server nicht zulassen würde Sie es verschieben 🙂
Aus der Eingabeaufforderung
Alle ungenutzten Dateien verschoben werden UnusedDBFiles.