Как узнать, какие таблицы содержат данные в файле в SQL Server? - PullRequest
2 голосов
/ 10 июля 2009

Я хочу удалить теперь предположительно избыточный файл в SQL Server (2005), но когда я пытаюсь удалить его, мне говорят, что файл не пуст Кто-нибудь знает способ узнать, какие данные все еще находятся в этом файле, чтобы я мог внести любые необходимые изменения, чтобы позволить мне удалить их?

1 Ответ

4 голосов
/ 10 июля 2009

Если вы переместили стол и т. Д., Вам, вероятно, потребуется выполнить:

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

См. DBCC SHRINKFILE

Чтобы проверить (это вырезанная паста из используемого сценария использования):

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...