Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Configuration Manager raporları oluşturulurken birçok yararlı Microsoft SQL Server deyimi kullanılabilir ve bunlar bu bölümde kısaca açıklanmıştır. Bu tartışmayı takip etmek için temel düzeyde SQL sorgu deyimi bilgisine ve aşağıdaki gibi sorgular yazma yeteneğine sahip olmanız gerekir:
SELECT Name, Comment, CollectionID
FROM v_Collection
WHERE Name LIKE 'All Windows%'
ORDER BY Name
Temel sorguları yazma hakkında bilgi için SQL Server belgelerinize bakın.
Toplama işlevleri
Toplama işlevleri (SUM, AVG, COUNT, COUNT(*), MAX ve MIN gibi), sorgu sonuç kümelerinde özet değerler oluşturur. Toplama işlevi (BAĞ_DEĞ_SAY(*) hariç) tek bir sütundaki tüm seçili değerleri tek bir sonuç değeri oluşturmak için işler. Toplama işlevleri görünümdeki tüm satırlara, WHERE yan tümcesi tarafından belirtilen görünümün bir alt kümesine veya görünümdeki bir veya daha fazla satır grubuna uygulanabilir. Bir toplama işlevi uygulandığında, her satır kümesinden tek bir değer oluşturulur.
Önemli
NULL değerlerin toplama sonuçlarına dahil edilmediğini unutmayın. Örneğin, 100 kaydınız varsa ve bunların 8'i saydığınız özellik için NULL sütun değerine sahipse, sayı yalnızca 92 sonuç döndürür.
COUNT(*) toplama işlevini kullanma örneği, aşağıdaki sorguda ( önceden tanımlanmış her site için istemcileri say raporundan) ve örnek sonuç kümesinde görüntülenir.
SELECT v_Site.SiteCode, v_Site.SiteName, v_Site.ReportingSiteCode,
Count(SMS_Installed_Sites0) AS 'Count'
FROM v_Site, v_RA_System_SMSInstalledSites InsSite
WHERE v_Site.SiteCode = InsSite.SMS_Installed_Sites0
GROUP BY SiteCode, SiteName, ReportingSiteCode
ORDER BY SiteCode
SiteCode | Site Adı | ReportingSiteCode | Saymak |
---|---|---|---|
ABC | ABC Sitesi | 928 | |
123 | 123 Site | ABC | 1010 |
Tarih ve Saat işlevleri
Birçok yerleşik rapor Tarih ve Saat işlevlerini kullanır. Kullanılan en yaygın işlevler GETDATE, DATEADD, DATEDIFF ve DATEPART'tır.
GETDATE ()
GETDATE işlevi, tarih saat değerleri için geçerli tarih ve saati SQL Server iç biçimde üretir. GETDATE NULL parametresini () alır.
Aşağıdaki örnek geçerli sistem tarih ve saatini döndürür:
SELECT GETDATE()
(sütun adı yok) |
---|
2005-05-29 10:10:03.001 |
DATEADD (datepart, number, date)
DATEADD işlevi, belirtilen tarihe aralık eklemeye bağlı olarak yeni bir tarih saat değeri döndürür.
Datepart , tarihin hangi bölümünde yeni bir değer (örneğin, yıl, ay, gün, saat, dakika vb.) döndürüldüğünü belirten parametredir; sayıdatepart'ı artırmak için kullanılan değerdir ve tarih başlangıç tarihidir.
Aşağıdaki örnek, 29 Mayıs 2005'ten iki gün sonra bir tarihle sonuçlanır:
SELECT DATEADD([day], 2, '2005-05-29 10:10:03.001')
(sütun adı yok) |
---|
2005-05-31 10:10:03.001 |
DATEDIFF (datepart , startdate , enddate)
TARİh FARKI işlevi, belirtilen iki tarih arasında kesişen tarih ve saat sınırlarının sayısını döndürür.
Datepart , tarihin yeni bir değer döndüreceği bölümü belirten parametredir (örneğin, yıl, ay, gün, saat, dakika vb.), başlangıç tarihi başlangıç tarihi, bitiş tarihi ise bitiş tarihidir.
Aşağıdaki örnek, birinci ve ikinci tarihler arasındaki dakika sayısını verir:
SELECT DATEDIFF (minute, '2005-05-29 10:10:03.001',
'2005-06-12 09:28:11.111')
(sütun adı yok) |
---|
20118 |
DATEPART (datepart , date)
DATEPART işlevi, belirtilen tarihin belirtilen tarih kısmını temsil eden bir tamsayı döndürür.
Datepart , tarihin hangi bölümünde döndürüleceği ve tarihin belirtilen tarih olduğunu belirten parametredir.
Aşağıdaki örnek, belirtilen tarihteki aya neden olur:
SELECT DATEPART (month, '2005-05-29 10:10:03.001')
(sütun adı yok) |
---|
5 |
Tarih ve Saat işlevlerini birleştirme
Configuration Manager raporlarda Tarih ve Saat işlevlerinin bir bileşiminin kullanılması normaldir.
Aşağıdaki örnekte geçerli tarih ve saat (2005-05-29 10:10:03.001) eksi 100 gün olur:
SELECT DATEADD([day], - 100, GETDATE())
(sütun adı yok) |
---|
2005-02-18 10:10:03.001 |
Tarih ve Saat işlevlerini kullanan örnek sorgu
Aşağıdaki sorgu, bir günlük süre için durum iletilerinin toplam sayısını verir. Bu sorguda COUNT, GETDATE ve DATEADD işlevlerinin yanı sıra BETWEEN mantıksal işleci ile GROUP BY ve ORDER BY yan tümceleri kullanılır.
SELECT SiteCode, MessageID, COUNT(MessageID) AS [count],
GETDATE() AS [End Date]
FROM vStatusMessages
WHERE ([Time] BETWEEN DATEADD([day], -1, GETDATE()) AND GETDATE())
AND (MessageID BETWEEN '0' AND '10000')
GROUP BY SiteCode, MessageID
ORDER BY SiteCode, MessageID
Site Kodu | messageid | Saymak | Bitiş Tarihi |
---|---|---|---|
ABC | 500 | 190 | 2005-05-29 10:10:03.001 |
ABC | 501 | 130 | 2005-05-29 10:10:03.001 |
ABC | 502 | 190 | 2005-05-29 10:10:03.001 |
ABC | 1105 | 85 | 2005-05-29 10:10:03.001 |
ABC | 1106 | 5 | 2005-05-29 10:10:03.001 |
KATILDI
Configuration Manager'da etkili raporlar oluşturmak için, beklenen verileri almak için farklı görünümleri birleştirmeyi anlamanız gerekir. Üç tür birleşim vardır: iç, dış ve çapraz. Ayrıca, üç tür dış birleşim vardır: sol, sağ ve dolu. Kendi kendine birleştirme yukarıdaki birleşimlerden herhangi birini kullanır, ancak kayıtları aynı görünümden birleştirir.
İç birleşimler
İç birleşimde, iki görünümdeki kayıtlar birleştirilir ve yalnızca birleştirilen alanların değerleri belirli ölçütleri karşılıyorsa sorgunun sonuçlarına eklenir. v_R_System ve v_GS_WORKSTATION_STATUS görünümlerine katılmak için ResourceID kullanarak iç birleşim kullanırsanız, sonuç tüm sistemlerin listesi ve son donanım tarama tarihi olur.
SELECT v_R_System.Netbios_Name0 AS MachineName,
v_GS_WORKSTATION_STATUS.LastHWScan AS [Last HW Scan]
FROM v_R_System INNER JOIN v_GS_WORKSTATION_STATUS
ON v_R_System.ResourceID = v_GS_WORKSTATION_STATUS.ResourceID
Makine Adı | Son HW Taraması |
---|---|
İstemci1 | 2005-05-29 10:10:03.001 |
İstemci3 | 2005-06-12 09:28:11.110 |
Dış birleşimler
Dış birleşim, birleştirilmiş görünümlerden aralarında eşleşen bir satır olup olmadığına bakılmaksızın tüm satırları döndürür. ON yan tümcesi, verileri filtrelemek yerine tamamlar. Üç dış birleşim türü (sol, sağ ve tam) ana verilerin kaynağını gösterir. Dış birleşimler, bir görünümde NULL değerleriniz olduğunda özellikle yararlı olabilir.
Sol dış birleşimler
İki görünümü birleştirmek için sol dış birleşim kullandığınızda, sol görünümdeki tüm satırlar sonuçlara eklenir. Aşağıdaki sorguda , v_R_System ve v_GS_WORKSTATION_STATUS görünümleri sol dış birleşim kullanılarak birleştirilir. v_R_System görünümü, sorguda listelenen ilk görünümdür ve bunu sol görünüm haline getirir. Sonuç, tüm sistemlerin listesini ve bunların son donanım tarama tarihini içerir. İç birleşimden farklı olarak, donanım için taranmayan sistemler null değerle (sonuç kümesinde görüldüğü gibi) listelenmeye devam eder.
SELECT v_R_System.Netbios_Name0 AS MachineName,
v_GS_WORKSTATION_STATUS.LastHWScan AS [Last HW Scan]
FROM v_R_System LEFT OUTER JOIN v_GS_WORKSTATION_STATUS
ON v_R_System.ResourceID = v_GS_WORKSTATION_STATUS.ResourceID
Makine Adı | Son HW Taraması |
---|---|
İstemci1 | 2005-05-29 10:10:03.001 |
İstemci2 | NULL |
İstemci3 | 2005-06-12 09:28:11.110 |
Sağ dış birleşimler
Sağ dış birleşim, sağ görünümdeki tüm satırların sonuçlara dahil olması dışında kavramsal olarak sol dış birleşimle aynıdır.
Tam dış birleşim
Tam dış birleşim, her iki birleştirilmiş görünümdeki tüm satırları alır. Birleştirme koşulunun true olduğu tüm eşleştirilmiş satırları ve diğer görünümdeki NULL satırlarla birleştirilmiş her görünümdeki eşleşmeyen satırları döndürür. Genellikle bu tür dış birleşimleri kullanmak istemezsiniz.
Çapraz birleştirme
Çapraz birleştirme, toplamı değil iki görünümün çarpımını döndürür. Sol görünümdeki her satır, sağ görünümdeki her satırla eşleştirilir. Bu, herhangi bir filtreleme olmadan tüm olası satır birleşimlerinin kümesidir. Ancak WHERE yan tümcesi eklerseniz, çapraz birleşim iç birleşim olarak işlev görür ve tüm olası satır birleşimlerini istediğinize göre filtrelemek için koşulu kullanır.
Kendi kendine katılma
Kendi kendine birleştirme yukarıdaki birleştirme türlerinden herhangi birini kullanır, ancak kendisine katılmış bir görünümdür. Veritabanı diyagramlarında, kendi kendine birleştirmeye esnek ilişki adı verilir.
NOT IN anahtar sözcük tümceciği
IN OLMAYAN anahtar sözcük tümceciğine sahip alt sorgular, belirli ölçütlere uymayan bir veri kümesi hakkında bilgi bulmak için çok yararlıdır. Aşağıdaki örnekte sorgu, Notepad.exe yüklü olmayan tüm bilgisayarların NetBIOS adını döndürür. Öncelikle, seçili dosyanın yüklü olduğu tüm bilgisayarları aşağıdaki gibi algılayan bir sorgu oluşturmanız gerekir:
SELECT DISTINCT v_R_System.Netbios_Name0
FROM v_R_System INNER JOIN v_GS_SoftwareFile
ON (v_GS_SoftwareFile.ResourceID = v_R_System.ResourceId)
WHERE v_GS_SoftwareFile.FileName = 'Notepad.exe'
İlk sorgunun Notepad.exe yüklü olan tüm bilgisayarları görüntülediğini onayladıktan sonra, aşağıdaki alt sorgu deyimi, Notepad.exe dosyası yüklü OLMAYAN tüm bilgisayar adlarını bulmak için NOT IN anahtar sözcüğünü kullanır:
SELECT DISTINCT Netbios_Name0
FROM v_R_System
WHERE Netbios_Name0 NOT IN
(SELECT DISTINCT v_R_System.Netbios_Name0
FROM v_R_System INNER JOIN v_GS_SoftwareFile
ON (v_GS_SoftwareFile.ResourceID = v_R_System.ResourceId)
WHERE v_GS_SoftwareFile.FileName = 'Notepad.exe')
ORDER by Netbios_Name0
Ayrıca bkz.
Configuration Manager raporları için rapor SQL deyimleri yazmak için sorgu tasarımcısını kullanma