A. SQL資料庫如何壓縮
1、首先從開始菜單著手,打開開始菜單欄,在菜單欄上找到我們已經安裝的SQL server 2008,單擊打開它。
B. 如何壓縮SQL Server 2005指定資料庫文件和日誌的大小
下面有兩個SQL語句可以達到在SQL Server 2005/2008壓縮指定資料庫文件和日誌的大小的效果:
1、DBCC SHRINKDATABASE (Transact-SQL)
收縮指定資料庫中的數據文件和日誌文件的大小。
語法
DBCC SHRINKDATABASE
( 'database_name' | database_id | 0
[ ,target_percent ]
[ , { NOTRUNCATE | TRUNCATEONLY } ]
)
[ WITH NO_INFOMSGS ]
參數
'database_name' | database_id | 0 要收縮的資料庫的名稱或 ID。如果指定 0,則使用當前資料庫。
target_percent 資料庫收縮後的資料庫文件中所需的剩餘可用空間百分比。
NOTRUNCATE 通過將已分配的頁從文件末尾移動到文件前面的未分配頁來壓縮數據文件中的數據。target_percent 是可選參數。 文件末尾的可用空間不會返回給操作系統,文件的物理大小也不會更改。因此,指定 NOTRUNCATE 時,資料庫看起來未收縮。 NOTRUNCATE 只適用於數據文件。日誌文件不受影響。
TRUNCATEONLY 將文件末尾的所有可用空間釋放給操作系統,但不在文件內部執行任何頁移動。數據文件只收縮到最近分配的區。如果與 TRUNCATEONLY 一起指定,將忽略 target_percent。 TRUNCATEONLY 只適用於數據文件。日誌文件不受影響。
WITH NO_INFOMSGS 取消嚴重級別從 0 到 10 的所有信息性消息。
結果集
列名 說明
DbId 資料庫引擎試圖收縮的文件的資料庫標識號。
FileId 資料庫引擎嘗試收縮的文件的文件標識號。
CurrentSize 文件當前佔用的 8 KB 頁數。
MinimumSize 文件最低可以佔用的 8 KB 頁數。這與文件的最小大小或最初創建時的大小相對應。
UsedPages 文件當前使用的 8 KB 頁數。
EstimatedPages 資料庫引擎估計文件能夠收縮到的 8 KB 頁數。
備注
若要收縮特定資料庫的所有數據和日誌文件,請執行 DBCC SHRINKDATABASE 命令。若要一次收縮一個特定資料庫中的一個數據或日誌文件,請執行 DBCC SHRINKFILE 命令。
若要查看資料庫中當前的可用(未分配)空間量,請運行 sp_spaceused。
可在進程中的任一點停止 DBCC SHRINKDATABASE 操作,任何已完成的工作都將保留。
收縮後的資料庫不能小於資料庫的最小大小。最小大小是在資料庫最初創建時指定的大小,或是使用文件大小更改操作(如 DBCC SHIRNKFILE 或 ALTER DATABASE)顯式設置的最後大小。例如,如果資料庫最初創建時的大小為 10 MB,後來增長到 100 MB,則該資料庫最小隻能收縮到 10 MB,即使已經刪除資料庫的所有數據也是如此。
運行 DBCC SHRINKDATABASE 而不指定 NOTRUNCATE 選項或 TRUNCATEONLY 選項等價於帶 NOTRUNCATE 運行 DBCC SHRINKDATABASE 操作,然後再帶 TRUNCATEONLY 運行 DBCC SHRINKDATABASE 操作。
要收縮的資料庫不必在單用戶模式下;其他的用戶仍可以在資料庫收縮時對其進行工作。這也包括系統資料庫。
不能在備份資料庫時收縮資料庫。反之,也不能在資料庫執行收縮操作時備份資料庫。
DBCC SHRINKDATABASE 的工作原理
DBCC SHRINKDATABASE 以每個文件為單位對數據文件進行收縮。然而,DBCC SHRINKDATABASE 在對日誌文件進行收縮時,它將視為所有的日誌文件都存在於一個連續的日誌池中。文件始終從末尾開始收縮。
假設名為 mydb 的資料庫有一個數據文件和兩個日誌文件。數據文件和日誌文件分別是 10 MB,並且數據文件包含 6 MB 數據。
Microsoft SQL Server 2005 資料庫引擎對每個文件計算一個目標大小。這就是文件將要收縮到的大小。將 target_percent 與 DBCC SHRINKDATABASE 一起指定時,資料庫引擎計算的目標大小是收縮後文件中的 target_percent 可用空間大小。例如,如果在收縮 mydb 時將 target_percent 指定為 25,則資料庫引擎將此文件的目標大小計算為 8 MB(6 MB 數據加上 2 MB 可用空間)。因此,資料庫引擎將任何數據從數據文件的後 2 MB 中移動到數據文件前 8 MB 的可用空間中,然後對該文件進行收縮。
假設 mydb 的數據文件包含 7 MB 的數據。將 target_percent 指定為 30,以允許將此數據文件收縮到可用空間為 30%。但是,將 target_percent 指定為 40 卻不會收縮數據文件,因為資料庫引擎收縮文件的目標大小不能小於數據當前佔用空間大小。您還可以用另一種方法來考慮此問題:所要求的 40% 可用空間加上整個數據文件大小的 70%(10 MB 中的 7 MB),超過了 100%。因為所要求的可用百分比加上數據文件佔用的當前百分比大於 100%(多出 10%),所以任何大於 30 的 target_size 都不會收縮此數據文件。
對於日誌文件,資料庫引擎使用 target_percent 來計算整個日誌的目標大小;因此,target_percent 是收縮操作後日誌中的可用空間大小。之後,整個日誌的目標大小轉換為每個日誌文件的目標大小。
DBCC SHRINKDATABASE 嘗試立即將每個物理日誌文件收縮到其目標大小。如果虛擬日誌中的所有邏輯日誌部分都沒有超出日誌文件的目標大小,則該文件將成功截斷,DBCC SHRINKDATABASE 完成且不顯示任何消息。但是,如果部分邏輯日誌位於超出目標大小的虛擬日誌中,則資料庫引擎將釋放盡可能多的空間,並發出一條信息性消息。該消息說明需要執行哪些操作來將邏輯日誌移出位於文件末尾的虛擬日誌。執行該操作以後,DBCC SHRINKDATABASE 可用於釋放剩餘空間。有關詳細信息,請參閱收縮事務日誌。
因為日誌文件只能收縮到虛擬日誌文件邊界,所以不可能將日誌文件收縮到比虛擬日誌文件更小(即使現在沒有使用該文件)。虛擬日誌文件的大小在創建或擴展這些日誌文件時由資料庫引擎動態選擇。有關虛擬日誌文件的詳細信息,請參閱事務日誌物理體系結構。
C. SQL Server 快速清除日誌文件的方法
SQL Server 2000快速清除日誌文件的方法
SQL Server 2000 資料庫日誌太大!
如何清理SQL Server 2000的日誌呢?
如何壓縮SQL Server 2000的日誌呢?
如何讓SQL Server 2000的日誌變小呢?
據我所知,辦法有很多很多,總結起來算有3類吧:
1、點幾下滑鼠,用SQL Server 2000管理工具中的企業管理器即可實現,待會兒詳解;
2、用SQL語句,在SQL Server 2000管理工具中的查詢分析器可以實現,此法高級人士喜歡用;
3、用第三方工具實現,原理嘛,我覺得應該是用SQL語句來實現的,這方法好,簡單易用,網上不乏精品工具,待會兒介紹一款。
一、現在我們詳細描述一下如何用企業管理器清理SQL 2000的日誌:
1、打開企業管理器,右擊要處理的資料庫--》屬性--》選項--》故障還原,選「簡單」--》確定。如圖:
2、右擊要處理的資料庫--》所有任務--》收縮資料庫--》什麼也不動,默認第一個是0%,其它兩個未選中,點確定--》如果您以前資料庫日誌文件大於1M那麼現在再看看,是不是只有1M了呢。
3、操作完後--》按第一步,把「故障還原」,選「完全」,傳說中SQL Server 2000 有自動還原功能,說是如果非法關機等因素造成數據丟失可以自動回滾,另外可以用程序來實現操作回滾,所以最好是讓故障還原是「完全」。
4、這樣便實現了「SQL Server 2000 資料庫日誌太大!如何管理,清除,變小,壓縮它」中的清除,變小,壓縮了,至於怎麼管理,自己看著辦吧,我一般只會用到這些,再有深入研究的話我會寫上來的`。
二、現在我們介紹用第三方SQL Server 日誌清理工具來清理日誌,簡單易用高效,推薦用這個方法。
我喜歡用 SqlServer日誌清除專家 v3.5 來實現這個功能。界面如下:
資料庫那裡一般會將整個伺服器的資料庫名都列舉出來,需要選擇為自己賬戶能管理到的那個,我這里DB_iszip賬戶能管理的是 iszip ,選擇好之後,點「清除日誌」按鈕,然後SQL Server 2000的日誌就被清理好了,此時你去伺服器看你資料庫日誌佔用空間就只有1M了。
;D. sql2008中如何收縮資料庫日誌文件
解決方法:
方法一
右鍵選擇資料庫-》任務-》收縮-》文件-》文件類型-》日誌-》在釋放未使用的空間前重新組織頁
方法二(不推薦)
1 必須先改成簡單模式
2 然後用
----Logical Files :
--CMS1.5_Data
--CMS1.5_Log
DBCC SHRINKFILE (N'CMS1.5_Log' , 1)
GO
註:Data是數據文件,Log是日誌文件
E. sql server怎麼收縮日誌
1、首先選中資料庫右鍵--屬性 點擊
F. Sql 2008如何壓縮資料庫及日誌文件
首先將你要將壓縮的資料庫設置為簡單日誌模式(這個就不用說了吧),然後右擊你的資料庫名稱,選擇任務-收縮-文件,即可打開資料庫壓縮窗口,後面的你就會操作了,你可以壓縮到你想到的比例。