各位大大 您好:
請問目前我有1台SQL 2000 server,因操作者記錄檔過於肥大,導致系統運作效能低,目前想將資料庫(A)做瘦身,但把操作者記錄內含資料刪除後,發現資料庫還是一樣大……經詢問系統廠商,廠商回覆,必須做匯出/匯入,才能縮小資料庫大小。
1.A資料庫所有資料匯到B資料庫:但目前在執行匯出/匯入,出現了錯誤訊息(PRIMARY KEY 違反條件約束'VCHRREL_PK',無法在物件'VCHRREL_PK'上插入重複索引鍵。)
2.同1台SERVER,A資料庫完整備份,B資料庫進行還原,系統顯示,無法還原"A",因為A資料庫A正在使用。請使用WITH MOVE來確認該檔案的有效位置。
故想請問大大,是否有什麼方法,可以讓我在同一台SERVER,將舊資料庫(A),裡面所有資料匯到新資料庫(B)呢?而其做法或指令為??或有教學網站,可提供參考?
Log 檔肥大應該是沒有作 log backup. 請先使用 dbcc loginfo 看一下 status 欄. 如果是 0 的話, 代表可以作瘦身的動作 (i.e., dbcc shrinkfile), 如果是 2 的話表示尚未作 log backup 而導致無法瘦身.
如果完整備份有照常作的話, 可以暫時將資料庫的 log mode 從 full 轉到 none. 做完 dbcc shrinkfile 然後馬上再作一次 full backup. 這樣應該就可以將 log 檔瘦身了.
至於匯入匯出的問題:
import/export 的話有時會遇到 constraint 的問題. 比較阿Q的做法是在import/export 時 disable 掉所有的 constraint. 然後等 import 完成後再重新 enable.
因為想要回復到同一個 server, 而預設回復的檔案地址就是現在資料庫所在的位址. 所以我個人建議是
a. 先記好目前 mdf 與 ldf (還有 ndf, 如果有的話) 所在的地址
b. dettach 資料庫
c. 將 mdf/ldf/ndf 搬到一個安全的備份的地方
d. 再執行 restore. 因為你已經有一個安全的備份了, 所以在回復時可以選 overwrite existing files.
(f) 如果不幸 restore 失敗了, 將 mdf/ldf/ndf 搬回原位, 然後 attach. 這樣資料庫就會回來了.
pojen 大大您好:
請問目前我匯入匯出問題已解決,但仍想請問二個問題,
1.原A資料庫6G,將使用者記錄檔刪除約300萬筆資料,觀其A資料庫大約仍為6G,並沒因資料表刪除,資料庫就縮小,請問應當如何處理?
(試過刪除資料表後,對A資料庫進行完整備份,在匯入到新資料庫裡面,空間大小仍為6G。
2.因對其SQL資料庫不是如此熟悉,故對大大所提的方法不甚瞭解,是否有網站範例可供參考?謝謝大大
"Log 檔肥大應該是沒有作 log backup. 請先使用 dbcc loginfo 看一下 status 欄. 如果是 0 的話, 代表可以作瘦身的動作 (i.e., dbcc shrinkfile), 如果是 2 的話表示尚未作 log backup 而導致無法瘦身.
如果完整備份有照常作的話, 可以暫時將資料庫的 log mode 從 full 轉到 none. 做完 dbcc shrinkfile 然後馬上再作一次 full backup. 這樣應該就可以將 log 檔瘦身了."
如果只是 table 大小沒變, 那可以試試 rebuild 你的 cluster index.
大大 謝謝你
方法1:先新增新資料庫 比如 B, 然後用 匯出匯入方式 將A的所有東西匯到B
優點:簡單 缺點: 有些TRIGGER & VIEW 可能會沒匯到!
方法2:用SQL管理程式裡的 壓縮資料庫 功能, A資料庫 按右鍵裡就可以看到!
優點:簡單 缺點: 有時候壓縮不了!
方法3:用SQL管理程式裡的 壓縮資料庫 功能, 先壓縮後用 如下指令壓縮LOG 檔
不要照抄喔! 一定要多看HELP 找出適用您們家的參數喔!
<pre class="c" name="code">--DBCC SHRINKFILE
--下列範例會將 UserDB 使用者資料庫中名稱為 DataFil1 之檔案的大小壓縮成 7 MB
USE UserDB;
GO
DBCC SHRINKFILE (DataFil1, 7);
GO
參考:http://xintiao.net/show.aspx?id=133&cid=5
方法4:有備份 不怕資料不見得 可以用第三方軟體
參考:http://www.pc6.com/softview/SoftView_76649.html
最好方法 1:
先熟悉SQL SERVER管理 然後再去做
最好方法 2:
花$外包 處理