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.
SQL İzleme'de olaylar, izleme tanımında listelenen olay sınıflarının örnekleriyse toplanır. Bu olaylar izleme işleminden filtrelenebilir veya hedefleri için kuyruğa alınabilir. Hedef, SQL Server'ı yöneten uygulamalarda izleme bilgilerini kullanabilen bir dosya veya SQL Server Yönetim Nesneleri (SMO) olabilir.
Önemli
SQL İzleme ve SQL Server Profiler kullanım dışı bırakıldı. Microsoft SQL Server İzleme ve Yeniden Yürütme nesnelerini içeren Microsoft.SqlServer.Management.Trace ad alanı da kullanım dışıdır.
Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.
Bunun yerine Genişletilmiş Olaylar'ı kullanın. Genişletilmiş Olaylarhakkında daha fazla bilgi için bkz. Hızlı Başlangıç: SQL Server genişletilmiş olaylar ve SSMS XEvent Profiler.
SQL İzlemenin Avantajları
Microsoft SQL Server, SQL Server Veritabanı Altyapısı örneğinde izlemeler oluşturmak için Transact-SQL sistem saklı yordamları sağlar. Bu sistem saklı yordamları, SQL Server Profiler yerine el ile izleme oluşturmak için kendi uygulamalarınızdan kullanılabilir. Bu, kuruluşunuzun gereksinimlerine özgü özel uygulamalar yazmanızı sağlar.
SQL İzleme Mimarisi
Olay Kaynağı, Transact-SQL toplu işleri veya kilitlenmeler gibi SQL Server olayları dâhil olmak üzere izleme olayını üreten herhangi bir kaynak olabilir. Olaylar hakkında daha fazla bilgi için bkz. SQL Server Olay Sınıfı Başvurusu. Bir olay oluştuktan sonra, olay sınıfı bir izleme tanımına eklenmişse, olay bilgileri izleme tarafından toplanır. İzleme tanımında olay sınıfı için filtreler tanımlanmışsa, filtreler uygulanır ve izleme olayı bilgileri kuyruğa geçirilir. Kuyruktan izleme bilgileri bir dosyaya yazılır veya SQL Server Profiler gibi uygulamalarda SMO tarafından kullanılabilir. Aşağıdaki diyagramda SQL İzleme'nin izleme sırasında olayları nasıl topladığı gösterilmektedir.
SQL İzleme Terminolojisi
Aşağıdaki terimler SQL İzleme'nin temel kavramlarını açıklar.
Etkinlik
Microsoft SQL Server Veritabanı Altyapısı örneği içinde bir eylemin oluşumu.
Veri sütunu
Bir olayın özniteliği.
Olay sınıfı
İzlenebilir bir olay türü. olay sınıfı, bir olay tarafından bildirilebilen tüm veri sütunlarını içerir.
Olay kategorisi
İlgili olay sınıflarından oluşan bir grup.
İzleme (isim)
Veritabanı Altyapısı tarafından döndürülen olay ve veri koleksiyonu.
İzle (fiil)
SQL Server örneğindeki olayları toplamak ve izlemek için.
tracedefinition
Bir izleme sırasında toplanacak olay türlerini tanımlayan olay sınıfları, veri sütunları ve filtrelerden oluşan bir koleksiyon.
Filtre
İzlemede toplanan olayları sınırlayan ölçütler.
İzleme dosyası
Bir izleme kaydedildiğinde oluşturulan bir dosya.
Template
SQL Server Profiler'da, bir izlemede toplanacak olay sınıflarını ve veri sütunlarını tanımlayan bir dosya.
İzleme tablosu
SQL Server Profiler'da, bir izleme bir tabloya kaydedildiğinde oluşturulan bir tablodur.
Döndürülen Olayları Açıklamak için Veri Sütunlarını Kullanma
SQL trace, izleme çalıştırıldığında döndürülen olayları açıklamak için izleme çıkışındaki veri sütunlarını kullanır. Aşağıdaki tabloda, SQL İzleme tarafından kullanılanlarla aynı veri sütunları olan SQL Server Profiler veri sütunları açıklanır ve varsayılan olarak seçilen sütunlar gösterilir.
| Veri sütunu | Sütun numarası | Description |
|---|---|---|
| * Applicationname | 10 | SQL Server örneğine bağlantı oluşturan istemci uygulamasının adı. Bu sütun, programın adıyla değil, uygulama tarafından geçirilen değerlerle doldurulur. |
| BigintData1 | 52 | İzlemede belirtilen olay sınıfına bağlı olan değer (bigint veri türü). |
| BigintData2 | 53 | İzlemede belirtilen olay sınıfına bağlı olan değer (bigint veri türü). |
| * İkili Veriler | 2 | İzleme sırasında yakalanan olay sınıfına bağlı olan ikili değer. |
| * ClientProcessID | 9 | Ana bilgisayar tarafından istemci uygulamasının çalıştığı sürece atanan ID. İstemci işlem kimliği istemci tarafından sağlanmışsa bu veri sütunu doldurulur. |
| ColumnPermissions | 44 | Bir sütun izninin ayarlanıp ayarlanmadığını gösterir. Hangi izinlerin hangi sütunlara uygulandığını belirlemek için deyim metnini ayrıştırabilirsiniz. |
| * CPU | 18 | Olay tarafından kullanılan CPU süresi (milisaniye cinsinden) miktarı. |
| Veritabanı Kimliği | 3 | USE database_name deyimi tarafından belirtilen veritabanının kimliği veya belirli bir örnek için use database_namedeyimi verilmediyse varsayılan veritabanının kimliği. SQL Server Profiler, ServerName veri sütunu izde yakalandığında ve sunucu müsaitse veritabanının adını gösterir. DB_ID işlevini kullanarak veritabanının değerini belirleyin. |
| DatabaseName | 35 | Kullanıcı deyiminin çalıştığı veritabanının adı. |
| DBUserName | 40 | İstemcinin SQL Server kullanıcı adı. |
| * Süre | 13 | Olayın süresi (mikrosaniye cinsinden). Sunucu bir olayın süresini mikrosaniye cinsinden (saniyenin bir milyonda biri veya 10-6'sı) ve olay tarafından kullanılan CPU süresini milisaniye cinsinden (saniyenin binde biri veya 10-3'ünü) bildirir. SQL Server Profiler grafik kullanıcı arabirimi, Süre sütununu varsayılan olarak milisaniye cinsinden görüntüler, ancak bir dosyaya veya veritabanı tablosuna bir izleme kaydedildiğinde , Süre sütun değeri mikrosaniye cinsinden yazılır. |
| * Bitiş Zamanı | 15 | Olayın sona erdiği saat. Bu sütun, SQL:BatchStarting veya SP:Starting gibi, başlatılan bir olaya başvuran olay sınıfları için doldurulmuyor. |
| Error | 31 | Belirli bir olayın hata numarası. Bu genellikle sysmessages içinde depolanan hata numarasıdır. |
| * Eventclass | 27 | Yakalanan olay sınıfının türü. |
| EventSequence |
51 | Bu olayın dizi numarası. |
| EventSubClass | 21 | Her olay sınıfı hakkında daha fazla bilgi sağlayan olay alt sınıfı türü. Örneğin, Yürütme Uyarısı olay sınıfının olay alt sınıfı değerleri yürütme uyarısının türünü temsil eder: 1 = Sorgu beklentisi. Sorgunun yürütülebilmesi için önce kaynakları beklemesi gerekir; örneğin, bellek. 2 = Sorgu zaman aşımı. Gerekli kaynakların yürütülmesi beklenirken sorgu zaman aşımına uğradı. Bu veri sütunu tüm olay sınıfları için doldurulmuyor. |
| GUID | 54 | İzlemede belirtilen olay sınıfına bağlı GUID değeri. |
| Dosyaadı | 36 | Değiştirilen dosyanın mantıksal adı. |
| Kulp | 33 | ODBC, OLE DB veya DB-Library tarafından sunucu yürütmesini koordine etmek için kullanılan tamsayı. |
| Ana Bilgisayar Adı | 8 | İstemcinin çalıştığı bilgisayarın adı. Konak adı istemci tarafından sağlanıyorsa bu veri sütunu doldurulur. Ana bilgisayar adını belirlemek için HOST_NAME fonksiyonunu kullanın. |
| IndexID | yirmi dört | Olaydan etkilenmiş nesnedeki dizinin kimliği (ID). Bir nesnenin indeks kimliğini belirlemek için, sysindexes sistem tablosunun indid sütununu kullanın. |
| IntegerData | Yirmi beş | İzlemede yakalanan olay sınıfına bağımlı tamsayı değeri. |
| IntegerData2 | 55 | İzlemede yakalanan olay sınıfına bağımlı tamsayı değeri. |
| IsSystem |
60 | Olayın bir sistem işleminde mi yoksa kullanıcı işleminde mi gerçekleştiğini gösterir: 1 = sistem 0 = kullanıcı |
| LineNumber | 5 | Hatayı içeren satırın numarasını içerir. SP:StmtStarting gibi Transact-SQL deyimleri içeren olaylar için LineNumber, saklı yordamdaki veya toplu işlemdeki deyimin satır numarasını içerir. |
| LinkedServerName | 45 | Bağlantılı sunucunun adı. |
| * Loginname | 11 | Kullanıcının giriş adıdır (SQL Server güvenlik girişi veya Windows giriş kimlik bilgileri DOMAIN\Kullanıcı adı biçiminde). |
| LoginSid | 41 | Oturum açmış kullanıcının güvenlik tanımlayıcısı (SID). Bu bilgileri ana veritabanının sys.server_principals görünümünde bulabilirsiniz. Sunucudaki her oturum açma işleminin benzersiz bir kimliği vardır. |
| MethodName | 47 | OLEDB yönteminin adı. |
| Mod | 32 | Çeşitli olaylar tarafından olayın istediği veya aldığı durumu açıklamak için kullanılan tamsayı. |
| NestLevel | 29 | @@NESTLEVEL tarafından döndürülen verileri temsil eden tamsayı. |
| NTDomainName | 7 | Kullanıcının ait olduğu Microsoft Windows etki alanı. |
| * NTUserName | 6 | Windows kullanıcı adı. |
| ObjectID | 22 | Nesnenin sistem tarafından atanan kimliği. |
| ObjectID2 | 56 | Varsa, ilgili nesnenin veya varlığın kimliği. |
| ObjectName | 34 | Başvuruda bulunan nesnenin adı. |
| ** Nesne Türü | 28 | Olaya dahil olan nesnenin türünü temsil eden değer. Bu değer sysobjects içindeki tür sütununa karşılık gelir. |
| Ofset | 61 | Saklı yordam veya toplu iş içindeki deyimin başlangıç kayması. |
| Sahiplik Kimliği | 58 | Yalnızca kilit olayları için. Kilidi olan nesnenin türü. |
| Sahibi Adı | 37 | Nesne sahibinin veritabanı kullanıcı adı. |
| Ebeveyn Adı | 59 | Nesnenin bulunduğu şemanın adı. |
| Permissions | 19 | denetlenen izinlerin türünü temsil eden tamsayı değeri. Değerler şunlardır: 1 = TÜMÜNÜ SEÇ 2 = TÜMÜNÜ GÜNCELLEŞTIR 4 = TÜMÜNE REFERANS 8 = INSERT 16 = DELETE 32 = EXECUTE (yalnızca yordamlar) 4096 = HERHANGİ Bİrİ SEÇİN (en az bir sütun) 8192 = HERHANGİ BİR GÜNCELLEME 16384 = HERHANGİ BİR REFERANS |
| ProviderName | 46 | OLEDB sağlayıcısının adı. |
| * Okur | 16 | Olay adına sunucu tarafından gerçekleştirilen mantıksal disk üzerindeki okuma işlemlerinin sayısı. Bu okuma işlemleri, deyimin yürütülmesi sırasında tablolardan ve arabelleklerden gelen tüm okumaları içerir. |
| RequestID | 49 | Ifadeyi içeren talebin kimliği. |
| RoleName | 38 | Etkinleştirilmekte olan uygulama rolünün adı. |
| RowCounts | 48 | İşlem kümesi içerisindeki satır sayısı. |
| SunucuAdı | 26 | İzlenen SQL Server örneğinin adı. |
| SessionLoginName | 64 | Oturumu başlatan kullanıcının giriş adı. Örneğin, Login1 kullanarak SQL Server'a bağlanır ve Login2 olarak bir deyim yürütürseniz, SessionLoginNameLogin1, LoginName ise Login2 görüntüler. Bu veri sütunu hem SQL Server hem de Windows oturum açma bilgilerini görüntüler. |
| Severity | 20 | Özel durum olayının önem düzeyi. |
| SourceDatabaseID | 62 | Nesnenin kaynağının bulunduğu veritabanının kimliği. |
| * SPID | 12 | SQL Server tarafından istemciyle ilişkili işleme atanan oturum kimliği (SPID). |
| SqlHandle | 63 | 64-bit hash, bir ad hoc sorgu metnine veya bir SQL nesnesinin veritabanı ve nesne kimliğine dayanır. bu değer, ilişkili SQL metnini almak için sys.dm_exec_sql_text() öğesine geçirilebilir. |
| * Starttime | 14 | Etkinliğin başladığı zaman, mümkün olduğunda. |
| State | 30 | Hata durum kodu. |
| Başarı | 23 | Olayın başarılı olup olmadığını temsil eder. Değerler şunlardır: 1 = Başarı. 0 = Hata Örneğin, 1 başarılı bir izin denetimi, 0 ise başarısız bir denetim anlamına gelir. |
| TargetLoginName | 42 | Bir oturum açmayı hedefleyen eylemler için hedeflenen oturum açmanın adı; örneğin, yeni bir oturum açma eklemek için. |
| TargetLoginSid | 43 | Bir oturum açmayı hedefleyen eylemler için, hedeflenen oturum açmanın SID'si; örneğin yeni bir oturum açma eklemek için. |
| TargetUserName | 39 | Veritabanı kullanıcısını hedefleyen eylemler için bu kullanıcının adı; örneğin, bir kullanıcıya izin vermek için. |
| * Textdata | 1 | İzlemede yakalanan olay sınıfına bağlı metin değeri. Ancak parametreli bir sorguyu izlerseniz değişkenler TextData sütunundaki veri değerleriyle görüntülenmez. |
| İşlem Kimliği | 4 | İşlemin sistem tarafından atanan kimliği. |
| Türü | 57 | İzlemede yakalanan olay sınıfına bağımlı tamsayı değeri. |
| * Yazar | 17 | Sunucu tarafından olay adına gerçekleştirilen fiziksel disk yazma işlemlerinin sayısı. |
| XactSequence | 50 | Geçerli işlemi tanımlamak için bir belirteç. |
* Bu veri sütunları tüm olaylar için varsayılan olarak doldurulur.
** ObjectType veri sütunu hakkında daha fazla bilgi için bkz. ObjectType İzleme Olay Sütunu.
SQL İzleme Görevleri
| Görev Açıklaması | Konu |
|---|---|
| Transact-SQL saklı yordamları kullanarak izleme oluşturma ve çalıştırmayı açıklar. | Transact-SQL Saklı Yordamları Kullanarak İzler Oluşturma ve Çalıştırma |
| SQL Server Veritabanı Altyapısı örneğinde saklı yordamları kullanarak el ile izlemelerin nasıl oluşturulacağını açıklar. | Saklı Yordamları Kullanarak Manuel İzler Oluşturma |
| İzleme sonuçlarının, izleme sonuçlarının yazıldığı dosyaya nasıl kaydedileceği açıklanır. | İzleme Sonuçlarını Dosyaya Kaydetme |
| Geçici dizindeki alanı kullanarak izleme verilerine erişimi geliştirmeyi açıklar. | İzleme Verilerine Erişimi Geliştirme |
| İzleme oluşturmak için saklı prosedürlerin nasıl kullanılacağını açıklar. | İzleme Oluşturma (Transact-SQL) |
| Yalnızca izlenmekte olan bir olayda ihtiyacınız olan bilgileri alan bir filtre oluşturmak için saklı yordamların nasıl kullanılacağını açıklar. | İzleme Filtresi Ayarlama (Transact-SQL) |
| Var olan bir izlemeyi değiştirmek için saklı yordamların nasıl kullanılacağını açıklar. | Var Olan İzlemeyi Değiştirme (Transact-SQL) |
| Kaydedilmiş bir izlemeyi görüntülemek için yerleşik işlevlerin nasıl kullanılacağını açıklar. | Kaydedilmiş İzlemeyi Görüntüleme (Transact-SQL) |
| İzleme filtresi bilgilerini görüntülemek için yerleşik işlevlerin nasıl kullanılacağını açıklar. | Filtre Bilgilerini Görüntüle (Transact-SQL) |
| Bir izi silmek için saklı yordamların nasıl kullanılacağını açıklar. | İzleme Silme (Transact-SQL) |
| İzleme sebebiyle ortaya çıkan performans maliyetini en aza indirme yöntemi belirtilir. | SQL İzlemeyi İyileştirme |
| İzleme sırasında tahakkuk eden ek yükü en aza indirmek için izlemenin nasıl filtrelendiğini açıklar. | İzi Filtreleme |
| İzlemenin topladığı veri miktarının nasıl en aza indirildiğini açıklar. | İzleme Dosyası ve Tablo Boyutlarını Sınırla |
| Microsoft SQL Server'da izlemeyi zamanlamanın iki yolunu açıklar. | İzleme Zamanlamaları |
Ayrıca Bkz.
SQL Server Profiler Şablonları ve İzinleri
SQL Server Yönetim Nesneleri (SMO) Programlama Kılavuzu