데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

안녕하세요.

얼마 전에 SQL 버전을 2012 Standard에서 2016 Standard로 업그레이드하면서 DB 이관을 했습니다.


그런데 이관 후에 쿼리 플랜이 재컴파일이 되는 이슈가 발생하고 있습니다.

즉, 쿼리 플랜이 적재되지 않고 계속 갱신됩니다. (Plan Cache 생성됐다가 바로 삭제됨)


sys.dm_exec_query_stats, sys.dm_exec_cached_plans 테이블의 count(*)를 연속으로 확인하면 5, 1, 10, 0, 2 이렇게 값이 계속 바뀌고,

해당 테이블의 쿼리 플랜 데이터도 유지되지 않고 계속 변경되는 것을 확인했습니다. 

(이관 전에는 수천개의 유지되는 쿼리 플랜 데이터가 있었습니다.)


SQL 버전을 업그레이드 했다고 이러한 현상이 발생하지는 않을것 같습니다.

DB 서버의 내용은 아래와 같습니다. (이중에 원인이 될 만한 내용이 있을까 하여 남깁니다.)


- DB 백업/복원 방식 : 풀백업(norecovery 복원) -> 차등백업(norecovery 복원) -> 로그백업(recovery 복원)

- OS : Windows Server 2016 Standard

- DB : MSSQL 2016 Standard

- Lock Pages In Memory 설정

- Min/Max Server Memory : 124,000

* 물리 메모리는 128GB이고, 메모리 설정한 만큼 sql service가 메모리를 점유하고 있음.

- 추척플래그 ON : T845, T1118, T1204, T1222

- 매일 새벽 통계 업데이트 실행 (유지 관리 계획)

- DB 호환성 수준 : SQL Server 2012(110)

* SQL Server 호환성에 따라서 쿼리 플랜이 다르기에 바로 호환성을 높혀서 사용하면 쿼리 플랜이 변경될 수 있음.

* 복원 직후 호환성 수준을 SQL Server 2016(130)으로 변경했다가 위 내용을 접하고 다시 SQL Server 2012(110)로 설정한 상태임.

- 주로 Stored Procedure를 사용하고, 극히 일부에서만 리컴파일 옵션 사용함.


프로파일러에서 SP:Recompile을 찾아봤는데 의심할 만한 결과는 나오지 않았습니다.

그리고 SQL 로그에도 관련 내용은 없습니다.


업그레이드 전에는 지속적으로 DMV를 통해 쿼리 성능을 확인했는데, 현재는 쿼리 플랜이 남지 않아서 할 수가 없네요.

또한 CPU 사용률도 전 서버보다 높아졌는데, 재컴파일로 인한 것이 아닐까 생각하고 있습니다.


어떠한 부분을 확인해 봐야 할까요? 도움 부탁 드립니다.


No. Subject Author Date Views
10497 다른 방법이없을까용 [1] 나는야 2019.09.16 1002
10496 선분조건을 점 조건으로 변환하는 방법 문의 [4] james_12 2019.09.09 1123
10495 partition pruning이 일어나지 않는 이유가 궁금하네요. james_12 2019.09.09 748
10494 일별 이용시간 분할 [2] 화이팅! 2019.09.04 1083
10493 select 질문드립니다 [1] newferari 2019.08.30 1080
10492 안녕하세요?SQL 이제 시작한 초보입니당.. [3] 니나니노니 2019.08.29 1507
10491 varchar → 시간 변경 [2] BGT051 2019.08.27 1114
10490 조건절 REPLACE 관련 문의입니다. 도와주세요 ㅜㅜ [5] 병구쓰 2019.08.23 931
10489 ms sql in memory VS NOSQL [1] sh17 2019.08.12 1262
10488 날짜 필드를 하나로 통일해서 QUERY 작성 하는법 [1] 슈토파이터 2019.08.08 1274
10487 PK 생성 시 클러스터형을 많이 쓰나요? [2] james_12 2019.08.04 1132
10486 테이블에 있는 데이터로 24시간를 사이를 채우는 방법 문의 드립니다 [2] 화이팅! 2019.08.01 1049
10485 BackupIoRequest::ReportIoError: read failure on backup device 'D:\\backup.bak'. Operating system error 13(데이터가 올바르지 않습니다.). [1] 박판규 2019.08.01 869
10484 엑셀 자료를 받아서 업로드 할때 변환오류같은데요 [2] 아싸라비아콜롬비아 2019.07.31 921
» [SQL2016] 쿼리 플랜 재컴파일 이슈 (Plan Cache 삭제) [2] 망고 2019.07.30 981
10482 두개의 값을 하나로 표시 하려고 합니다 [5] 슈토파이터 2019.07.30 985
10481 delete시 외래키 때문에 (?) 속도가 느린경우.. [1] 어렵다어려워 2019.07.29 1386
10480 sql server browser 사용 하시는분 계시나요? [1] 세기말텐션 2019.07.29 954
10479 mdb관련 질문 [1] 초코송이 2019.07.27 885
10478 SSIS 패키지 버전 8-> 6으로 변경하는 하는 방법 [1] 꿀밤 2019.07.24 740





XE Login