2015-01-20 3 views
0

삭제 명령문이 실수로 실행되었지만 SQL Server 관리 Studio의 프로그래머가 몇 초 내에 취소했습니다. 삭제 된 레코드를 확인하고 복구 할 수 있습니까? 이것은 SQL Server 2008에 대한 것입니다.서버에서 실행 중일 때 취소 된 SQL Server delete 문

+1

이 성공적으로 취소 된 경우 행이 h 제되지 않아야합니다. 취소되기 전에 완료되면 where/join 절과 일치하는 모든 행 (삭제 된 행이 있다고 가정)이 삭제되어야합니다. SQL 문은 암시 적 트랜잭션이므로 모두 또는 아무 것도 아니므로 행의 절반이 삭제되지 않습니다. –

+0

커다란 테이블을 내 로컬 데이터베이스에 넣은 다음 내가 삭제하기 전에 시도한 다음 취소하기 전에 취소했다고 생각한 것을 확인할 수있었습니다. 나는 체크하고 delete 문을 실행하기 전에 마치지 않은 삭제를 취소 한 후에 동일한 레코드 수를 받았습니다. 이것은 잘 알고 있습니다. – user1408767

답변

1

데이터를 복구하려면 dba에 문의하십시오. 당신은 마지막으로 실행 된 쿼리를 볼 수 있지만이 문 실행 높은 액세스해야합니다 : 당신은 또한 사용하여 캐시에를 찾기 위해 시도 할 수

SELECT O.Name, o.type_desc, ps.last_execution_time 
FROM sys.dm_exec_query_stats AS PS 
CROSS APPLY sys.dm_exec_sql_text(PS.sql_handle) t 
INNER JOIN sys.sql_modules as M 
ON M.object_id = t.objectid 
INNER JOIN sys.objects as O 
ON M.object_id = o.object_id 
order by ps.last_execution_time desc; 

을이 : sys.dm_exec_cached_plans

+0

이 쿼리는 데이터와 관련이 전혀 없으며 시스템에서 실행 된 최신 쿼리를 식별합니다. OP가 어떤 문장이 실행되었는지 정확히 알고있는 것처럼 들립니다. –

관련 문제