다음을 통해 공유


MSSQLSERVER_7399

적용 대상: SQL Server

attribute
Product SQL Server
이벤트 ID 7399
이벤트 원본 MSSQLSERVER
구성 요소 SQLEngine
심볼 이름 RMT_HRESULT_FAIL
메시지 텍스트 연결된 서버 "%ls"에 대한 OLE DB 공급자 "%ls"이(가) 오류를 보고했습니다.%ls

설명

이 오류는 원격 서버에서 생성되는 오류로 인해 연결된 서버 쿼리가 실패할 때 발생합니다.

오류 7399는 공급자의 일반적인 오류 메시지입니다. 경우에 따라 공급자에서 보다 자세한 오류 메시지를 가져오기 위해 추적 플래그 7300을 사용하도록 설정할 수 있습니다. 자세한 정보를 받을지 여부는 사용하는 OLE DB(개체 연결 및 포함, 데이터베이스) 공급자에 따라 달라집니다. 추적 플래그를 사용하도록 설정하려면 오류를 발생시키는 쿼리를 실행하기 전에 다음 명령을 실행합니다.

DBCC TRACEON (7300, 3604);

사용자 작업

오류 7399는 내부에 더 구체적인 메시지를 포함하는 일반적인 오류이지만 일반적으로 관찰되는 특정 오류는 "시간 제한 만료됨"입니다. 원격 쿼리에 영향을 주는 구성 가능한 시간 제한 옵션에는 원격 로그인 시간 제한 옵션과 원격 쿼리 제한 시간 옵션의 두 가지가 있습니다. 다음은 7399 내에서 발생한 시간 제한 오류를 확인하는 방법과 이를 해결하는 방법의 예입니다.

IDBInitialize::Initialize

서버: Msg 7399, 수준 16, 상태 1, 줄 1 OLE DB 공급자 'SQLOLEDB'에서 오류를 보고했습니다. [OLE/DB 공급자가 반환한 메시지: 시간 제한 만료됨] OLE DB 오류 추적 [OLE/DB 공급자 'SQLOLEDB' IDBInitialize::initialize returned 0x80004005: ].

이 오류 메시지는 메서드와 관련이 있습니다 IDBInitialize::Initialize . 쿼리에서 원격 서버에 대한 연결을 설정하는 데 걸린 시간이 원격 로그인 시간 제한 옵션 값을 초과하는 경우에 발생합니다.

이 오류를 해결하려면 다음 코드를 실행하여 원격 로그인 시간 제한 값을 30초로 설정합니다.

sp_configure 'remote login timeout', 30;
GO
RECONFIGURE WITH OVERRIDE;
GO

ICommandText::Execute

서버: Msg 7399, 수준 16, 상태 1, 줄 1 OLE DB 공급자 'SQLOLEDB'에서 오류를 보고했습니다. 리소스 한도에 도달했기 때문에 공급자가 실행을 종료했습니다. [OLE/DB 공급자가 반환한 메시지: 시간 제한 만료됨] OLE DB 오류 추적 [OLE/DB 공급자 'SQLOLEDB' ICommandText::반환된 0x80040e31 실행: 리소스 제한에 도달하여 공급자에 의해 실행이 종료되었습니다.].

이 오류 메시지는 메서드와 관련이 있습니다 ICommandText::Execute . 원격 쿼리 시간 제한 구성 설정에 지정된 시간보다 쿼리를 처리하는 데 시간이 더 오래 걸렸다는 것을 나타냅니다.

기본 원격 쿼리 시간 제한 은 (10분)입니다 600 .

이 오류를 해결하려면 다음 코드를 실행하여 원격 쿼리 시간 제한 값을 0 (무한 대기)로 설정하여 시간 제한을 사용하지 않도록 설정합니다.

sp_configure 'remote query timeout', 0;
GO
RECONFIGURE WITH OVERRIDE;
GO