當前位置:首頁 » 編程語言 » sql收縮資料庫

sql收縮資料庫

發布時間: 2022-01-09 22:58:29

sql SERVER 收縮資料庫的命令如何寫

--備份資料庫
BACKUP DATABASE testdb TO DISK='d:\data\testdb20070906.bak'
--清空日誌
DUMP TRANSACTION testdb WITH NO_LOG
--截斷事務日誌
BACKUP LOG testdb WITH NO_LOG
--收縮資料庫
DBCC SHRINKDATABASE(testdb)
--設置自動收縮
EXEC SP_DBOPTION testdb,AUTOSHRINK,TRUE

② sql server 2008 r2如何收縮資料庫和文件

1、右擊資料庫選擇,打開Files窗口

2、Files窗口,File type 選擇 Log,單擊OK完成日誌收縮。

按以上方法操作沒有效果,原因是資料庫的恢復模式不是簡單模式,只需要將恢復模式改為簡單模式即可用以上操作來收縮日誌,方便又好用。

將資料庫恢復模式改為簡單模式方法:
1、右擊資料庫選擇屬性,彈出窗口如下圖,選擇Options選項,將 Recovery Model 改為 Simple 即可。

按如下方法操作也可收縮日誌:

1、當資料庫恢復模式為簡單時。使用dbcc shrinkfile (logfile_name,target_size)命令來完成。如

use mydb
dbcc shrinkfile (mydb_log,10) --將mydb_log收縮至10m

2、當資料庫恢復模式為完全時。可以先將資料庫模式改為簡單模式,再使用上述方法來進行。

use master
alter database mydb set recovery simple
dbcc shrinkfile (mydb_log,10) --將mydb_log收縮至10m

也可以直接備份事務日誌文件後再收縮:

use master
backup log mydb to disk='d:/dd.bak'
use mydb
dbcc shrinkfile (mydb_log,10) --將mydb_log收縮至10m;

3、通過分離資料庫,然後再刪除事務日誌文件,再附加mdf數據文件,也可以達到某種意義上的事務日誌收縮。

以下是有關日誌文摘

對於每一個資料庫來講,都需要至少一個事務日誌文件。事務日誌文件是整個資料庫的血液,如果沒有事務日誌的話,那麼將無法進行任何操作。
事務日誌有什麼東西?
事務日誌記錄著在相關資料庫上的操作,同時還存儲資料庫恢復(recovery)的相關信息。

事務日誌與資料庫恢復(recovery)是密切相關的,其實資料庫在啟動時,便會進行相關的恢復(recovery)操作,如下所示。當然,在資料庫還原時,也可以指定手工恢復(recovery).任何在資料庫上的改變,如果在事務日誌內被標記為已提交,並用一個LSN(LOG SEQUENCE NUMBER)來標識,同時相關改變就會體現在數據文件上,而被標記為未提交的改變將不會體現在數據文件上。

2010-01-12 18:31:48.72 spid7s Recovery is complete. This is an informationa message only. No user action is required.

事務日誌文件還存儲著資料庫需要回滾的相關信息。在SQL Server資料庫上,默認是隱式提交的,也就是說在查詢分析器裡面進行的每一個操作,在操作完成後,都是默認已經commit,但如果通過指定begin tran 和rollback tran的命令來標識事務時,rollback tran就需要使用事務日誌內的相關信息才可以回滾。當然,如果SQL Server遇到相關錯誤時,如死鎖,那麼也會產生一個內部回滾,這些都需要用到事務日誌文件。
為什麼要收縮事務日誌?

收縮日誌的原因有很多種,有些則是考慮空間不足,有些則是應用程序限制導致的,一般情況下,是不建議對事務日誌進行其他改變的,如需要控制事務日誌的大小,則可以通過安排事務日誌備份來解決。如果確定事務日誌包含將不再使用的未使用空間,則可以通過減少事務日誌的大小,以便回收過多空間。但這種情況對於一個DBA來講,應該要盡量避免。

僅當資料庫處於聯機狀態,而且至少一個虛擬日誌文件可用時,收縮才會發生。在某些情況下,直到下一個日誌截斷後,才能收縮日誌。

