다음은 요청 된대로 "새로운 버전의 첫 번째 버전에서 신뢰성에 대한 실제 증거"에 대한 몇 가지 예입니다. 이것은 완전한 분석이 아니라 연구하고자하는 것에 대한 제안입니다.
MSDN 웹 사이트에서 "SQL Server 2008 서비스 팩 1로 해결 된 문제 목록"및 "SQL Server 2008 서비스 팩 3으로 해결 된 문제 목록"을 Google에 표시 할 수 있습니다. 두 목록의 문제 수와 심각도를 비교하십시오. IMO 첫 번째 목록은 더 길며 다음과 같이 하루를 망칠 수있는 더 많은 항목이 있습니다.
- Windows Vista 또는 Windows Server 2008을 실행하는 클라이언트 컴퓨터에서 명명 된 SQL Server 인스턴스에 연결하면 오류 메시지가 나타난다
- 로그 판독기 에이전트가 트랜잭션 복제를 위해 실행될 때 로그 판독기 에이전트가 일부 트랜잭션을 건너 뜁니다.
- SQL Server 2008에서 외부 조인 작업과 관련된 쿼리를 실행할 때 오류 메시지
- SQL Server 2008에서 만든 클러스터형 인덱스가없는 테이블에서 업데이트 또는 삭제 작업을 수행하면 오류 메시지가 나타난다
- SQL Server 2008에서 여러 연결에서 동시에 쿼리를 실행할 때 매개 변수와 RECOMPILE 옵션을 사용하는 쿼리는 잘못된 결과를 반환합니다.
한 단계 더 드릴 다운하고 MERGE 명령 하나만 고려하겠습니다. 다음 링크에서 설명하는 몇 가지 문제와 함께 SQL 2008의 일부로 릴리스되었습니다.
따라서 SQL 2008의 최초 릴리스 당시에는 MERGE를 사용하지 않기로 결정했습니다. 2008 R2에서 현재 MERGE를 많이 사용하고 있으며 이것이 정말 훌륭한 기능이라고 생각합니다.
편집 : 다음은 최근 수정 된 SQL 2012의 결함 목록입니다 . 도움이 되길 바랍니다.
또 다른 편집 : 나는 매우 중요한 개선이기 때문에 더 자세한 분석을 위해 MERGE를 선택했습니다. 실제로 이는 Oracle을 따라 잡기위한 주요 단계이며 생산성을 향상시킵니다. 따라서 MERGE는 SQL 2008 릴리스 당시에 많이 판매되었습니다. 그러나 처음 출시 될 때 심각한 프로덕션 시스템에서 사용할 준비가되지 않았으며 프레젠테이션 / 기사 / 블로그 게시물 등에서 쉽게 알 수있는 방법이 없었습니다.
마찬가지로 스냅 샷 격리는 작동하는 멋진 새 기능이지만 CHECK 제약 조건에서 스칼라 UDF를 호출하는 것은 모든 경우에 작동하지 않으므로 데이터 무결성이 필요할 때 프로덕션에서 사용해서는 안됩니다. 그러나 "SQL xxxx의 새로운 기능"프레젠테이션과 서적, 기사 등에서 비슷한 열정을 가진 새로운 기능이 모두 권장되었습니다.
우리는 새로운 기능에 매우주의를 기울여야합니다. 모든 기능이 유용 / 신뢰할 수있는 / 성능이되는 것은 아닙니다.