sql >> Databasteknik >  >> RDS >> Sqlserver

Hur tar jag reda på vilka tabeller som har data i en fil i SQL Server?

Förutsatt att du har flyttat bordet etc, måste du förmodligen köra:

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

Se DBCC SHRINKFILE

För att kontrollera (detta är en cut'n'paste av ett användningsskript jag använder):

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]



  1. Att få det sista ordet från en Postgres-sträng, deklarativt

  2. Java får det automatiska ökningsnumret för den aktuella infogade raden, för att använda den för en annan fråga?

  3. SQL-uppdatering med row_number()

  4. jenkins misslyckas när jag startar om min sql sudo:ingen tty närvarande och inget askpass-program specificerat. Tyvärr, försök igen.