MSSQL_ENG018752MSSQL_ENG018752

메시지 정보Message Details

제품 이름Product Name SQL ServerSQL Server
이벤트 IDEvent ID 1875218752
이벤트 원본Event Source MSSQLSERVERMSSQLSERVER
구성 요소Component SQL Server 데이터베이스 엔진SQL Server Database Engine
심볼 이름Symbolic Name
메시지 텍스트Message Text 한 번에 하나의 로그 판독기 에이전트 또는 로그 관련 프로시저(sp_repldone, sp_replcmds 및 sp_replshowcmds)만 데이터베이스에 연결할 수 있습니다.Only one Log Reader Agent or log-related procedure (sp_repldone, sp_replcmds, and sp_replshowcmds) can connect to a database at a time. 로그 관련 프로시저를 실행한 경우 로그 판독기 에이전트를 시작하거나 다른 로그 관련 프로시저를 실행하기 전에 프로시저가 실행된 연결을 삭제하거나 해당 연결에 대해 sp_replflush를 실행하십시오.If you executed a log-related procedure, drop the connection over which the procedure was executed or execute sp_replflush over that connection before starting the Log Reader Agent or executing another log-related procedure.

설명Explanation

현재 둘 이상의 연결에서 sp_repldone, sp_replcmds또는 sp_replshowcmds중 하나를 실행하려고 합니다.More than one current connection is trying to execute any of the following: sp_repldone, sp_replcmds, or sp_replshowcmds. 저장 프로시저 sp_repldone(Transact-SQL)sp_replcmds(Transact-SQL)는 게시된 데이터베이스에 복제된 트랜잭션에 대한 정보를 찾아 업데이트하기 위해 로그 판독기 에이전트에서 사용하는 저장 프로시저입니다.The stored procedures sp_repldone (Transact-SQL) and sp_replcmds (Transact-SQL) are stored procedures used by the Log Reader Agent to locate and update information about replicated transactions in a published database. 저장 프로시저 sp_replshowcmds(Transact-SQL)는 트랜잭션 복제와 관련된 특정 문제를 해결하는 데 사용됩니다.The stored procedure sp_replshowcmds (Transact-SQL) is used to troubleshoot certain types of issues with transactional replication.

이 오류는 다음과 같은 경우에 발생합니다.This error is raised in the following circumstances:

  • 게시된 데이터베이스에 대해 로그 판독기 에이전트가 실행 중인데 두 번째 로그 판독기 에이전트가 같은 데이터베이스를 실행하려고 할 경우 두 번째 에이전트에 대해 오류가 발생하고 에이전트 기록에 표시됩니다.If the Log Reader Agent for a published database is running and a second Log Reader Agent attempts to run against the same database, the error is raised for the second agent and appears in the agent history.

    에이전트가 여러 개인 것으로 표시되는 경우 해당 에이전트 중 하나는 분리된 프로세스의 결과일 수 있습니다.In a situation where it appears there are multiple agents, it is possible that one of them is the result of an orphaned process.

  • 게시된 데이터베이스에 대해 로그 판독기 에이전트가 시작되었는데 사용자가 같은 데이터베이스에 대해 sp_repldone, sp_replcmds또는 sp_replshowcmds 를 실행할 경우 저장 프로시저가 실행된 응용 프로그램(예: sqlcmd)에서 오류가 발생합니다.If the Log Reader Agent for a published database is started and a user executes sp_repldone, sp_replcmds, or sp_replshowcmds against the same database, the error is raised in the application where the stored procedure was executed (such as sqlcmd).

  • 게시된 데이터베이스에 대해 실행 중인 로그 판독기 에이전트가 없는 상태에서 사용자가 sp_repldone, sp_replcmds또는 sp_replshowcmds 를 실행한 다음 프로시저가 실행된 연결을 닫지 않을 경우 로그 판독기 에이전트가 데이터베이스에 연결을 시도하면 오류가 발생합니다.If no Log Reader Agent is running for a published database and a user executes sp_repldone, sp_replcmds, or sp_replshowcmds and then does not close the connection over which the procedure was executed, the error is raised when the Log Reader Agent attempts to connect to the database.

사용자 동작User Action

다음 단계를 수행하면 문제를 해결하는 데 도움이 됩니다.The following steps can help you to troubleshoot the problem. 다음 단계를 수행하는 중 로그 판독기 에이전트가 오류 없이 시작되면 나머지 단계를 완료할 필요가 없습니다.If any step allows the Log Reader Agent to start without errors, there is no need to complete the remaining steps.

  • 로그 판독기 에이전트의 기록에서 이 오류의 원인이 될 수 있는 다른 오류가 있는지 확인합니다.Check the history of the Log Reader agent for any other errors that could be contributing to this error. 복제 모니터에서 에이전트 상태 및 오류 정보를 보는 방법에 대한 자세한 내용은 게시 관련 에이전트에 대한 정보 보기 및 태스크 수행(복제 모니터)을 참조하세요.For information about viewing agent status and error details in Replication Monitor, see View Information and Perform Tasks for the Agents Associated With a Publication (Replication Monitor).

  • sp_who(Transact-SQL)의 출력에서 게시된 데이터베이스에 연결된 특정 프로세스 ID 번호(SPID)를 확인합니다.Check the output of sp_who (Transact-SQL) for specific process identification numbers (SPIDs) that are connected to the published database. sp_repldone, sp_replcmds또는 sp_replshowcmds를 실행했을 가능성이 있는 연결을 모두 닫습니다.Close any connections that might have run sp_repldone, sp_replcmds, or sp_replshowcmds.

  • 로그 판독기 에이전트를 다시 시작합니다.Restart the Log Reader Agent. 자세한 내용은 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하세요.For more information, see Start and Stop a Replication Agent (SQL Server Management Studio).

  • 배포자에서 SQL ServerSQL Server 에이전트 서비스를 다시 시작(클러스터에서 오프라인 또는 온라인 상태로 만듦)합니다.Restart the SQL ServerSQL Server Agent service (bring it offline or online in a cluster) on the Distributor. 예약된 작업이 다른 인스턴스에서sp_repldone ,sp_replcmds 또는 sp_replshowcmds SQL ServerSQL Server 를 실행했을 가능성이 있는 경우 해당 인스턴스에 대한 SQL ServerSQL Server 에이전트도 다시 시작합니다.If there is possibility that a scheduled job could have executed sp_repldone, sp_replcmds, or sp_replshowcmds from any other SQL ServerSQL Server instance, restart the SQL ServerSQL Server Agent for those instances as well. 자세한 내용은 SQL Server 에이전트 서비스 시작, 중지 또는 일시 중지를 참조하세요.For more information, see Start, Stop, or Pause the SQL Server Agent Service.

  • 게시 데이터베이스의 게시자에서 sp_replflush(Transact-SQL)를 실행한 다음 로그 판독기 에이전트를 다시 시작합니다.Execute sp_replflush (Transact-SQL) at the Publisher on the publication database, and then restart the Log Reader Agent.

  • 오류가 계속 발생하면 에이전트의 로깅을 늘리고 해당 로그의 출력 파일을 지정하십시오.If the error continues to occur, increase the logging of the agent and specify an output file for the log. 오류의 컨텍스트에 따라 이러한 작업을 수행하면 오류 및/또는 추가 오류 메시지가 발생할 수 있습니다.Depending on the context of the error, this could provide the steps leading up to the error and/or additional error messages.

관련 항목:See Also

오류 및 이벤트 참조(복제) Errors and Events Reference (Replication)
복제 로그 판독기 에이전트 Replication Log Reader Agent