캐시를 청소하여 SQL Server에 대한 메모리를 확보 할 세 가지 명령 다음 실행.
DBCC FREESYSTEMCACHE
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
그러나, 메모리가 위의 DBCC 명령을 실행하여 삭제 된 각 10000을 삽입 한 후, 그래서 타격 쿼리를 참조하십시오 작업을 예정에 사용할 수 있습니다.
DECLARE @counter INT = 1
DECLARE cur_Data_Transfer CURSOR FOR -- Cursor declared
SELECT column1, column2 -- select desired columns
FROM Book
OPEN cur_Data_Transfer --Opening Cursor
FETCH NEXT FROM cur_Data_Transfer INTO @column1, @column2 --Put values to variable
WHILE @@FETCH_STATUS = 0 -- Faching is success
BEGIN
INSERT INTO BookTemp (column1, column2) -- Inserting to temptable
VALUES(@column1, @column2)
IF @counter = 10000
BEGIN
DBCC FREESYSTEMCACHE -- Clear System Cache
DBCC FREEPROCCACHE -- Clear Proc Cache
SET @counter = 0 -- Restarting counter
END
FETCH NEXT FROM cur_Data_Transfer INTO @column1, @column2
SET @counter = @counter + 1
END
CLOSE cur_Data_Transfer -- Closing cursor
DEALLOCATE cur_Data_Transfer -- De-allocating
서버가 다운 되니? 나는 정말로 그것을 상상할 수 없다. 어쩌면 반응이 없어지 겠지만, 가장 확실하게 추락하지는 않을 것입니다. 기본 키를 추가하기 전에 [데이터베이스 복구 모델] (http://msdn.microsoft.com/en-us/library/ms189275.aspx)을 "Simple"로 전환 해보십시오 (안전을 위해 전체 백업을 수행하십시오).). 이렇게하면 작업이 기록되지 않고 더 빨리 수행되어야합니다. 모든 트리거를 비활성화하는 것도 좋은 방법입니다. – Tomalak