본 게시물은 개인적인 의견으로 작성되었으니 절대적인 정보가 아닐 수 있습니다. 참고만 하시고 궁금한 사항이 있으시면 연락주세요.

티스토리 뷰

SQL Server 2000에서 상위 버전으로 호환성수준을 변경을 하면 오류가 발생하는 쿼리들이 있다. 그래서 상위버전으로 업그레이드 할 경우에 업그레이드 관리자를 수행하여 호환성테스트를 하게 된다.

   

업그레이드 관리자(Upgrade Advisor)를 수행하여 호환성이슈가 발생하는 케이스는 아래의 경우에만 추출하게 된다.

https://msdn.microsoft.com/ko-kr/library/ee240650(v=sql.120).aspx

   

외에는 아래 쿼리처럼 업그레이드관리자를 수행하여 보고서를 확인하면 아래 쿼리는 검출할 수 없다.

   

[데모]

#.호환성 수준 80

create table tblx(col1 int, col2 int)

   

insert into tblx values(4,44)

   

select * from tblx

   

use td

go

   

create proc t_1

as

declare @sql varchar(100)

set @sql = ''

   

set @sql = 'select col1, col1, col2 from tblx

order by col1 desc'

execute(@sql)

   

execute t_1

   

   

#.호환성 수준 90

아래와 같이 오류가 발생한다. SQL 2000에서는 무관하게 처리되었지만, 애매한 컬럼정의는 2005부터는 오류가 발생한다.

   

   

[데모 2]

대표적인 호환성 이슈쿼리이다. 업그레이드관리자 실행하면 검출이 된다.

   

   

업그레이드 관리자의 보고서는 아래와 같이 나온다.

   검색어 : 호환성예외쿼리

   

댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday