증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Microsoft SQL Server 2008 R2에 연결된 서버가 있습니다.
-
연결된 서버에 SMALLDATETIME 형식 열이 있는 테이블이 있습니다.
-
INSERT 또는 INSERT INTO 문을 실행하여 DATETIME 형식 데이터가 포함된 레코드를 테이블에 삽입합니다.
이 시나리오에서는 문이 실패합니다. 또한 다음과 같은 오류 메시지가 나타납니다.
연결된 서버 "LinkServerName "에 대한 OLE DB 공급자 "SQLNCLI10"에서 "다단계 OLE DB 작업에서 오류가 발생했습니다. 사용 가능한 경우 각 OLE DB 상태 값을 확인합니다. 아무 작업도 수행되지 않았습니다.".Msg 7344, Level 16, State 1, Line 1 연결된 서버 "LinkServerName"에 대한 OLE DB 공급자 "SQLNCLI10"이 열 "ColumnName"으로 인해 "TableName" 테이블에 삽입할 수 없습니다. 데이터 값이 공급자가 사용하는 데이터 형식을 오버플로했기 때문에 변환에 실패했습니다.
원인
이 문제는 SQL Server 데이터 형식 매핑 문제로 인해 발생합니다.
해결 방법
누적 업데이트 정보
SQL Server 2008 R2 서비스 팩 2
이 문제에 대한 수정 사항은 누적 업데이트 3에서 처음 릴리스되었습니다. SQL Server 2008 R2 서비스 팩 2에 대한 이 누적 업데이트 패키지를 가져오는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 문서를 확인합니다.
2754552 SQL Server 2008 R2 서비스 팩 2Note에 대한 누적 업데이트 패키지 3 빌드가 누적되므로 각 새 수정 릴리스에는 모든 핫픽스 및 이전 SQL Server 2008 R2 서비스 팩 2 수정 릴리스에 포함된 모든 보안 수정 사항이 포함됩니다. 이 핫픽스를 포함하는 최신 수정 릴리스를 적용하는 것이 좋습니다. 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.
2730301 SQL Server 2008 R2 서비스 팩 2가 릴리스된 후 릴리스된 SQL Server 2008 R2 빌드
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.
해결 방법
이 문제를 해결하려면 다음 방법 중 하나를 사용합니다.
-
DATETIME 형식 데이터를 문의 SMALLDATETIME 형식으로 캐스팅합니다.
-
SMALLDATETIME 형식 열을 연결된 서버의 DATETIME 형식으로 변경합니다.