當前位置:首頁 » 操作系統 » 資料庫收縮語句

資料庫收縮語句

發布時間: 2025-03-26 18:31:52

① 教你如何收縮MSsql資料庫

收縮MSSQL資料庫之一:清空日誌DUMP TRANSACTION 庫名 WITH NO_LOG 收縮MSSQL資料庫之二:截斷事務日誌:BACKUP LOG 資料庫名 WITH NO_LOG收縮MSSQL資料庫之三:收縮資料庫文件(如果不壓縮,資料庫的文件不會減小企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件--選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了--選擇數據文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了也可以用SQL語句來完成--收縮資料庫DBCC SHRINKDATABASE(客戶資料)--收縮指定數據文件,1是文件號,可以通過這個語句查詢到:select * from sysfilesDBCC SHRINKFILE(1)收縮MSSQL資料庫之四:為了最大化的縮小日誌文件(如果是sql 7.0,這步只能在查詢分析器中進行)a.分離資料庫:企業管理器--伺服器--資料庫--右鍵--分離資料庫b.在我的電腦中刪除LOG文件c.附加資料庫:企業管理器--伺服器--資料庫--右鍵--附加資料庫此法將生成新的LOG,大小隻有500多K或用代碼:下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前伺服器。a.分離E X E C sp_detach_db @dbname = 'pubs'b.刪除日誌文件c.再附加E X E C sp_attach_single_file_db @dbname = 'pubs',@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'收縮MSSQL資料庫之五:為了以後能自動收縮,做如下設置:企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮"--SQL語句設置方式:E X E C sp_dboption '資料庫名', 'autoshrink', 'TRUE'6.如果想以後不讓它日誌增長得太大企業管理器--伺服器--右鍵資料庫--屬性--事務日誌--將文件增長限制為xM(x是你允許的最大數據文件大小)--SQL語句的設置方式:alter database 資料庫名 modify file(name=邏輯文件名,maxsize=20)收縮MSSQL資料庫之特別注意:請按步驟進行,未進行前面的步驟,請不要做後面的步驟否則可能損壞你的資料庫.一般不建議做第4,6兩步第4步不安全,有可能損壞資料庫或丟失數據第6步如果日誌達到上限,則以後的資料庫處理會失敗,在清理日誌後才能恢復.另外提供一種更簡單的方法,本人屢試不爽,建議大家使用。收縮MSSQL資料庫之更簡單的方法:1。右建資料庫屬性窗口--故障還原模型--設為簡單2。右建資料庫所有任務--收縮資料庫3。右建資料庫屬性窗口--故障還原模型--設為大容量日誌記錄以上就是對如何讓收縮MSSQL資料庫的簡單介紹。卑錟憬舛寥患指慈砑

② 資料庫日誌文件過大如何收縮

網頁鏈接我是用這個方法收縮的,可以將日誌收縮到1MB

守得雲開見月明,花了一個上午結合前輩的博客,終於弄好了sqlserver2008的資料庫日誌收縮到1MB,分享給大家

# 方法步驟

1、執行SQL語句改成「簡單模式」

2、收縮資料庫

3、執行SQL語句改回「完全模式」

## 第一步:執行SQL語句改成「簡單模式」


USE [master]
GO
ALTER DATABASE SlowXWebDB (改成你需要進行收縮的資料庫名) SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE SlowXWebDB (改成你需要進行收縮的資料庫名) SET RECOVERY SIMPLE --改成簡單模式
GO

## 第二步:進行資料庫操作
相關界面截圖和操作
假定:
資料庫名:SlowXWebDB
日誌文件名:SlowXWebDB_Log

## 第三步:執行SQL語句改成「完全模式」

USE [master]
GO
ALTER DATABASE SlowXWebDB (改成你需要進行收縮的資料庫名)SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE datebaseName(改成你需要進行收縮的資料庫名)SET RECOVERY FULL --還原為完全模式
GO
==最後不要忘記實測下資料庫是否能夠正常使用==

網頁鏈接

③ sql資料庫的收縮命令是什麼

1.清空日誌 DUMP TRANSACTION 庫名 WITH NO_LOG 2.截斷事務日誌: BACKUP LOG 資料庫名 WITH NO_LOG3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小 企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件 --選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了 --選擇數據文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了 也可以用SQL語句來完成 --收縮資料庫 DBCC SHRINKDATABASE(客戶資料) --收縮指定數據文件,1是文件號,可以通過這個語句查詢到:select * from sysfiles DBCC SHRINKFILE(1)4.為了最大化的縮小日誌文件(如果是sql 7.0,這步只能在查詢分析器中進行) a.分離資料庫: 企業管理器--伺服器--資料庫--右鍵--分離資料庫 b.在我的電腦中刪除LOG文件 c.附加資料庫: 企業管理器--伺服器--資料庫--右鍵--附加資料庫 此法將生成新的LOG,大小隻有500多K 或用代碼: 下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前伺服器。 a.分離 E X E C sp_detach_db @dbname = 'pubs' b.刪除日誌文件 c.再附加 E X E C sp_attach_single_file_db @dbname = 'pubs', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'5.為了以後能自動收縮,做如下設置: 企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮" --SQL語句設置方式: E X E C sp_dboption '資料庫名', 'autoshrink', 'TRUE'6.如果想以後不讓它日誌增長得太大 企業管理器--伺服器--右鍵資料庫--屬性--事務日誌 --將文件增長限制為xM(x是你允許的最大數據文件大小) --SQL語句的設置方式: alter database 資料庫名 modify file(name=邏輯文件名,maxsize=20)特別注意: 請按步驟進行,未進行前面的步驟,請不要做後面的步驟 否則可能損壞你的資料庫. 一般不建議做第4,6兩步 第4步不安全,有可能損壞資料庫或丟失數據 第6步如果日誌達到上限,則以後的資料庫處理會失敗,在清理日誌後才能恢復.另外提供一種更簡單的方法,本人屢試不爽,建議大家使用。更簡單的方法: 1。右建資料庫屬性窗口--故障還原模型--設為簡單 2。右建資料庫所有任務--收縮資料庫 3。右建資料庫屬性窗口--故障還原模型--設為大容量日誌記錄

④ 收縮資料庫有什麼作用

收縮資料庫

資料庫中的每個文件都可以通過刪除未使用的頁的方法來減小。盡管資料庫引擎會有效地重新使用空間,但某個文件多次出現無需原來大小的情況後,收縮文件就變得很有必要了。數據和事務日誌文件都可以減小(收縮)。可以成組或單獨地手動收縮資料庫文件,也可以設置資料庫,使其按照指定的間隔自動收縮。

文件始終從末尾開始收縮。例如,如果有個 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 語句時,可以將各個資料庫文件收縮得比其初始大小更小。必須對每個文件分別進行收縮,而不能嘗試收縮整個資料庫。

⑤ 收縮資料庫 DBCC SHRINKFILE

使用DBCC SHRINKFILE命令收縮資料庫文件,對於解決日誌空間不足問題有顯著效果。此操作能夠釋放已分配但未使用的存儲空間,減少浪費,優化數據存儲結構。然而,收縮資料庫並非常規運維操作,不當使用可能導致數據丟失或性能問題,因此需謹慎執行。

SQL Server 2000通過預先分配空間來構建資料庫文件。若實際使用空間小於分配空間,會造成資源浪費。DBCC SHRINKFILE功能應運而生,允許對資料庫文件進行收縮,刪除未使用的頁,提升存儲效率。

值得注意的是,在進行資料庫備份時,應避免同時執行收縮操作。同樣,創建或備份資料庫時,亦不得執行收縮。此操作能夠使資料庫文件縮小至初始大小以下,以提高存儲效率。

文件收縮操作從文件末端開始,按反向順序進行。例如,若將5GB文件收縮至4GB,SQL Server 2000將從最後1GB開始釋放空間。如果釋放部分包含已使用過的頁面,系統將重新定位這些頁面至保留區域,確保數據完整性和存儲結構的優化。

熱點內容
遺傳演算法與粒子群演算法 發布:2025-03-29 20:15:51 瀏覽:752
信訪問問 發布:2025-03-29 20:12:12 瀏覽:533
java創建臨時文件 發布:2025-03-29 20:02:06 瀏覽:31
游戲開發編程基礎 發布:2025-03-29 19:56:57 瀏覽:460
七夕php 發布:2025-03-29 19:56:54 瀏覽:645
禾匠小程序源碼下載 發布:2025-03-29 19:56:07 瀏覽:788
雲伺服器數據有備份嗎 發布:2025-03-29 19:55:21 瀏覽:94
如何用安卓手機注冊qq郵箱 發布:2025-03-29 19:50:23 瀏覽:493
廣域網與區域網如何配置 發布:2025-03-29 19:44:10 瀏覽:543
xp3解壓 發布:2025-03-29 19:37:49 瀏覽:771