1樓:
收縮資料庫
資料庫中的每個檔案都可以通過刪除未使用的頁的方法來減小。儘管資料庫引擎會有效地重新使用空間,但某個檔案多次出現無需原來大小的情況後,收縮檔案就變得很有必要了。資料和事務日誌檔案都可以減小(收縮)。
可以成組或單獨地手動收縮資料庫檔案,也可以設定資料庫,使其按照指定的間隔自動收縮。
檔案始終從末尾開始收縮。例如,如果有個 5 gb 的檔案,並且在 dbcc shrinkfile 語句中將 target_size 指定為 4 gb,則資料庫引擎將從檔案的最後一個 1 gb 開始釋放儘可能多的空間。如果檔案中被釋放的部分包含使用過的頁,則資料庫引擎先將這些頁重新放置到檔案的保留部分。
只能將資料庫收縮到沒有剩餘的可用空間為止。例如,如果某個 5 gb 的資料庫有 4 gb 的資料,並且在 dbcc shrinkfile 語句中將 target_size 指定為 3 gb,則只能釋放 1 gb。
自動資料庫收縮
將 auto_shrink 資料庫選項設定為 on 後,資料庫引擎將自動收縮具有可用空間的資料庫。此選項可以使用 alter database 語句來進行設定。預設情況下,此選項設定為 off。
資料庫引擎會定期檢查每個資料庫的空間使用情況。如果某個資料庫的 auto_shrink 選項設定為 on,則資料庫引擎將減少資料庫中檔案的大小。該活動在後臺進行,並且不影響資料庫內的使用者活動。
將資料庫設定為自動收縮
alter database (transact-sql)
手動資料庫收縮
您可以使用 dbcc shrinkdatabase 語句或 dbcc shrinkfile 語句來手動收縮資料庫或資料庫中的檔案。如果 dbcc shrinkdatabase 或 dbcc shrinkfile 語句無法**日誌檔案中的所有指定空間,則該語句將發出資訊性訊息,指明必須執行什麼操作以便釋放更多空間。有關收縮日誌檔案的詳細資訊,請參閱收縮事務日誌。
在該過程中任意時間都可停止 dbcc shrinkdatabase 和 dbcc shrinkfile 操作,所有已完成工作都將保留。
在使用 dbcc shrinkdatabase 語句時,您無法將整個資料庫收縮得比其初始大小更小。因此,如果資料庫建立時的大小為 10 mb,後來增長到 100 mb,則該資料庫最小隻能收縮到 10 mb,即使已經刪除資料庫的所有資料也是如此。
但是,使用 dbcc shrinkfile 語句時,可以將各個資料庫檔案收縮得比其初始大小更小。必須對每個檔案分別進行收縮,而不能嘗試收縮整個資料庫。
2樓:半邊枕
收縮資料庫就是把資料庫不需要或者沒有用的東西進行資源**,簡單的說就是資料庫壓縮,比如你資料庫的很大,你收縮下資料庫就不會有那麼大了,還有一個辦法就是刪除資料庫日誌,具體**:
exec sp_attach_single_file_db @name='資料庫名',@hysname='c:\program files\microsoft sql server\mssql.1\mssql\data\資料庫名.
mdf'
sql資料庫收縮的工作原理是什麼
3樓:匿名使用者
資料庫收縮的工作原理是:清理空白空間和日誌來實現。
空白空間:刪除表
版時,資料庫的空間不會自權動縮小,隨著建的表越來越多,刪除操作越來越多時候,資料檔案就會越來越多。
日誌:是記錄你歷史操作的,沒用的都可以清除。
4樓:匿名使用者
「模型」變為「簡單」對資料庫使用沒有影響,但是日誌記錄少了。日誌檔案的大小下降
專了。「收縮後檔案中屬的最大可用空間」保留多少空餘空間不收縮。
頁移至檔案起始位置、收縮檔案-檔案-壓縮頁,更好的收縮檔案,需要很長的時間。如果你用普通搜尋之後,檔案還是很大,而且有較多的空餘空間收縮不了,就可以用這個選項。
sql server 中的「收縮資料庫」是什麼意思? 10
5樓:
收縮資料庫
資料庫中的每個檔案都可以通過刪除未使用的頁的方法來減小。儘管資料庫引擎會有效地重新使用空間,但某個檔案多次出現無需原來大小的情況後,收縮檔案就變得很有必要了。資料和事務日誌檔案都可以減小(收縮)。
可以成組或單獨地手動收縮資料庫檔案,也可以設定資料庫,使其按照指定的間隔自動收縮。
檔案始終從末尾開始收縮。例如,如果有個 5 gb 的檔案,並且在 dbcc shrinkfile 語句中將 target_size 指定為 4 gb,則資料庫引擎將從檔案的最後一個 1 gb 開始釋放儘可能多的空間。如果檔案中被釋放的部分包含使用過的頁,則資料庫引擎先將這些頁重新放置到檔案的保留部分。
只能將資料庫收縮到沒有剩餘的可用空間為止。例如,如果某個 5 gb 的資料庫有 4 gb 的資料,並且在 dbcc shrinkfile 語句中將 target_size 指定為 3 gb,則只能釋放 1 gb。
自動資料庫收縮
將 auto_shrink 資料庫選項設定為 on 後,資料庫引擎將自動收縮具有可用空間的資料庫。此選項可以使用 alter database 語句來進行設定。預設情況下,此選項設定為 off。
資料庫引擎會定期檢查每個資料庫的空間使用情況。如果某個資料庫的 auto_shrink 選項設定為 on,則資料庫引擎將減少資料庫中檔案的大小。該活動在後臺進行,並且不影響資料庫內的使用者活動。
將資料庫設定為自動收縮
alter database (transact-sql)
手動資料庫收縮
您可以使用 dbcc shrinkdatabase 語句或 dbcc shrinkfile 語句來手動收縮資料庫或資料庫中的檔案。如果 dbcc shrinkdatabase 或 dbcc shrinkfile 語句無法**日誌檔案中的所有指定空間,則該語句將發出資訊性訊息,指明必須執行什麼操作以便釋放更多空間。有關收縮日誌檔案的詳細資訊,請參閱收縮事務日誌。
在該過程中任意時間都可停止 dbcc shrinkdatabase 和 dbcc shrinkfile 操作,所有已完成工作都將保留。
在使用 dbcc shrinkdatabase 語句時,您無法將整個資料庫收縮得比其初始大小更小。因此,如果資料庫建立時的大小為 10 mb,後來增長到 100 mb,則該資料庫最小隻能收縮到 10 mb,即使已經刪除資料庫的所有資料也是如此。
但是,使用 dbcc shrinkfile 語句時,可以將各個資料庫檔案收縮得比其初始大小更小。必須對每個檔案分別進行收縮,而不能嘗試收縮整個資料庫。
資料庫的SQL,什麼是資料庫 微軟的SQL又是什麼
public sqlconn as adodb.connection 定義一個資料庫連線sqlconn on error goto handler 發生錯誤時跳轉到 handler標籤 set sqlconn new adodb.connection 例項化sqlconn sqlconn.curso...
sql資料庫和oracle資料庫哪個好
兄弟,聽我的。肯定學習oracle。原因 1 oracle是商用的最廣泛的關係型資料庫管理系統,廣泛應用於銀行 電信 電力 社保等各個領域。特別是對於unix和linux平臺,sqlserver怎麼用啊?我想你學習,肯定為了將來應用,或者工作,你的簡歷裡面寫oracle和sqlserver完全是不一...
sql資料庫連線不上,SQL資料庫連線不上
sql server 無法啟動並顯示錯誤 18456 症狀sql server 服務無法啟動,同時您可能會在 windows 事件檢視器中看到以下錯誤資訊 sqlserveragent could not be started reason unable to connect to server s...