어떻게 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 서버 경영(자)스튜디오 질문 창에(서)내려 질 수 있다. 수행하기 위해 각 명령을 찾아다닌다는 것을 기억해라.

  1. 선택적인: 데이터베이스를 단 하나의 사용자 액세스 모드에 갖다대라:

    ALTER DATABASE database_name SET SINGLE_USER;

  2. 데이터베이스 호환성 레벨을 위에 말하여 진 초기 버전 중의 하나에 갖다대라:

    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 중역;

  3. 선택적인: 다중 사용자 시스템 액세스 모드에(서)데이터베이스를 되돌려라:

    ALTER DATABASE database_name SET MULTI_USER;

중요한: 페이지는 번역되고 보증 없이 "있어서" 제공한 기계이다. 기계번역은 이해하는 데에 어려울 지도 모른다. 가능할 때마다 원래의 영국 물품을 언급하십시오.


대답을 떠나라

당신은 이들 태그를 이용할 수 있다: <a href="" title=""><abbr title=""><acronym title=""><b><blockquote cite=""><cite><code><del datetime=""><em><i><q cite=""><strike> <strong>

코멘트에(게)특징이 장애가 있었다 서명한다. 일간 이메일 요약에(서)새로운 코멘트를 받기 위해 알려서 최근 코멘트의 통지를 받기 위해 나의 디지털 생명(삶)코멘트 RSS 먹이나 등록 에 등록해라 .
Custom Search

새로운 물품

조항을 위해 들어온 탐색 기간

질문은 바깥쪽 non ANSI 결합 오퍼레이터 "(*=이나" "=*" ")"을 이용한다) 변경 없이 이 질문을 달리기 위해 일반에 알려져 있는 데이터베이스를 위해 호환성 레벨을 80에(게)더 lower 저장해 진 절차 sp dbcmptlevel을 이용하게 만드십시오. 그것이 ANSI 바깥쪽 결합 오퍼레이터(왼쪽 바깥쪽 결합,오른쪽 바깥쪽 결합)을 이용해서 질문을 고쳐쓰기 위해 강력하게 추천된다. SQL 서버의 미래의 버전에(서)뒤 호환성 방식에서도 non ANSI 결합 오퍼레이터를 지지하지 않을 것이다. 수평으로 되어라 수평으로 되어라 수평으로 되어라 있다 놓여라 수평으로 되어라 놓여라 수평으로 되어라 놓여라 체크해라 수평으로 되고 같이이어라 안에 뒤로 sql 서버 2008 호환성 방식 sql 서버 호환성 호환성 sql 서버 sql 2005 호환성 방식 SQL 호환성 sql 2005 호환성 sql 호환성 2008 sql 호환성 방식 데이터베이스 호환성 방식 90 sql 서버 2005 호환성 sql 서버 호환성 COMPATIBILITY LEVEL sql 서버 호환성 레벨 호환성 sql 서버 2008 sql 수평으로 된다. 얼마나 serveer 2005은 sql 서버를 놓기 위해 2008 호환성-질문이 바깥쪽 non ANSI 결합 오퍼레이터 "(*=이나" "=*" ")"을 이용한다 COMPATIBILITY LEVEL을 놓았다) 호환성이 흐름을 위해 세트 COMPATIBILITY LEVEL 옵션을 이용하는 80에(게)데이터베이스를 고르게 하는 괜찮으시다면 놓인 변경 없는 이 질문을 달리기 위해 데이터베이스를 바꾸어라. 그것이 ANSI 바깥쪽 결합 오퍼레이터(왼쪽 바깥쪽 결합,오른쪽 바깥쪽 결합)을 이용해서 질문을 고쳐쓰기 위해 강력하게 추천된다. SQL 서버의 미래의 버전에(서)뒤 호환성 방식에서도 non ANSI 결합 오퍼레이터를 지지하지 않을 것이다. 놓여라 수평으로 되어라 밝혀 져라 놓여라 수평으로 되어라 놓여라 수평으로 되어라 놓여라 수평으로 되어라 수평으로 되어라 놓여라 수평으로 되어라 안에 얼마나 얼마나 얼마나 호환성 흐름 데이터베이스 80 sql 호환성 방식 80 미터 SQL 2008 서버 SQL 2005 데이터베이스 호환성 방식 Compatbilty 방식 SQl 호환성 sql 서버 2008 sql 서버 호환성 호환성 sql 서버 2005 SQL 서버 7.0 호환성 SQLSERVER 호환성 호환성 80 sql 서버 2005 느낌이 좋다- sql 엄선된 2000 2005 호환성-sql 2008 호환성 레벨 sql 호환성 방식을 위해 옵션 100을 지지하지 않는다-괜찮으시다면 호환성이 세트를 이용하는 80에(게)일반에 알려져 있는 데이터베이스를 위해 compatibility level 옵션을 고르게 하는 세트가 데이터베이스를 바꾼다. sql 서버 2008 2005 방식-질문은 바깥쪽 non ANSI 결합 오퍼레이터 "(*=이나" "=*" ")"을 이용한다) 변경 없이 이 질문을 달리기 위해 일반에 알려져 있는 데이터베이스를 위해 호환성 레벨을 80에(게)더 lower 저장해 진 절차 sp dbcmptlevel을 이용하게 만드십시오. 그것이 질문-데이터베이스 호환성 레벨을 고쳐쓰기 위해 강력하게 추천된다-sql 서버 2008에서 80-바깥쪽 non ANSI 결합 오퍼레이터 "(*=이나" "=*" ")"을 놓았) 느낌이 좋아라 놓여라 수평으로 되어라 변하는 수평으로 되어라 놓여라 바뀌어라 놓여라 수평으로 되어라 이용하는 참가해라 놓여라 안에(위)에 없이 그렇지 않으면 더 lower 바깥쪽 그리고 이것 질문 변경 호환성 흐름 데이터베이스 80 호환성 sql 2008 2000 세팅 sql 호환성 compatibility level 옵션 데이터베이스 호환성 sp dbcmptlevel sql 2008 호환성 방식 non ansi 오퍼레이터 데이터베이스 호환성 호환성 80 sql 서버 2008 세팅 데이터베이스 옵션 compatibility level 100 밝혀 진다. 데이터베이스-sql 2008 6.5 호환성 방식-질문은 바깥쪽 non ANSI 결합 오퍼레이터 "(*=이나" "=*" ")"을 이용한다) 변경 없이 이 질문을 달리기 위해 일반에 알려져 있는 데이터베이스를 위해 호환성 레벨을 80에(게)더 lower 저장해 진 절차 sp dbcmptlevel을 이용하게 만드십시오. 그것이 ANSI 바깥쪽 결합 오퍼레이터(왼쪽 바깥쪽 결합,오른쪽 바깥쪽 결합)을 이용해서 질문을 고쳐쓰기 위해 강력하게 추천된다. 호환성 레벨 sqlserver-compatibility level sql 서버-