0

내가 하나의 데이터베이스 연결 및 트랜잭션 내에서 여러 SQL을을 (업데이트를 선택하고 삽입)를 실행 중단, SQL을 중 하나는가져 오는 하나의 행이

select top 1 balance from sample_table where account_id={accountId} order by id desc 

이 SQL은 중단 계정의 균형을 검색하는 것입니다 {accountId} 계정의 테이블 "sample_table"에 실제로 레코드가 없으면 정상적으로 작동합니다. 중단은 시간 초과 예외 오류가 발생할 때까지 기다리는 것을 의미하며이 '대기'중에는 SQL Server 관리 Studio에서 SQL 실행도 중단됩니다. 내가는 SQL 서버 2008

감사

편집 사용하고

: 동일한 작업을 수행하기 위해 여러 번 시도 후

를, 그것은하지 작업 및 모든 레코드가 제대로 삽입 된 후 응용 프로그램이처럼 작동 그 이후의 매력. 데이터베이스를 복원하면 문제가 다시 돌아옵니다.

+0

을; 모든 기본 키 또는 테이블의 인덱스? 나는'id'가 자동 증분으로 어쩌면 기본이라고 가정하고 account_id는 기본 키가되는 곳의 외래 키가 될 것입니까? – Codexer

+0

ID가 기본 키입니다. account_id의 인덱스가 – sami

+0

입니다. Management Studio의 Activity Monitor로 이동하여 해당 데이터베이스와 관련된 프로세스를 중지하십시오. 트랜잭션이 열렸을 수도 있고 닫히지도 않았을 수도 있습니다 ... 코드면에서 일어 났을 수 있습니다. 이렇게하면 깨끗한 슬레이트가 생깁니다. 삽입/업데이트 문을 모두 확인하여 제대로 완료되었거나 닫히면 잠금이 발생하여 문제가 발생할 수 있습니다. 당신은 이것이 성명서의 일부라고 언급했는데, 그렇다면 나머지를 게시 할 수 있습니까? – Codexer

답변

0

문제는 기본적으로이 SQL 실행, 테이블을 다시 작성 후 고정 : 그것은 말하기 어렵다 스키마를 보지 않고

alter table sample_table rebuild 
관련 문제