SQL Server 數據庫中的收縮數據庫和文件操作
當數據庫隨著時間而越來越大時,可對數據庫進行收縮操作;收縮數據文件通過將數據頁從文件末尾移動到更靠近文件開頭的未占用的空間來恢復空間,在文件末尾創建足夠的空間后,可取消對文件末尾的數據頁的分配并將它們返回給文件系統;
2. 自動收縮數據庫SQL Server 數據庫支持自動收縮數據庫和用戶手動收縮數據庫兩種方式;為提高數據庫的使用效率,SQL Server 會尋找可用的數據庫并找出第一個配置為自動收縮的數據庫,它將檢查該數據庫,并在需要時收縮該數據庫;待一個數據庫收縮完成后,系統會等待幾分鐘再檢查下一個配置為自動收縮數據庫,即 SQL Server 不會同時堅持所有數據庫,也不會同時收縮所有數據庫,它將以循環方式處理各個數據庫,以負載在時間上錯開;若用戶需要 SQL Server 數據庫系統自動對數據庫進行收縮,只需為該數據庫設置自動收縮功能即可;操作步驟如下所示:
右擊選擇數據庫 → 屬性 → 在數據庫屬性對話框,選項 → 將自動收縮設置為 TRUE;
用戶還能手動對數據庫進行收縮,但手動收縮數據庫有一定的限制和局限;主要的表現有如下幾個方面:
收縮后的數據庫不能小于數據庫的最小大小 ;最小大小在數據庫創建時指定的大小,或者上一次使用文件大小更改操作設置的大??;不能在備份數據庫時收縮數據庫;反之,也不能在數據庫執行收縮時備份數據庫;遇到內存游湖的列存儲索引時,DBCC SHRINKDATABASE 操作將會失?。挥龅?columnstore 索引之前完成的工作將會成功,所以數據庫可能會較小;若要完成 DBCC SHRINKDATABASE,則需要執行 DBCC SHRINKDATABASE前禁用所有列的存儲索引,再重新生成列存儲的索引;手動收縮數據庫可在 SSMS 工具的對象資源管理器中完成,具體步驟如下:
展開數據庫,右擊要收縮的數據庫;任務 → 收縮 → 單擊數據庫在收縮數據界面展示的是數據庫 srs 的基本信息,若需要進行收縮操作,需要先選中在釋放未使用的空間前重新組織文件。選中此項可能會影響性能(R),再收縮后文件中的最大可用空間中選擇收縮后的空間,單擊確定,即可完成手動收縮數據庫操作;
4. 手動收縮文件手動收縮文件跟手動收縮數據庫操作類似;在 SSMS 工具對文件的對象資源管理器中完成,具體步驟如下:展開數據庫,右擊數據庫;任務 → 收縮 → 單擊文件
在收縮操作文件界面,在收縮操作中,可選擇釋放未使用空間、在釋放未使用空間前重新組織頁、通過將數據遷移到同一文件組中的其他文件來清空文件,三選一來進行手動收縮文件操作;
到此這篇關于SQL Server 數據庫之收縮數據庫和文件的文章就介紹到這了,更多相關sqlserver收縮數據庫內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
