DetailPage-MSS-KB

기술 자료

기술 자료: 973103 - 마지막 검토: 2009년 8월 17일 월요일 - 수정: 1.2

사용 가능한 핫픽스 다운로드
핫픽스 보기 및 다운로드 요청하기
 
 
Microsoft는 Microsoft SQL Server 2005 수정 프로그램을 다운로드 가능한 파일로 배포합니다. 수정 누적되는 형태이므로 핫픽스가 모두 각 새 릴리스에 포함되어 있으며 이전 SQL Server 2005 포함된 모든 보안 수정 프로그램 릴리스의 수정.

이 페이지에서

현상

Microsoft SQL Server 2005에서 트랜잭션 복제를 사용합니다. 가입자 해당 게시자와 동기화하도록 배포 에이전트를 실행할 때 배포 에이전트가 실패할 수 있으며 배포 에이전트 기록 또는 출력 로그에 다음 오류 메시지가 나타납니다.

42000 (TDS) 원격 프로시저 호출 (RPC) 프로토콜 스트림이 잘못되었습니다 들어오는 테이블 형식 데이터 스트림. 이 RPC 요청이 너무 많은 매개 변수가 제공되지 않았습니다. 최대 2100 입니다. 8003

반복적으로 이러한 오류가 발생할 때 성능에 영향을 줄 수 있습니다. 배포 에이전트가 이러한 오류가 발생할 때 수행할 명령을 다시 동일한 시도하려면 다시 시도 처리. 따라서 배포 에이전트는 각 문제가 있는 일괄 두 번 시도한 때문에 가입자 게시자와의 동기화하는 데 시간이 더 사용합니다.

원인

배포 에이전트는 배포 데이터베이스에서 보류 중인 명령을 처리할 때 CommitBatchSize 매개 변수를 사용하며 이러한 명령을 사용하여 구독자에게 보낼 때 얼마나 많은 명령을 확인하는 데 도움이 CommitBatchThreshold 매개 변수는 하나의 실행 파일로 함께 일괄 있습니다.

COMMIT 문을 실행하기 전에 해당 구독자에게 발급할 트랜잭션 수를 CommitBatchSize 매개가 변수입니다. 기본값은 100입니다. COMMIT 문을 실행하기 전에 해당 구독자에게 발급할 복제 명령 수입니다. CommitBatchThreshold 매개가 변수입니다. 기본값은 1000입니다.

단일 트랜잭션으로 한 명령을 포함할 수 많은 명령을 포함할 수 없으므로, 100으로 CommitBatchSize 매개 변수 설정 및 CommitBatchThreshold 매개 변수를 1000으로 설정하면 여러 1000 단위 명령의 명령 중 하나의 일괄 처리에서 배달된 허용할 수 있습니다.

@ ins_cmd 게시를 위해 아티클을 추가할 때, @ upd_cmd, @ del_cmd 및 구독자에게 배달할 방법을 결정하기 위해 프로시저가 명령 저장되어 있는 sp_addarticle에 대한 복제 명령 형식 매개 변수가 지정됩니다. CommitBatchSizeCommitBatchThreshold 매개 변수를 추가하여 배포 에이전트가 구독자에게 보내는 명령 단일 일괄 처리에서 얼마나 많은 매개 변수를 바인딩할 수 있는 SQL 네이티브 클라이언트 OLE DB 공급자 최대 요구 사항이 있다는 것도 고려해야 합니다.

최대 2100 매개 명령 중 하나의 일괄 처리에서 사용할 수 있습니다. 최대 2100 매개 변수의 초과되지 않도록 배포 에이전트가 따라서 자동으로 큰 일괄 처리 문서로 부족하여 문을 일괄 처리 당 나눕니다. 다음 명령은 일괄 처리의 모든 나머지 명령은 자동으로 다음 실행 일괄 처리의 로 이동합니다.

배포 에이전트가 잘못 명령 일괄 처리를 제공하는 데 필요한 매개 변수의 수를 계산할 때 이 문제가 발생합니다. 배포 에이전트가 많은 복제된 명령 일괄 처리에 대한 래퍼 같이 sp_executesql 동적 저장된 프로시저 를 사용하는 경우에 발생합니다.

복제된 명령을 배치 명령 에서 매개 변수를 두 개 이상 2098 포함되어 있고 배치 명령을 일괄 처리로 Transact-SQL 문 동적으로 빌드된 배달하도록 sp_executesql 저장 프로시저를 사용하여 래핑된 배포 에이전트가 sp_executesql 프로시저 요구를 두 개의 추가 바운드 매개 저장된 계산 작동하려면 자체에 포함되어 있지 않습니다. 따라서 총 매개 변수 2100 매개 변수를 초과할 수도 있습니다.

