據我所知,使用TRUNCATE
是一個最小化日誌操作,並不記錄每個記錄的刪除,而DROP
日誌刪除操作。我應該在DROP TABLE之前使用TRUNCATE TABLE來避免日誌開銷?
那麼,是不是安全的假設,如果我想擺脫一個比較大的表,我想這是快速發生,以儘可能小的開銷記錄儘可能我應該TRUNCATE TABLE
之前,我DROP TABLE
?在RECOVERY SIMPLE
中這樣做有什麼區別?
我應該注意到,這需要以自動方式(在預先編寫的腳本中)進行,因爲這將部署到客戶端數據庫,其中停機時間和日誌文件增長都可能成爲問題。
我的記憶是,如果恢復設置是「SIMPLE」,那麼關注點就沒有意義了。 –
那麼這是否意味着DROP TABLE在使用SIMPLE恢復模型時被認爲是最低限度記錄的?我還沒有看到任何明確的答案。 –
只要還在同一個事務中,即使在SIMPLE恢復中,也可以還原DROP。 SQL Server中沒有多少真正的「最少記錄」操作。 –