事務日誌收縮的原理:
每個事務日誌由多個虛擬日誌文件組成(virtual log file).虛擬日誌文件沒有固定的大小,也沒有固定的個數。在創建事務日誌文件或者擴展事務日誌文件時,SQL SERVER便會自動創建合適大小的虛擬日誌文件,DBA無法控制虛擬日誌文件的大小和個數。在擴展日誌文件後,虛擬文件的大小是現有日誌大小和新文件增量大小之和。因此,如果在創建資料庫時,對資料庫指定了比較小的初始大小,又指定了比較小的日誌增長量,隨著事務日誌的自動擴展,虛擬日誌文件個數會越來越多,從而影響了資料庫性能。因此,在創建資料庫時,盡量指定比較合適的初始事務日誌大小,同時指定合理的事務日誌增長量,這點可以參考數據文件的標准。如果大於10G或者更大的話,則指定固定的增長量,如果比較小,則指定按百分比的增長量來進行。

詳情參考
http://hi..com/lxiangshanyu/item/7057ce04081efae9fe240d64

③ sql server 收縮資料庫能不能用語句 語句是什麼

可以用維護計劃,裡面工具箱有收縮資料庫的模塊,拖到面板裡面編輯就行了,可以多個資料庫同時操作,可以設置排程定期執行,。
編輯後你也能看具體的sql語句是什麽

④ 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。右建資料庫屬性窗口--故障還原模型--設為大容量日誌記錄

⑤ sql server 收縮資料庫 需要多長時間

這個有很多因素,比如收縮的時候你的資料庫是否被訪問等等,收縮數據文件是單線程的操作,所以CPU再好也沒用,一般收縮的話都少量多次這樣操作。。。

⑥ 如何收縮sqlserver資料庫

本主題介紹如何使用 SQL Server Management Studio
中的對象資源管理器收縮資料庫。收縮後的資料庫不能小於資料庫的最小大小。最小大小是在資料庫最初創建時指定的大小,或是上一次使用文件大小更改操作(如
DBCC SHRINKFILE)設置的顯式大小。例如,如果資料庫最初創建時的大小為 10 MB,後來增長到 100
MB,則該資料庫最小隻能收縮到 10 MB,即使已經刪除資料庫的所有數據也是如此。

收縮資料庫

在對象資源管理器中,連接到 SQL Server 資料庫引擎實例,然後展開該實例。

展開「資料庫」,再右鍵單擊要收縮的資料庫。

指向「任務」,指向「收縮」,然後單擊「資料庫」。

根據需要,可以選中「在釋放未使用的空間前重新組織文件」復選框。如果選中該復選框,必須為「收縮後文件中的最大可用空間」指定值。

選中該選項的作用與執行 DBCC SHRINKDATABASE 時指定 target_percent 值相同。清除該選項的作用與使用 TRUNCATEONLY 選項執行 DBCC SHRINKDATABASE 相同。TRUNCATEONLY 將文件收縮到最後分配的區。這將減小文件的大小,但不移動任何數據。默認情況下,該選項為清除狀態。

輸入收縮資料庫後資料庫文件中剩下的最大可用空間百分比。允許的值介於 0 和 99 之間。該選項僅在選中「在釋放未使用的空間前重新組織文件」時可用。

單擊「確定」。

收縮資料庫

資料庫中的資料庫文件過於龐大或者存在未使用頁時,可以使用收縮資料庫方法來實現對資料庫的收縮,同樣,事務日誌文件也可以收縮。資料庫文件可以作為組或
單獨地進行手工收縮,也可設置為按指定的時間間隔自動收縮。收縮資料庫的活動是在後台進行,並不影響資料庫內的用戶活動。
操作步驟如下:
(1)打開SQL Server企業管理器。雙擊打開「資料庫」節點,在要收縮的資料庫名稱上,單擊滑鼠右鍵,在彈出的快捷菜單中選擇「所有任務」→「收縮資料庫」命令,彈出「收縮資料庫」對話框,如圖1所示。

