顯示具有 電腦 標籤的文章。 顯示所有文章
顯示具有 電腦 標籤的文章。 顯示所有文章

2011/07/13

MSSQL 2000 資料庫被複寫鎖定,無法卸離或刪除

近日公司硬碟故障,資料損毀。MSSQLServer 2000 有些資料庫放在這顆硬碟就毀了。這些資料庫狀態顯示有問題,我想把他們刪除,但是有些資料庫原本設為複寫的 publications,要刪除之前要先解除複寫設定。可是資料庫檔案都沒了,我在Enterprise Manager 沒法將複寫刪除。Google 了一下,找到了以下方法解除複寫設定。

在 master 資料庫有個 sysdatabases table. 欄位 category 如果是 1,表示有複寫。要改為 0。但是這個表沒法直接改,咬先執行
use master
go
exec sp_configure 'allow updates', 1
go
reconfigure with override
go
就可以修改 category 欄位
然後把設定復原
exec sp_configure 'allow updates', 0
go
reconfigure with override
go
之後就可以卸離或直接刪除壞掉的資料庫了。

2010/07/01

清除 SQL replication DB 的 log 檔案

MS SQL 的 log 檔很煩,一般情況下,可以用以下指令騰出空間:

backup log [dbname] with truncate_only

use [db]
dbcc shrinkfile ([dbname_log], size)

可是,如果這個 db 是從另一台 SQL server 複寫而來的,執行 backup log 指令時,會出現以下錯誤訊息:
"The log was not truncated because records at the beginning of the log are pending replication. Ensure the Log Reader Agent is running or use sp_repldone to mark transactions as distributed."
即使刪掉 replication 設定也沒用。

後來找了一下,發現以下方法:
(1) sp_replicationdboption 'database name','publish',true
(2) EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0,    @time = 0, @reset = 1
(3) sp_replicationdboption 'database name','publish',false
確認沒有 replicated transactions :
(4) dbcc traceon(3604)
(5) dbcc opentran

就可以縮小 log 檔案了。

之後再重新設定 replication 就大功告成。

後記:似乎不是 replication 而來的 db 會有這個問題。因為今天可以直接執行 backup log 指令,另外一台 db 也可以。所以我也不知道原來為何不行。總之,之後如果再遇到一樣的問題,就這樣解決就對了,人生還有很多有趣的事情,不用在這裡浪費時間啊!

2010/01/08

Mantis, PHP and Apache

突然發現手邊進行的案子還是需要 bug track system 比較好進行。但是之前公司安裝 Mantis 的機器掛了,所以上週五找了台機器重裝一套。不想花太多時間,就直接找一台現成的 Windows 平台,迅速下載了 Apache, PHP 與 Mantis。安裝時參考了http://www.prudentman.idv.tw/2009/01/mantis-13.html 真感謝。除了後來弄 jpgraph 模組還是不能顯示中文之外,其餘還順利就裝好了。
只是跑起來常常卡住,突然就不能連進來。我一時也不知道發生什麼問題,只是一直懷疑為什麼PHP有這麼多安裝版:有 VC9 與 VC6 的版本,還有 thread safe 與 non thread safe 的版本。

2009/03/29

WD 6400 AAKS 與 ASUS P5B-MX/WiFi-AP 犯衝

okok. 這篇是浪費十數小時得出來的結論。
家裡的硬碟用的差不多,再去買一顆 WD 640GB 的硬碟 (6400 AAKS)
裝上去之後看似一切正常,沒想到 copy 大檔案到新硬碟時,出了問題。
一開始還正常,後來就突然卡住,變得很慢很慢,CPU 的 kernel time 幾乎滿載。
既使取消重新 copy 也不行。
Windows 的事件檢視器偵測到錯誤:
驅動程式在 \Device\Harddisk0\D 上偵測到控制器錯誤

第一時間當然是懷疑硬碟有問題,因為我也換了線,也換了 SATA port,結果都一樣。
我不想浪費時間,就直接跑去光華商場找店家換一顆,或乾脆換另外一款。
沒想到在店家測試正常,只能換同款,不能換別型。換別型要 10% 手續費。
我想算了,換一顆一樣的再試試看吧。為了排除線的問題,我又買了一條線。
沒想到還是一樣 Orz ...
於是開始努力爬文,一方面也想如果沒方便的解決方式,就折個 10% 退貨,再買別的牌子的。
爬文的結果,慢慢發現有跟我類似的狀況,好像跟主機板有關。
後來發現似乎是 SATA1 與 SATA2 的差異。
我的主機版 ASUS P5B-MX/WiFi-AP 的 SATA2 似乎跟 WD 6400AAKS 犯衝。
然後又看到可以用 jumper 將 AAKS 設成 SATA1 mode.
研究到到此已經半夜一點,沒力,先睡。
隔天週日早上,就找了以前舊硬碟上的 jumper 拔下來,裝在 AAKS 的 5,6 號腳上 (OPT1 enabled)
讓他使用SATA1 mode 150MB/s
結果就可以啦!
我就不用在跑一趟光華商場與損失10%跟增加一堆怨念了。

參考討論:
www.pcdvd.com.tw/printthread.php
www.pcdvd.com.tw/showthread.php
forum.slime.com.tw/thread167298.html

不過WD的硬碟上面並沒有印 jumper 的說明,還要去查資料才知道。
另外,ASUA 這款主機板 P5B-MX/WiFi-AP 跟 WD 的犯衝也令人 OOXX ....
一般使用這哪這麼多時間跟能耐去找問題啊。