Başlamanız için üç çok hızlı adım:
1)
USE DatabaseName
SELECT [TableName] = OBJECT_NAME(object_id),
last_user_update, last_user_seek, last_user_scan, last_user_lookup
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID('DatabaseName')
Kümelenmiş dizin de dahil olmak üzere her bir dizinin en son ne zaman kullanıldığını size bildirir. Yani en azından hangi tablolara erişildiği (ve hangilerinin olmadığı) bir lezzet verin.
2) Uygulama kullanılırken bir Uzun Süreli oturumunu (veya SQL 2012 öncesi SQL Server çalıştırıyorsanız sunucu tarafı Profiler izini) açın. Ayrıca bir kullanıcıdan uygulamada çeşitli eylemleri belirli bir sırayla gerçekleştirmesini isteyebilirsiniz, böylece izleme / oturumla ilişkilendirebilirsiniz.
Yararlı bir öneri: uygulamanın kullandığı bağlantı dizesini değiştirebiliyorsanız, "; Application Name = AppNameGoesHere" ifadesini ekleyin, böylece söz konusu Uygulama Adı üzerinde bir izleme filtresi çalıştırabilirsiniz. Yine de iyi uygulama.
3) Uygulamanın üretim dışı bir sunucuda çalışan bir sürümünü edinin. Uygulama için davranış odaklı testlerin bir listesini geliştirin ("Kullanıcı Yeni Öğe düğmesini tıkladığında, o kullanıcı için yeni bir öğe oluşturur" vb.) Yeniden adlandırarak testlerde etkili olmadığını düşündüğünüz yumuşak silme nesnelerine başlayın (ObjectName_DEPRECATED_YYYYMMDD gibi bir biçim kullanıyorum - tarih gerçekten silmeyi planladığım gün.) Tüm testlerinizi yeniden doğrulayın.
Genişletilmiş Olaylar oturumunun, dizin kullanımı DMV'sinin ve yumuşak silme işleminizin bir kombinasyonu yoluyla, uygulama tarafından kullanılan ana nesneleri ve hangi nesnenin ne yaptığına ilişkin iyi bir genel fikir birliğini tanımlayabilmeniz gerekir.
İyi şanslar!