2 Stimmen

Wie kann ich herausfinden, welche Tabellen Daten in einer Datei in SQL Server enthalten?

Ich möchte eine jetzt angeblich überflüssige Datei in SQL Server (2005) löschen, aber wenn ich versuche, sie zu löschen, wird mir gesagt, dass die Datei nicht leer ist. Kennt jemand eine Möglichkeit herauszufinden, welche Daten sich noch in dieser Datei befinden, damit ich die erforderlichen Änderungen vornehmen kann, um sie löschen zu können?

4voto

gbn Punkte 407102

Angenommen, Sie haben den Tisch verschoben usw., dann müssen Sie wahrscheinlich laufen:

DBCC SHRINKFILE (MyLogicalFile, EMPTYFILE) --EMPTYFILE is the important bit!!

Ver DBCC SCHRUMPFFILE

Zur Überprüfung (dies ist ein Cut'n'Paste eines Skripts, das ich verwende):

SELECT
    ds.[name] AS LogicalFileName,
    OBJECT_NAME(p.object_id) AS Thing,
    SUM(au.total_pages) / 128.0 AS UsedMB,
    df.size / 128 AS FileSizeMB,
    100.0 * SUM(au.total_pages) / df.size AS PercentUsed
FROM
    sys.database_files df
    JOIN
    sys.data_spaces ds ON df.data_space_id = ds.data_space_id 
    JOIN
    sys.allocation_units au ON ds.data_space_id = au.data_space_id 
    JOIN 
    sys.partitions p ON au.container_id = p.hobt_id
WHERE
    OBJECTPROPERTYEX(p.object_id, 'IsMSShipped') = 0
GROUP BY
    ds.[name], OBJECT_NAME(p.object_id), df.size
ORDER BY
    ds.[name]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X