Microsoft SQL Server 2012 서비스 팩 1 수정 프로그램을 다운로드할 수 있는 하나의 파일로 배포 합니다. 수정 프로그램은 계속 누적 되는 형태를 각 새 릴리스의 모든 핫픽스와 들어 및 이전 SQL Server 2012 서비스 팩 1에 포함 된 모든 보안 수정 프로그램 릴리스의 수정.
증상
Transact SQL 문을 SQL Server 2012에서를 실행 하면 다음과 같은 오류 메시지가 나타납니다.
'Begi' 근처의 구문이 잘못 되었습니다.
이 문제는 다음 조건에 해당할 때 발생합니다.
-
IF 조건을 포함 하는 명령문입니다.
-
IF 조건에 BEGIN 및 END 문은 포함 하지 않습니다.
-
IF 조건은 시작 블록 옵니다.
-
IF 블록 쿼리를 실행할 때마다 컴파일됩니다.
해결 방법
누적 업데이트 정보
SQL Server 2012 s p 1 용 누적 업데이트 4
이 문제에 대 한 수정 누적 업데이트 4에서 처음 릴리스된. SQL Server 2012 s p 1에 대 한이 누적 업데이트 패키지를 구하는 방법에 대 한 자세한 내용은 Microsoft 기술 자료에 있는 문서를 이동 하려면 다음 문서 번호를 클릭 합니다.
2833645 누적 업데이트 4 SQL Server 2012 SP1참고: 빌드는 계속 누적 되는 형태를 각 새 수정 프로그램 릴리스의 모든 핫픽스와 들어 및 이전 SQL Server 2012 SP1에 포함 된 모든 보안 수정 프로그램 릴리스의 수정. 이 핫픽스가 포함 된 최신 수정 릴리스를 적용 고려 하는 것이 좋습니다. 자세한 내용은, 다음 문서 번호를 클릭하여 Microsoft 기술 자료에 있는 문서로 이동하십시오.
SQL Server 2012 서비스 팩 1이 출시 된 이후에 릴리스된 2772858 은 SQL Server 2012 빌드
상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.
자세한 내용
이 문제를 재현 하려면 SQL Server 2012에서 다음 Transact SQL 문을 실행 합니다.
DECLARE @i INT IF object_id('tempdb..#temptable') IS NOT NULL DROP TABLE #temptable CREATE TABLE #temptable (id INT) INSERT INTO #temptable VALUES (1),(2),(3); IF year(getdate())=2012 SELECT @i=(SELECT COUNT(*) AS nr FROM #temptable); BEGIN TRY SELECT 'message' END TRY BEGIN CATCH SELECT ERROR_MESSAGE() END CATCH해결 방법
이 문제를 해결 하려면 IF 조건을 BEGIN 및 END 문을 추가 합니다.
참조
SQL Server 대 한 증분 서비스 모델에 대 한 자세한 내용은 Microsoft 기술 자료에 있는 문서를 이동 하려면 다음 문서 번호를 클릭 합니다.
보고 된 문제에 대 한 핫픽스를 제공 하는 SQL Server 팀 935897 는 증분 서비스 모델은SQL Server 업데이트의 명명 스키마에 대 한 자세한 내용은 Microsoft 기술 자료에 있는 문서를 이동 하려면 다음 문서 번호를 클릭 합니다.
Microsoft SQL Server 소프트웨어 822499 명명 스키마 업데이트 패키지소프트웨어 업데이트 용어에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서로 이동합니다.
Microsoft 소프트웨어 업데이트를 설명 하는 데 사용 되는 표준 용어에 대 한 824684 설명