Как я пошел бы о нахождении самых больших объектов в базе данных SQL Server? Во-первых, путем определения, какие таблицы (и связанные индексы) являются самыми большими и затем определяют, какие строки в конкретной таблице являются самыми большими (мы храним двоичные данные в БЛОБАХ)?
Есть ли какие-либо инструменты там для помощи с этим видом анализа базы данных? Или есть ли некоторые простые запросы, которые я мог выполнить против системных таблиц?
Из Интернета и других вопросов SO: используйте @ loader _ path/..
вместо @ executable _ path/..
. См.
Если вы не используете TFS 2010, я бы рекомендовал использовать Merge + Resolve для восстановления синхронизации двух ветвей.
# cancel out of conflict dialog
tf merge A B -r -force -version:T
tf resolve B -r -auto:acceptTheirs
Это должно уравнять все, за исключением файлов, которые были созданы только в B и никогда не слились обратно. Используйте функцию Folder Diff для их поиска и согласования.
Delete + переветвь в 2005/2008 рискует столкнуться с конфликтами пространства имен от кошмара до отладки в будущем. Другой вариант, если у вас есть 2008 год, это Destroy + переветвь. Очевидно, что вы в порядке с потерей всей истории из оригинальной копии B.
-121--1653715-Я использовал этот скрипт SQL (который я получил от кого-то, где-то - не могу восстановить, от кого он пришел) в течение многих лет, и это помогло мне немного понять и определить размер индексов и таблиц:
SELECT
t.name AS TableName,
i.name as indexName,
sum(p.rows) as RowCounts,
sum(a.total_pages) as TotalPages,
sum(a.used_pages) as UsedPages,
sum(a.data_pages) as DataPages,
(sum(a.total_pages) * 8) / 1024 as TotalSpaceMB,
(sum(a.used_pages) * 8) / 1024 as UsedSpaceMB,
(sum(a.data_pages) * 8) / 1024 as DataSpaceMB
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.object_id = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id
INNER JOIN
sys.allocation_units a ON p.partition_id = a.container_id
WHERE
t.name NOT LIKE 'dt%' AND
i.object_id > 255 AND
i.index_id <= 1
GROUP BY
t.name, i.object_id, i.index_id, i.name
ORDER BY
object_name(i.object_id)
Конечно, можно использовать другие критерии упорядочения, например
ORDER BY SUM(p.rows) DESC
, чтобы получить таблицы с наибольшим количеством строк, или
ORDER BY SUM(a.total_pages) DESC
, чтобы получить таблицы с наибольшим количеством используемых страниц (блоков 8K).
Если вы используете SQL Server Management Studio 2008, существуют определенные поля данных, которые вы можете просмотреть в окне «Подробнее об экспортере». Просто просмотрите и выберите папку таблиц. В представлении деталей вы можете щелкнуть правой кнопкой мыши заголовки столбцов и добавьте поля на «Отчет». Ваш пробег может варьироваться, если вы находитесь на SSMS 2008 Express.