배포 에이전트가 이 배달 것인가는 다음과 같은 상황에서 sp_executesql 저장 프로시저를 사용하여 래핑된 동적으로 빌드된 Transact-SQL 문 사용할 수 있습니다.
  • 이 문서에는 텍스트 같은 이진 대형 개체 (BLOB) 열 또는 이미지 열이 포함되어 있습니다.
  • 하나 이상의 복제 명령 형식 간에 아티클은 모두 사용됩니다. 예를 한 문서의 SQL 배달 복제 명령 유형 사용하지만 다른 문서에서는 복제 명령 형식으로 sp_MSins_procedure 저장 프로시저를 사용하는 경우.

해결 방법

SQL Server 2005

이 문제점에 대한 수정 프로그램은 먼저 SQL Server 2005 서비스 팩 3 누적 업데이트 5에 에서 릴리스되었습니다. 이 누적 업데이트 패키지에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
972511   (http://support.microsoft.com/kb/972511 /LN/ ) SQL Server 2005 서비스 팩 3 누적 업데이트 패키지 5
참고 빌드는 누적되는 형태이므로 각 새 수정 프로그램 릴리스의 모든 핫픽스와 들어 및 릴리스 이전 SQL Server 2005 포함된 모든 보안 수정 프로그램을 수정합니다. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
960598  (http://support.microsoft.com/kb/960598/LN/ ) SQL Server 2005 서비스 팩 3 릴리스된 후에 발표된 SQL Server 2005 빌드
Microsoft SQL Server 2005 핫픽스가 특정 SQL Server 서비스 팩 만들어집니다. SQL Server 2005 서비스 팩 3 설치를 위해 SQL Server 2005 서비스 팩 3 핫픽스를 적용해야 합니다. 기본적으로 SQL Server 서비스 팩에 제공된 모든 핫픽스는 다음 SQL Server 서비스 팩이 포함되어 있습니다.

SQL Server 2008

SQL Server 2008

중요한 SQL Server 2008 릴리스 버전을 실행하는 경우 이 수정 프로그램을 사용해야 합니다.

이 문제점에 대한 수정 프로그램은 먼저 누적 업데이트 7 릴리스되었습니다. SQL Server 2008이 누적 업데이트 패키지를 구하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
973601  (http://support.microsoft.com/kb/973601/ ) SQL Server 2008 누적 업데이트 패키지를 7
참고 빌드는 누적되는 형태이므로 각 새 수정 프로그램 릴리스의 모든 핫픽스와 들어 및 릴리스 이전 SQL Server 2008 포함된 모든 보안 수정 프로그램을 수정합니다. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
956909  (http://support.microsoft.com/kb/956909/ ) SQL Server 2008 은 SQL Server 2008 릴리스된 후에 발표된 빌드합니다.

SQL Server 2008 서비스 팩 1 (SP1)

중요한 SQL Server 2008 서비스 팩 1 (SP1)을 실행하는 경우 이 수정 프로그램을 사용해야 합니다.

이 문제점에 대한 수정 프로그램은 먼저 SQL Server 2008 서비스 팩 1에 대한 누적 업데이트 4에서 에서 릴리스되었습니다. 이 누적 업데이트 패키지에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
973602  (http://support.microsoft.com/kb/973602/LN/ ) SQL Server 2008 서비스 팩 1에 대한 누적 업데이트 패키지를 4
참고 빌드는 누적되는 형태이므로 각 새 수정 프로그램 릴리스의 모든 핫픽스와 들어 및 릴리스 이전 SQL Server 2008 포함된 모든 보안 수정 프로그램을 수정합니다. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
970365  (http://support.microsoft.com/kb/970365/LN/ ) SQL Server 2008 은 SQL Server 2008 서비스 팩 1 릴리스된 후에 발표된 빌드합니다.
Microsoft SQL Server 2008 특정 SQL Server 서비스 팩 핫픽스를 만들어집니다. SQL Server 2008 서비스 팩 1 설치에 SQL Server 2008 서비스 팩 1 핫픽스를 적용해야 합니다. 기본적으로 SQL Server 서비스 팩에 제공된 모든 핫픽스는 다음 SQL Server 서비스 팩이 포함되어 있습니다.

해결 과정

이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.

방법 1

보다 괜찮습니다 수준으로 이 오류 발생을 줄일 수 있도록 배포 에이전트가 CommitBatchSizeCommitBatchThreshold 매개 변수 값을 줄입니다. 목표는 명령 일괄 처리 당 2,100 매개 변수를 초과하지 않도록 명령 커밋 일괄 처리 당 최대 수를 제한할 수 있습니다.

예를 들어, CommitBatchSize 매개 변수의 기본 값은 100입니다. 10으로 변경할 수 있습니다. CommitBatchThreshold 매개 변수의 기본값은 1000입니다. 100으로 변경할 수 있습니다.

일괄 처리 원래 최적의 크기가 배달되는 때문에 이러한 값을 줄여 성능에 영향을 줄 수 있습니다. 그러나 이 메서드는 원인 절에 설명된 오류 조건에 방지할 수 있습니다.

다음 방법 중 하나를 사용하여 CommitBatchSizeCommitBatchThreshold 매개 변수를 변경할 수 있습니다.
  • SQL Server 에이전트 배포 에이전트 작업 단계의 명령을 CommitBatchSizeCommitBatchThreshold 매개 변수 추가
  • 배포자 속성 대화 상자 에서 또는 복제 모니터에서 새 에이전트 프로필을 만들 때 CommitBatchSizeCommitBatchThreshold 매개 변수를 변경하십시오.
이러한 매개 변수를 변경하는 방법에 대한 자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
http://msdn.microsoft.com/en-us/library/ms151326(SQL.90).aspx (http://msdn.microsoft.com/en-us/library/ms151326(SQL.90).aspx)


이 오류는 일괄 처리의 이후 재시도 완전히 않으려면에 대한 사례 최악의 계획해야 합니다. 이렇게 하려면 대부분의 열 발행물에서 수가 가장 넓은 문서를 찾습니다. 예를 들어, 트랜잭션 게시에 게시된 100 열이 있는 테이블이 있으면 해당 테이블에 대해 단일 복제된 명령을 100 매개 변수를 포함할 수 있습니다. 배포 에이전트가 하나의 일괄 처리에서 보낼 수 있는 매개 변수의 최대 수는 2098 최대 수 있도록 CommitBatchThreshold 매개 변수 설정을 줄여야 합니다. 모든 열을 명령에 의해 영향을 받는 경우 CommitBatchThreshold 매개 변수 설정과 20 또는 2000 매개 변수 해당 테이블에 대해 20 명령 일괄 처리 당 최대 허용 값보다 작은 있어야 합니다.

방법 2

발행물을 설정하는 경우 해당 게시의 모든 아티클은 동일한 복제 명령 형식을 사용하십시오. 배포 에이전트가 배치 명령 모음에서 래퍼 sp_executesql 저장 프로시저를 사용하여 일괄 처리가 배달 선택하려면 필요성을 줄이려면 동일한 게시의 아티클이 명령을 배달 메커니즘이 믹싱 마십시오.

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 Microsoft 제품에서 이 문제를 확인했습니다.

추가 정보

배포 에이전트는 복제에 대한 자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
http://msdn.microsoft.com/en-us/library/ms147328(SQL.90).aspx (http://msdn.microsoft.com/en-us/library/ms147328(SQL.90).aspx)

복제 에이전트 프로필에 대한 자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
http://msdn.microsoft.com/en-us/library/ms151223(SQL.90).aspx (http://msdn.microsoft.com/en-us/library/ms151223(SQL.90).aspx)

참조

SQL Server 증분 서비스 모델에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
935897  (http://support.microsoft.com/kb/935897/ ) 보고된 문제에 대한 핫픽스를 제공하는 SQL Server 팀으로부터 증분 서비스 모델을 사용합니다
SQL Server 2005 서비스 팩 3 구하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
913089  (http://support.microsoft.com/kb/913089/ ) SQL Server 2005 최신 서비스 팩을 구하는 방법
SQL Server 2005 SP3 새로운 기능 및 향상된 SQL Server 2005 SP3에 [NULL]에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 방문하십시오.
http://go.microsoft.com/fwlink/?LinkId=131442 (http://go.microsoft.com/fwlink/?LinkId=131442)
SQL Server 업데이트를 명명 스키마에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
822499  (http://support.microsoft.com/kb/822499/ ) 새 명명 스키마에 Microsoft SQL Server 소프트웨어 업데이트 패키지에 대한
소프트웨어 업데이트 용어에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
824684  (http://support.microsoft.com/kb/824684/ ) Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
키워드: 
kbmt kbsurveynew kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced kbhotfixserver KB973103 KbMtko
기계 번역된 문서기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store
소기업이 아닙니까?
다음에서 팔로우하십시오.