收縮資料庫
(2)指定資料庫的收縮量,可以從以下選項中選擇。
在「收縮後文件中的最大可用空間」文本框中輸入收縮後資料庫中剩餘的可用空間量。以「資料庫大小,可用空間」值作為依據。如最大可用空間是「25%」,則在該選項中設置小於該數值的百分比,如「12%」。
選擇「在收縮前將頁移到文件起始位置」復選框,使釋放的文件空間保留在資料庫文件中,並使包含數據的頁移到資料庫文件的起始位置。
(3)在「調度」選項框中,選擇是否自動定期執行資料庫壓縮操作。選中「根據本調度來收縮資料庫」復選框,單擊「更改」按鈕,創建或更改自動收縮資料庫的頻率和時間。
(4)最後單擊「確定」按鈕完成操作。

⑦ SQL資料庫收縮的工作原理是什麼

資料庫收縮的工作原理是:清理空白空間和日誌來實現。
空白空間:刪除表時,資料庫的空間不會自動縮小,隨著建的表越來越多,刪除操
作越來越多時候,數據文件就會越來越多。
日誌:是記錄你歷史操作的,沒用的都可以清除。

⑧ 如何收縮資料庫 (SQL Server Management Studio)

本主題介紹如何使用 SQL Server Management Studio 中的對象資源管理器收縮資料庫。收縮後的資料庫不能小於資料庫的最小大小。最小大小是在資料庫最初創建時指定的大小,或是上一次使用文件大小更改操作(如 DBCC SHRINKFILE)設置的顯式大小。例如,如果資料庫最初創建時的大小為 10 MB,後來增長到 100 MB,則該資料庫最小隻能收縮到 10 MB,即使已經刪除資料庫的所有數據也是如此。 收縮數據文件通過將數據頁從文件末尾移動到更靠近文件開頭的未佔用的空間來恢復空間。在文件末尾創建足夠的可用空間後,可以取消對文件末尾的數據頁的分配並將它們返回給文件系統。 注意被移動用來收縮文件的數據可以分布到文件的任何可用位置。這將導致索引碎片並使搜索索引范圍的查詢變慢。若要消除碎片,請考慮在收縮後重新生成文件的索引。

⑨ 怎樣在SQL Server 2000中收縮資料庫

操作步驟如下:
(1)打開SQL Server企業管理器。雙擊打開「資料庫」節點,在要收縮的資料庫名稱上,單擊滑鼠右鍵,在彈出的快捷菜單中選擇「所有任務」→「收縮資料庫」命令,彈出「收縮資料庫」對話框,如圖1所示。

圖1 收縮資料庫
(2)指定資料庫的收縮量,可以從以下選項中選擇。
在「收縮後文件中的最大可用空間」文本框中輸入收縮後資料庫中剩餘的可用空間量。以「資料庫大小,可用空間」值作為依據。如最大可用空間是「25%」,則在該選項中設置小於該數值的百分比,如「12%」。
選擇「在收縮前將頁移到文件起始位置」復選框,使釋放的文件空間保留在資料庫文件中,並使包含數據的頁移到資料庫文件的起始位置。
(3)在「調度」選項框中,選擇是否自動定期執行資料庫壓縮操作。選中「根據本調度來收縮資料庫」復選框,單擊「更改」按鈕,創建或更改自動收縮資料庫的頻率和時間。
(4)最後單擊「確定」按鈕完成操作。

熱點內容
C表格源碼 發布:2024-12-26 11:56:18 瀏覽:680
emobile伺服器地址查詢 發布:2024-12-26 11:56:17 瀏覽:240
aspnet資料庫路徑 發布:2024-12-26 11:47:35 瀏覽:973
皮卡堂怎麼找到以前玩過的伺服器 發布:2024-12-26 11:45:59 瀏覽:123
瀏覽器如何變電腦版安卓 發布:2024-12-26 11:44:36 瀏覽:179
vivo微信怎麼加密碼鎖 發布:2024-12-26 11:34:14 瀏覽:404
對蟻群演算法 發布:2024-12-26 11:15:53 瀏覽:808
tiobe編程語言社區 發布:2024-12-26 10:48:11 瀏覽:425
日立存儲微碼升級 發布:2024-12-26 10:43:48 瀏覽:153
如何建立家庭網站伺服器 發布:2024-12-26 10:40:46 瀏覽:186