시작하는 세 가지 매우 빠른 단계 :
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')
클러스터형 인덱스를 포함하여 각 인덱스가 마지막으로 사용 된 시간을 알려줍니다. 따라서 적어도 테이블에 액세스하고 있지 않은 맛을 제공하십시오.
2) 앱을 사용하는 동안 확장 이벤트 세션 (또는 SQL 2012 이전 버전을 실행중인 경우 서버 측 프로파일 러 추적)을 1 시간 정도 켜십시오. 추적 / 세션과 연관시킬 수 있도록 사용자에게 응용 프로그램에서 다양한 조치를 특정 순서로 수행하도록 요청할 수 있습니다.
유용한 제안 : 앱이 사용하는 연결 문자열을 수정할 수있는 경우 "; Application Name = AppNameGoesHere"를 추가하여 해당 특정 애플리케이션 이름에서 추적 필터링을 실행할 수 있습니다. 어쨌든 좋은 연습.
3) 비 프로덕션 서버에서 작동하는 응용 프로그램 버전을 가져옵니다. 응용 프로그램에 대한 동작 기반 테스트 목록을 개발합니다 ( "사용자가 새 항목 단추를 클릭하면 해당 사용자에 대한 새 항목이 생성됩니다"등). 이름을 바꾸어 테스트와 관련이 없다고 생각되는 개체를 소프트 삭제하기 시작합니다. (objectName_DEPRECATED_YYYYMMDD와 같은 형식을 사용합니다. 날짜는 실제로 삭제하려는 날짜입니다.) 모든 테스트를 다시 확인하십시오.
확장 이벤트 세션, 인덱스 사용법 DMV 및 소프트 삭제를 조합하여 애플리케이션이 사용중인 기본 오브젝트와 어떤 오브젝트가 어떤 역할을 수행하는지에 대한 일반적인 합의를 식별 할 수 있어야합니다.
행운을 빕니다!