Viewing Database Metadata
Można przeglądać bazę danych, plików, partycji i właściwości grupa plików przy użyciu różnych widoki wykazu, funkcje systemowe i procedur przechowywanych przez system.
Następujące tabela list widoki wykazu, system funkcje i procedury składowane w systemie, który zwraca informacje o bazach danych, plików i filegroups.
Widoki |
Funkcje |
Procedury przechowywane i inne instrukcje |
---|---|---|
Indeks nie jest wypełniony wszelkie tokeny, będące częścią określonej stoplist. |
||
Opcja zapełnianie nie można używać tylko wtedy, gdy CHANGE_TRACKING jest wyłączona. |
||
|
||
|
||
|
||
|
||
|
||
|
||
sys.dm_db_file_space_usage (języka Transact-SQL) (tempdb only) |
|
|
sys.dm_db_session_space_usage (Transact-SQL) (tempdb only) |
|
|
sys.dm_db_task_space_usage (języka Transact-SQL) (tempdb only) |
|
|
Niektóre kolumny w sys.Databases wykazu widoku i właściwości w DATABASEPROPERTYEX funkcja może zwrócić wartość NULL, jeśli określona baza danych nie jest dostępny.Na przykład aby zwrócić nazwę sortowanie bazy danych, muszą być dostępne w bazie danych.Jeśli baza danych nie jest w trybie online lub opcja AUTO_CLOSE jest ustawiona na ON, nie może być zwrócona nazwa sortowanie.
Przykłady
A.Za pomocą systemu widoki wykazu do zwracania informacji bazy danych
Użycie następujący przykład widoki wykazu sys.partitions, sys.allocation_units, sys.objects, a sys.indexes Aby powrócić na partycji jednostek numery i alokacji przy każdej tabela i indeks w bazie danych.
USE AdventureWorks;
GO
SELECT SCHEMA_NAME(o.schema_id) AS schema_name,
o.name AS table_name,
i.name AS index_name,
au.type_desc AS allocation_type,
au.data_pages AS pages_per_allocation_unit,
partition_number
FROM sys.allocation_units AS au
JOIN sys.partitions AS p ON au.container_id = p.partition_id
JOIN sys.objects AS o ON p.object_id = o.object_id
JOIN sys.indexes AS i ON p.index_id = i.index_id
AND i.object_id = p.object_id
WHERE o.type_desc <> N'SYSTEM_TABLE'
ORDER BY table_name, p.index_id;
B.Za pomocą widoków wykazu systemu do zwracania informacji rozmiar bazy danych
W następujących przykładach użyto widoku wykazu sys.database_files i w dynamiczny widok zarządzania sys.dm_db_file_space_usage Aby przywrócić informacje o rozmiarze do tempdb bazy danych.W widoku sys.dm_db_file_space_usage ma zastosowanie tylko do tempdb.
SELECT
name AS FileName,
size*1.0/128 AS FileSizeinMB,
'MaximumSizeinMB' =
CASE max_size
WHEN 0 THEN 'No growth is allowed.'
WHEN -1 THEN 'Autogrowth is on.'
WHEN 268435456
THEN 'Log file will grow to a maximum size of 2 TB.'
ELSE CAST (max_size*1.0/128 AS nvarchar(30))
END,
growth AS 'GrowthValue',
'GrowthIncrement' =
CASE
WHEN growth = 0 THEN 'File size is fixed and will not grow.'
WHEN growth > 0 AND is_percent_growth = 0
THEN 'Growth value is in units of 8-KB pages.'
ELSE 'Growth value is a percentage.'
END
FROM tempdb.sys.database_files;
GO
USE tempdb;
GO
SELECT (SUM(unallocated_extent_page_count)*1.0/128) AS free_space_in_MB,
(SUM(version_store_reserved_page_count +
user_object_reserved_page_count +internal_object_reserved_page_count +
mixed_extent_page_count)*1.0/128) AS used_space_in_MB
FROM sys.dm_db_file_space_usage;
C.Za pomocą funkcje systemowe
W poniższym przykładzie użyto funkcja systemu DATABASEPROPERTYEX zwraca nazwę domyślnym sortowaniem dla AdventureWorks Baza danych.
See Also