Veritabanı meta veri görüntüleme
Veritabanı, dosya, bölüm ve çeşitli katalog görünümleri, sistem işlevleri kullanarak dosya grubu özelliklerini görüntülemek ve sistem saklı yordamları.
Aşağıdaki tablo katalog görünümleri, sistem işlevleri ve veritabanları, dosyaları ve filegroups ilgili bilgi döndüren sistem saklı yordamları listeler.
Görünümler |
İşlevler |
Saklı yordamlar ve diğer deyimleri |
---|---|---|
|
||
|
||
|
||
|
||
|
||
|
||
sys.dm_db_file_space_usage (Transact-sql)(tempdb only) |
|
|
sys.dm_db_session_space_usage (Transact-sql)(tempdb only) |
|
|
sys.dm_db_task_space_usage (Transact-sql)(tempdb only) |
|
|
Bazı sütunlar sys.databases katalog görünüm ve özellikler, databasepropertyex belirtilen veritabanı kullanılabilir değilse işlev null değeri döndürebilir.Örneğin, bir veritabanı harmanlama adını döndürmek için veritabanı erişilmesi gerekir.Veritabanı çevrimiçi değil veya auto_close seçeneği on olarak küme, harmanlama adı iade edilemez.
Örnekler
A.Sistemi kullanarak katalog görünümleri veritabanı bilgilerini dönmek için
Aşağıdaki örnek, katalog görünümleri kullanma sys.partitions, sys.allocation_units, sys.objects, ve sys.indexes bölüm numaraları ve her tablo ve dizin veritabanının tarafından kullanılan ayırma birimleri geri dönmek için
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.Sistemi kullanarak katalog görünümleri veritabanı boyut bilgilerini dönmek için
Aşağıdaki örnekler katalog görünümünü kullanın sys.database_files ve dinamik yönetim görünümü sys.dm_db_file_space_usage boyutu bilgilerini dönmek için tempdb veritabanı.The view sys.dm_db_file_space_usage is applicable only to tempdb.
USE tempdb;
GO
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.Sistem işlevleri kullanma
Aşağıdaki örnek sistem kullanır işlev DATABASEPROPERTYEX için varsayılan harmanlama adını döndürmek için AdventureWorks2008R2 veritabanı.
SELECT DATABASEPROPERTYEX('AdventureWorks2008R2', 'Collation');
Ayrıca bkz.