4

호환성 수준이 2005 (90) 인 데이터베이스에 사용중인 SQL Server 2008 R2가 있습니다.호환성 수준이 낮은 SQL Server 사용에 부정적인 영향이 있습니까?

우리는 어느 시점에서 2008로 업그레이드 할 예정이지만 그동안 낮은 호환성 수준에서 데이터베이스를 사용하면 성능에 부정적인 영향을 미치는지 알고 싶습니다.

부정적인 영향이있을 수 있음을 의미하는 this question이 발견되었지만 이전 버전의 SQL Server에 해당합니다.

+0

당신이 참조하는 대답은 2000 년 호환 모드에서 실행되고 실제 SQL 2000에서 실행되는 것을 혼란스럽게합니다. – usr

+0

데이터베이스 호환성을 90에서 100으로 업데이트 할 때 일부 저장 프로 시저에서 오류가 발생했습니다. 더 높은 버전에서는 받아 들일 수 없다. set @ value = select ..와 같은 것이거나 @ value =를 선택한다. 이제는 잊어 버리고 그냥 너를 알고 싶다. –

답변

1

지금 SQL Server 업그레이드를 진행 중이며 compat 수준을 100으로 높이려고합니다. 응용 프로그램의 성능 차이는 관찰하지 않았습니다. 우리가 SQL Server의 새로운 기능을 일부만 활용할 수 있도록 변경 한 이유. 우리는 레벨 80에 있습니다. 따라서 주된 이유는 우리가 더 높은 레벨에서 달릴 때까지 2008 R2로 업그레이드 할 수 없다는 것입니다. 지금까지 데이터베이스를 업그레이드 할 수없는 현재의 compat 레벨보다 떨어지지 않도록주의하십시오.

더 이상 사용되지 않는 구문을 사용하는 수동으로 삽입 된 힌트를 제거하기 위해 코드 기반을 검토했습니다. 힌트를 제거하면 성능이 실제로 향상되는 것으로 나타났습니다. 이는 아마도 지난 10 년 동안 쿼리 최적화 도구가 10 년 전에 개발자가 선택한 최적화보다 더 최적화 할 수있을 정도로 향상 되었기 때문일 수 있습니다. 간접적으로, 우리는 compat 수준을 높이면 성능이 향상되지만 애플리케이션 코드 기반을 변경해야하기 때문에 발견했습니다.

우리가 compat 수준을 높이면 성능을 향상시키는 새로운 기능을 이용할 수 있지만 더 낮은 compat 수준에서 데이터베이스를 실행하면 동일한 데이터베이스를 실행하는 것보다 성능이 떨어집니다 (및 응용 프로그램)의 호환성을 높일 수 있습니다.

관련 문제