어떻게 2008이나 2005 SQL 서버 데이터베이스를 위해 호환성 레벨을 조절하는지
데이터나 Microosft SQL 서버 2008이나 SQL 서버 2005에 대한 실행하는 질문을 선택할 때 다음 오류 메시지나 데이터베이스나 실패를 되돌려줄 수 있다:
마이크로소프트[ODBC SQL 서버 드라이버[SQL 서버[엠에스지 4147,레벨 15,스테이트 1,라인 4]]]질문은 바깥쪽 non ANSI 결합 오퍼레이터를 이용한다. ”*=이나”“ =* ”호환성이 흐름을 위해 세트 COMPATIBILITY LEVEL 옵션을 이용하는 80에(게)데이터베이스를 고르게 하는 괜찮으시다면 놓인 변경 없는 이 질문을 달리기 위해 데이터베이스를 바꾸어라. 그것이 ANSI 바깥쪽 결합 오퍼레이터(왼쪽 바깥쪽 결합,오른쪽 바깥쪽 결합)을 이용해서 질문을 고쳐쓰기 위해 강력하게 추천된다. 미래의 버전에(서)
뒤 호환성 방식에서도 SQL 서버의 non ANSI 결합 오퍼레이터를 지지하지 않을 것이다.
그렇지 않으면,
엠에스지 4147,레벨 15,스테이트 1,라인 3
질문은 바깥쪽 non ANSI 결합 오퍼레이터를 이용한다. ”*=이나”“ =* ”변경 없이 이 질문을 달리기 위해 일반에 알려져 있는 데이터베이스를 위해 호환성 레벨을 80에(게)더 lower 저장해 진 절차 sp dbcmptlevel을 이용하게 만드십시오. 그것이 ANSI 바깥쪽 결합 오퍼레이터(왼쪽 바깥쪽 결합,오른쪽 바깥쪽 결합)을 이용해서 질문을 고쳐쓰기 위해 강력하게 추천된다. SQL 서버의 미래의 버전에(서)뒤 호환성 방식에서도 non ANSI 결합 오퍼레이터를 지지하지 않을 것이다.
오류는 마이크로소프트가 구력 바깥쪽 *=와 =* 결합 오퍼레이터를 위해 지원을 떨어뜨렸고 없앴기 때문에 일어난다.
위에 SQL 서버 오류를 수정하기 위해 DB 관리자는 일시적인 workaround으로서 SQL 서버 2000이 있는 어느 등가물 데이터베이스 호환성 레벨을 80에 갖다대야 한다. 물론 가장 좋은 솔루션은 SQL 진술을 부분 수정하는 것이거나 구력 결합 오퍼레이터를 제거하기 위해 현재 기준이 된 SQL 결합 구문과 더불어 코드를 묻는다.
예를 들면 아래 SQL 질문은 타당하지 않다:
SELECT o.name FROM sys.objects o, sys.views v WHERE o.object_id *= v.object_id;
그리고 다음 코드와 교체되어야 한다:
SELECT o.name FROM sys.objects o LEFT JOIN sys.views v ON o.object_id = v.object_id;
그렇지 않으면 다음이 내부적인 결합 진술을 단축했다:
SELECT o.name FROM sys.objects o, sys.views v WHERE o.object_id = v.object_id;
할 수 있는 관리자를 위해 ’t이 코드를 바꾸고 가장이다 쉬운 workaround은 구력 결합에 대한 뒤 호환성을 제공하기 위해 되돌아가기 위해 호환성이 데이터베이스의 수평으로 된다 있다. sp dbcmptlevel 저장할 수 있어 진 절차가 SQL 캔을 비난했거나 세트에 익숙하여라 틀림없게 SQL 서버의 초기 버전과 맞을 모든 부분적으로,데이터베이스 행동 행하지 않는다. 이 MSDN 물품은 어떤 행동이 각 호환성 레벨(위)에 바뀌는지에 대해 개관을 제공한다.
되돌아가 질 수 있는 SQL 서버의 버전은 다음 중의 하나일 수 있다:
60 = SQL 서버 6.0
65 = SQL 서버 6.5
70 = SQL 서버 7.0
80 = SQL 서버 2000
90 = SQL 서버 2005
100 = SQL 서버 2008
노트: 호환성은 SQL 서버 2008에(서)사용가능하게 더 이상 60와 65와 70을 고르게 하지 않다. 그리고 SQL 서버의 미래의 버전이 뒤 호환성의 전의 2 (2)버전만을 지지할 것이다. 색인이 달린 뷰를 가지고 있는 데이터베이스가 80보다 더 낮은 호환성 레벨로 변경될 수 없다. 데이터베이스가 뒤 호환성 방식에 갖다대 질 때 또한 노트 그것을 받아라,새로운 기능 중의 일부는 데이터베이스를 위해 예를 들면 SQL CLR 지원과 SSMS 다이어그램 잃어버릴 지도 몰라라. 옆에 호환성 방식은 단지 전체 서버를 위해서가 아니고 명시된 데이터베이스를 위해 행동에 영향을 미친다.
변화에(게)SQL 서버를 보측하고 호환성 데이터베이스의 정도를 조절해라
다음 SQL 명령이 SQL 서버 경영(자)스튜디오 질문 창에(서)내려 질 수 있다. 수행하기 위해 각 명령을 찾아다닌다는 것을 기억해라.
- 선택적인: 데이터베이스를 단 하나의 사용자 액세스 모드에 갖다대라:
ALTER DATABASE database_name SET SINGLE_USER; - 데이터베이스 호환성 레벨을 위에 말하여 진 초기 버전 중의 하나에 갖다대라:
SQL 방법을 행하여라
ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }예를 들면,
80 데이터베이스 my db 세트 COMPATIBILITY LEVEL =을 바꾼다.
sp dbcmptlevel은 절차 방법을 저장했다.
EXEC sp_dbcmptlevel database_name, compatibility_level value;예를 들면,
sp dbcmptlevel my db,90 중역;
- 선택적인: 다중 사용자 시스템 액세스 모드에(서)데이터베이스를 되돌려라:
ALTER DATABASE database_name SET MULTI_USER;
중요한: 페이지는 번역되고 보증 없이 "있어서" 제공한 기계이다. 기계번역은 이해하는 데에 어려울 지도 모른다. 가능할 때마다 원래의 영국 물품을 언급하십시오.
관련된 물품
- Uninstall 마이크로소프트 SQL 서버 2005의 다중 데이터베이스 실례를 제거해라
- 마이크로소프트 DreamSpack은 무료 다운로드와 비주얼 스튜디오 2008의 라이센스와 서버 2003와 SQL 서버 2005와 그 이상을 제공한다.
- 메모리와 두려움에(서)페이지를 잠금으로써 큰 램 시스템에(서)SQL 서버 2000이나 2005이나 2008을 최대한으로 활용해라
- 창 7와 서버 2008 R2 베타(KB967062)이 공통적인 응용 호환성 이슈를 고정시키도록 업데이트를 다운로드해라
- 지역적이고 리모트 커넥션을 허락하지 않는 SQL 서버 2005에 대한 커넥션을 맺는 동안 오류는 일어났다.
- 사용가능한 실질적인 자유롭게 마이크로소프트 서버 2005 R2 다운로드
- 새로운 마이크로소프트 응용 호환성 툴킷 버전 5.5을 통해 시스템 호환성을 체크해라
- 실질적인 직접적인 마이크로소프트 서버 2005 R2 SP1 기업 판 다운로드 연결
- 실질적인 서버 2005 개 웹 행정 사이트를 공개할 때 익스플로러(IE)Hang
- 변화 오라클 데이터베이스 사용자 패스워드









































