SCCM’de Tüm Query’leri SQL ile Listeleme ve Export Etme
Microsoft Endpoint Configuration Manager (SCCM) ortamlarında zamanla yüzlerce hatta binlerce query oluşturulabilir. Bu query’ler; raporlama, collection oluşturma, envanter analizi ve operasyonel süreçlerin temel yapı taşlarından biridir.
Ancak özellikle büyük ve kompleks ortamlarda:
- Query’lerin takibini yapmak
- Hangi query’nin ne işe yaradığını anlamak
- Gereksiz veya tekrar eden query’leri temizlemek ciddi bir ihtiyaç haline gelir.
Bu noktada SCCM veritabanına SQL ile erişerek query bilgilerini çekmek, sistem yöneticilerine güçlü bir analiz, audit ve yönetim imkânı sunar.
SCCM Query Nedir?
SCCM’de query’ler, ortamdan veri çekmek için kullanılan yapılardır. Bu query’ler genellikle:
- Belirli cihazları veya kullanıcıları bulmak
- Dinamik collection oluşturmak
- Envanter bilgilerini analiz etmek
- Raporlama süreçlerini desteklemek
amacıyla kullanılır.
Birçok kurumsal ortamlarda farklı ekipler tarafından sürekli yeni query’ler oluşturulduğu için zamanla ciddi bir karmaşa oluşabilir. Nitekim gerçek ortamlarda bazı query’lerin gereksiz veya redundant hale geldiği sıkça görülmektedir.
Neden SQL ile Query Çekmek Gerekir?
SCCM Console üzerinden query’leri görüntülemek mümkün olsa da SQL kullanımı aşağıdaki avantajları sağlar.
✔ Merkezi görünüm
Tüm query’leri tek bir ekranda toplu olarak listeleyebilirsiniz.
✔ Audit ve güvenlik
- Hangi collection’a bağlı?
- Hangi amaçla kullanılıyor?
- Gereksiz veya redundant query var mı?
✔ Export imkanı
Verileri CSV / Excel formatında dışa aktararak analiz edebilirsiniz.
✔ Performans analizi
Karmaşık veya yanlış tasarlanmış query’leri tespit edebilirsiniz.
SQL View Mantığı
SCCM veritabanında doğrudan tablolar yerine SQL view (görünüm) kullanılması önerilir.
Bunun nedeni:
- View’ler optimize edilmiş veri sunar
- Microsoft tarafından desteklenen yapıdır
- Daha güvenli ve performanslıdır
View’ler, arka plandaki tabloları soyutlayarak bize okunabilir ve hazır veri sağlar.
SCCM Query’lerini Listeleyen SQL Sorgusu
Aşağıdaki sorgu ile SCCM ortamındaki tüm query’leri detaylı şekilde listeleyebilirsiniz:
SELECT
q.QueryID AS [Query ID],
q.Name AS [Query Name],
q.TargetClassName AS [Target Class Name],
q.LimitToCollectionID AS [Limit To Collection ID],
c.Name AS [Collection Name]
FROM v_Query q
LEFT JOIN v_Collection c
ON q.LimitToCollectionID = c.CollectionID
ORDER BY q.Name
Bu sorguyu teknik olarak parçalarsak:
v_Query Kullanımı
SCCM’de oluşturulan tüm query’lerin tutulduğu ana view’dır.
Önemli alanlar:
- LimitToCollectionID → Query’nin sınırlandığı collection
- QueryID → Query’nin benzersiz kimliği
- Name → Query adı
- TargetClassName → Hedef sınıf (örnek:
SMS_R_System)
v_Collection Kullanımı
Collection bilgilerini tutar. Bu view ile yapılan join sayesinde:
- Query’nin bağlı olduğu collection bulunur.
- Collection adı okunabilir hale gelir.
LEFT JOIN Kullanımı
Bu kullanım sayesinde:
- Collection’a bağlı olmayan query’ler de listelenir.
- Veri kaybı yaşanmaz.
- Audit süreçleri için tam görünürlük sağlanır.
SCCM Sorgularını Export Etmek
SCCM sorgu sonuçlarını dışa aktarmak için, sonuç ekranında Ctrl + A ile tüm verileri seçip sağ tıklayarak “Save Results As…” seçeneğini kullanabilir ve çıktıyı .csv veya .txt formatında kaydedebilirsiniz.

Eğer bu işlemi bir script ile otomatize etmek isterseniz, aşağıdaki komutu kullanarak doğrudan dosya sistemine çıktı alabilirsiniz:
sqlcmd -S localhost -d CM_SBP -E -Q "SELECT q.QueryID, q.Name, q.TargetClassName, q.LimitToCollectionID, c.Name AS CollectionName FROM v_Query q LEFT JOIN v_Collection c ON q.LimitToCollectionID = c.CollectionID ORDER BY q.Name" -o
"C:\SCCM_Queries.csv" -s ","
SCCM ortamlarında query’lerin kontrolsüz şekilde artması, zamanla yönetimsel ve performans açısından sorunlara yol açabilir.
Bu yazıda paylaşılan yöntemler sayesinde:
✔ Tüm query’leri merkezi olarak görüntüleyebilir.
✔ Collection ilişkilerini analiz edebilir.
✔ Gereksiz query’leri tespit edebilir.
✔ Export ederek detaylı analiz gerçekleştirebilirsiniz.
Bu bilgilerin faydalı olması dileğiyle…











Eline sağlık.
Teşekkür Ederim.