Tiga langkah sangat cepat untuk memulai:
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')
Akan memberi tahu Anda kapan terakhir kali setiap indeks digunakan, termasuk indeks berkerumun. Jadi setidaknya memberi Anda rasa yang tabelnya sedang diakses (dan yang tidak.)
2) Aktifkan sesi Peristiwa Diperpanjang (atau jejak Profiler sisi server jika Anda menjalankan pra-SQL 2012) selama satu jam atau lebih saat aplikasi sedang digunakan. Anda juga dapat meminta pengguna untuk melakukan berbagai tindakan dalam aplikasi dalam urutan tertentu sehingga Anda dapat menghubungkannya dengan jejak / sesi.
Saran yang sangat membantu: jika Anda dapat memodifikasi string koneksi yang digunakan aplikasi sama sekali, tambahkan "; Nama Aplikasi = AppNameGoesHere" sehingga Anda dapat menjalankan pemfilteran jejak pada Nama Aplikasi tersebut. Latihan yang bagus.
3) Dapatkan versi aplikasi yang berfungsi pada server non-produksi. Kembangkan daftar tes yang didorong perilaku untuk aplikasi ("Ketika pengguna mengklik tombol Item Baru, itu menciptakan item baru untuk pengguna itu," dll.) Mulailah menghapus objek yang Anda rasa tidak ada hubungannya dengan tes dengan mengubah nama mereka (Saya menggunakan format seperti objectName_DEPRECATED_YYYYMMDD - dengan tanggal adalah hari saya berencana untuk benar-benar menghapusnya.) Verifikasi ulang semua tes Anda.
Melalui kombinasi sesi Peristiwa Diperpanjang, DMV penggunaan indeks, dan penghapusan lunak Anda, Anda harus dapat mengidentifikasi objek utama yang digunakan oleh aplikasi dan konsensus umum yang baik tentang objek mana yang melakukan apa.
Semoga berhasil!