[SQL]dump transaction & sp_updatestats

  • 6185
  • 0
  • 2009-12-31

摘要:[SQL]dump transaction & sp_updatestats

這兩個指令常會用到,可是又常會忘記就筆記一下

  1. DUMP TRANSACTION db_name WITH NO_LOG

    當SQL Server執行交易次數一堆,他所記的log也變多(應該有可以關掉的,不過就不能還原的樣子)

    時間一久就會佔硬碟空間,backup的時後也會佔備份檔的容量。
    所以就可以來執行這段指令。
    執行完你會發現,怎麼還是沒變小,這是因為ldf檔空間佔著了,要利用壓縮,把不用的空間釋放出來



    這個步驟做完你就會發現ldf檔已經瘦身成功了,備份檔案也小很多。


    ref:
    dump transaction
     
  2. EXEC sp_updatestats

    sp_updatestats (Transact-SQL)

    這個指令主要是要更新資料庫的指標,
    通常當我們操作資料庫很多次時,ex:create table, build index...remove index...change index...
    久了這些東西都會很雜亂,會影想到執行效能
    我第一次要用這個指令是因為SP跑的非常慢,要好幾分,同樣的東西拿出來跑只要一秒
    調index也沒用,
    後來下了這個指令就解決了這其中有很頻繁的creat sp,alter sp,因為是多人開發
    但是這個指令並不是萬能丹,
    最主要還是要回去看SQL是不是有寫不好的地方
    而且這個指令的執行身份需要是sysadmin
    去客戶端出問題,還不能用這個指令來解救一下
  3. DBCC SHRINKDATABASE

    萬一遇到不能用MSMS操作的話,可以下這個指令
    以前用過直接用sql 2005的排程定時來處理