Ескерім
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
Описывает и исправляет неточности в подсчете страниц и строк в представлениях каталога. Эти неточности могут привести к неправильным отчетам об использовании пространства, возвращенным системной sp_spaceused
хранимой процедурой.
Соглашения о синтаксисе Transact-SQL
Синтаксис
DBCC UPDATEUSAGE
( { database_name | database_id | 0 }
[ , { table_name | table_id | view_name | view_id }
[ , { index_name | index_id } ] ]
) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ]
Аргументы
database_name | database_id | 0
Имя или идентификатор базы данных, для которой необходимо сообщить и исправить статистику использования пространства. Если указано значение 0, используется текущая база данных. Имена баз данных должны соответствовать правилам идентификаторов.
table_name | table_id | view_name | view_id
Имя или идентификатор таблицы или индексированного представления, для которого необходимо сообщить и исправить статистику использования пространства. Имена таблиц и представлений должны соответствовать требованиям, предъявляемым к идентификаторам.
index_id | index_name
Идентификатор или имя используемого индекса. Если этот аргумент не указан, инструкция обрабатывает все индексы для указанной таблицы или представления.
ВМЕСТЕ С
Позволяет указывать параметры.
NO_INFOMSGS
Подавляет вывод всех информационных сообщений.
COUNT_ROWS
Указывает, что столбец row count обновляется текущим значением количества строк в таблице или представлении.
Замечания
DBCC UPDATEUSAGE
исправляет строки, используемые страницы, зарезервированные страницы, конечные страницы и количество страниц данных для каждой секции в таблице или индексе. Если в системных таблицах отсутствуют неточности, DBCC UPDATEUSAGE
возвращает данные. Если обнаружены и исправлены неточности, а NO_INFOMSGS WITH не используется, DBCC UPDATEUSAGE
возвращает строки и столбцы, обновляемые в системных таблицах.
DBCC CHECKDB
улучшено, чтобы определить, когда количество страниц или строк становится отрицательным. При обнаружении выходные DBCC CHECKDB
данные содержат предупреждение и рекомендацию по устранению DBCC UPDATEUSAGE
проблемы.
Рекомендации
Мы рекомендуем следующее:
- Не выполняйтесь
DBCC UPDATEUSAGE
регулярно, так как SQL Server сохраняет метаданные в большинстве случаев.DBCC UPDATEUSAGE
следует запускать по мере необходимости, например, если вы подозреваетеsp_spaceused
, что неправильные значения возвращаются.DBCC UPDATEUSAGE
может занять некоторое время для выполнения в больших таблицах или базах данных. - Рекомендуется регулярно выполнять
DBCC UPDATEUSAGE
(например, еженедельно) только в том случае, если база данных проходит частые изменения языка определения данных (DDL), например инструкции CREATE, ALTER или DROP.
Результирующие наборы
DBCC UPDATEUSAGE
возвращает (значения могут отличаться):
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Разрешения
Необходимо быть членом предопределенной роли сервера sysadmin или предопределенной роли базы данных db_owner .
Примеры
А. Обновление счетчиков страниц или строк или обоих объектов в текущей базе данных
В следующем примере в качестве имени базы данных указывается значение 0
, и инструкция DBCC UPDATEUSAGE
выдает обновленные сведения о подсчете страниц или строк для текущей базы данных.
DBCC UPDATEUSAGE (0);
GO
B. Обновление счетчиков страниц или строк или как для AdventureWorks, так и для подавления информационных сообщений
В следующем примере в качестве имени базы данных указано AdventureWorks2022
, а все информационные сообщения подавлены.
DBCC UPDATEUSAGE (AdventureWorks2022) WITH NO_INFOMSGS;
GO
В. Обновление счетчиков страниц или строк или обоих для таблицы Employee
В приведенном ниже примере выдаются обновленные сведения о подсчете страниц или строк для таблицы Employee
в базе данных AdventureWorks2022
.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee');
GO
D. Обновление счетчиков страниц или строк или обоих индексов в таблице
В следующем примере указано имя индекса IX_Employee_ManagerID
.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee', IX_Employee_OrganizationLevel_OrganizationNode);
GO