Sistem dinamik yönetim görüşleri ve fonksiyonları

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Dinamik yönetim nesneleri arasında dinamik yönetim görünümleri (DMV'ler) ve dinamik yönetim fonksiyonları (DMF'ler) bulunur. Bu nesneler, sunucu örneğinin sağlığını izlemek, sorunları teşhis etmek ve performansı ayarlamak için kullanabileceğiniz sunucu durum bilgisini geri döndürür.

Dinamik yönetim nesneleri ya sunucu kapsamlı ya da veritabanı kapsamlıdır.

Sorgu dinamik yönetim nesneleri

Tüm dinamik yönetim nesneleri şemada sys bulunur ve adlandırma geleneğine dm_*uyurlar.

Dinamik yönetim nesnesi kullandığınızda, şemayı kullanarak sys nesnenin adını önekle yazmalısınız. Örneğin, dinamik yönetim görünümünü dm_os_wait_stats sorgulamak için aşağıdaki sorguyu çalıştırın:

SELECT wait_type,
       wait_time_ms
FROM sys.dm_os_wait_stats;

Aşağıdaki tablo, Transact-SQL'de dinamik yönetim nesnelerine nasıl referans verileceğini açıklar:

T-SQL referansı Dinamik yönetim görünümü Dinamik yönetim fonksiyonu
Tek bölümlü adlandırma Hayır Hayır
İki bölümlü adlandırma Yes Yes
Üç bölümlü adlandırma Yes Yes
Dört bölümlü adlandırma Yes Hayır

Açıklamalar

Dinamik yönetim nesneleri, uygulamaya özgü içsel, durum verisini döndürür. Şemaları ve döndürdükleri veriler, gelecekteki Database Engine sürümlerinde değişebilir. Bu nedenle, gelecekteki sürümlerdeki dinamik yönetim nesneleri, bu sürümdeki dinamik yönetim nesneleriyle uyumlu olmayabilir.

Örneğin, gelecekteki Database Engine sürümlerinde, Microsoft herhangi bir dinamik yönetim görünümünün tanımını sütun listesinin sonuna sütunlar ekleyerek artırabilir. Üretim kodunda sözdizimi SELECT * FROM dynamic_management_view_name kullanmayın çünkü dönen sütun sayısı değişebilir ve uygulamanızı bozabilir.

Permissions

Dinamik bir yönetim nesnesi sorgulamak, nesne üzerinde izin gerektirir SELECT ve nesnenin kapsamına ve SQL Server Database Engine sürümüne bağlıdır:

Sürüm Sunucu kapsamı Veritabanı kapsamı
SQL Server 2019 (15.x) ve önceki sürümler VIEW SERVER STATE VIEW DATABASE STATE
SQL Server 2022 (16.x) ve sonraki sürümleri VIEW SERVER PERFORMANCE STATE, veya VIEW SERVER SECURITY STATE güvenlikle ilgili nesneler için VIEW DATABASE PERFORMANCE STATE, veya VIEW DATABASE SECURITY STATE güvenlikle ilgili nesneler için

Erişimi seçici olarak sınırlamak için, kullanıcı veya giriş master oluşturun ve ardından engellemek istediğiniz belirli dinamik yönetim görünümleri veya fonksiyonları üzerinde kullanıcı SELECT iznini reddedin. Kullanıcı, veritabanı bağlamından bağımsız olarak bu nesnelerden seçim yapamaz.

Note

DENY ' den önceliklidir GRANT. Örneğin, izin verilen ancak reddedilen VIEW DATABASE PERFORMANCE STATE bir kullanıcı VIEW SERVER PERFORMANCE STATE sunucu düzeyindeki bilgileri görebilir ancak veritabanı düzeyinde bilgileri göremez.