SQL Server 2000 의 샘플 데이터베이스를 SQL Server 2005 에 Attach 했더니 SSMS 에서 보고서 출력이 되지 않습니다. 어떤 문제가 있는 것일까요? 호환성 이슈에 대해서 아래와 같이 정리하였습니다.
[환경]
SQL Server 2005
[현상]
SQL Server 2000 에서 제공하는 Sample Database 인 Pub DB를 SQL Server 2005 에 attach 한 후 SSMS 에서 Pubs 데이터베이스 - 보고서 - 표준보고서를 선택하였을 때 아래와 같은 메시지가 발생합니다.
데이터베이스의 호환성 수준이 80이므로 보고서를 표시할 수 없습니다. 이 보고서를 보려면 [데이터베이스 속성] 대화 상자를 사용하여 호환성 수준을 SQL Server 20005 (90)로 변경해야 합니다.
정상적인 경우에는 아래와 같이 보고서가 출력됩니다.
[원인]
SSMS 에서 보고서 출력을 위해서는 데이터베이스 호환성 수준이 SQL Server 2005 (90) 이상으로 설정되어 있어야 합니다. Pubs 데이터베이스의 호환성 수준은 SQL Server 2000(80) 입니다.
[해결방안]
호환성 수준을 SQL Server 2005(90) 로 변경합니다.
USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'pubs', @new_cmptlevel=90
GO
[분석결과]
데이터베이스 호환성 수준 확인
SELECT NAME, COMPATIBILITY_LEVEL FROM SYS.DATABASES
NAME COMPATIBILITY_LEVEL
------------------------------------
master 90
tempdb 90
model 90
msdb 90
Profiler 90
laigo 90
pubs 80
호환성 수준 차이점에 대해서는 아래 링크된 technet 문서를 참조할 수 있습니다.
[참고자료]
Northwind and pubs Sample Databases for SQL Server 2000
ALTER DATABASE 호환성 수준(Transact-SQL)
작성자 : Lai Go / 작성일자 : 2009.07.06