저장 프로 시저 내에서 실행할 특정 SQL 쿼리에 대해 Timeout 값을 설정하려고합니다. 특정 쿼리에 대한 제한 시간 값을 설정할 수 있습니까?특정 SQL 쿼리에 대해 시간 초과를 설정하는 방법은 무엇입니까?
답변
쿼리 시간 제한 (RPC 또는 일괄 처리)을 적용하는 것은 SQL Server가 아닌 클라이언트 API입니다. 따라서 저장 프로 시저에 여러 문이 포함되어있는 경우 클라이언트 명령 시간 제한을보다 세부적인 수준으로 설정할 수 없습니다. 원하는 쿼리가 클라이언트에 의해 개별적으로 실행되도록 proc을 분할하고 해당 명령에 대해 다른 시간 초과를 지정해야합니다.
제한 시간을 설정하는 방법은 클라이언트 API에 따라 다릅니다. .NET의 경우 SqlCommand.CommandTimeout
속성입니다.
proc에 하나의 질의 만 포함되었다고 가정하고 그 proc에 대한 시간 초과를 지정하는 방법은 무엇입니까? 프론트 엔드에서 .Net/java ... SqlCommand 같은가요? @Dan Guzman –
'.Net SqlCommand'의'CommandTimeout' 속성은 타임 아웃을 제어합니다. 자바에서는 드라이버에 의존한다고 생각합니다 (예 :'setQueryTimeout()'메소드 지원). –
Thanks @ Dan Guzman –
.net 또는 java 대신에 sql을 사용하려고하는 이유 – Mani
SQL Server에서 쿼리 실행을 중지하지 않으므로 연결을 수행하는 클라이언트의 시간 제한을 설정해야합니다. SSMS라면'sp_configure'를 사용할 수 있습니다. – Petaflop
프런트 엔드에서 .Net을 사용하고 있으며 SqlCommand의 옵션으로 command.CommandTimeout = 10000과 같은 시간 제한을 설정할 수 있습니다. @Mani –