台灣最大程式設計社群網站
線上人數
1179
 
會員總數:246227
討論主題:189787
歡迎您免費加入會員
討論區列表 >> MS SQL >> 關於ERP資料庫重整問題
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於ERP資料庫重整問題
價值 : 100 QP  點閱數:1949 回應數:22
樓主

風之幻術師
中級專家
4072 35
5283 976
發送站內信

捐贈 VP 給 風之幻術師
其實這篇我不確定在這發問,正不正確。
另外我對資料庫不是很熟悉,可能會問到笨問題,就請各位大大鞭小力點。

因為公司有使用某套ERP系統,但因為實務作業上的一些原因,有些單據是之後才去調整單據的金額。
但這樣有可能會造成成本計算,部份有問題。
ERP系統程式是有提供後台的重整,但因資料庫備份檔就有7GB的大小,重整非常久。推估約近二天的時間才會完成。

然後有時也會出現,庫存數量不準。說是因為有刪單、補單的情況下也要做重整。不過刪單或補單。其實都有原因,並不是很常這樣做。
執行重整時,所有人員都不可使用ERP程式。不然重整程式也無法執行。

問題是資料庫需常常做重整??




備註:伺服器資料庫使用的是MSSQL ,另外ERP有提供資料庫壓縮用的程式(重整前會先執行)。




搜尋相關Tags的文章: [ 重整 ] , [ 資料庫重整 ] , [ MSSQL ] ,
本篇文章發表於2016-06-29 23:54
== 簽名檔 ==
<=======以下是??部落格=============>(??我想填上,「長草」)
Xun的筆記本【http://itgroup.blueshop.com.tw/joewgo/note】
1樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
重整的意思...應該是跑成本吧??
每個月跑一次重新計算金額
本篇文章回覆於2016-06-30 09:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

羅伯斯
檢舉此回應
請問樓主,你的需求是什麼?

1. 縮短資料庫重整的時間嗎?
你公司的資料庫目前才7GB大小,為何需要近 2 天的時間來重整?
這中間除了先壓縮資料庫外,還有啥作業?一舨情況資料庫重整,都只有數小時

2. 執行重整時,所有人員都不可使用ERP程式嗎?
資料庫重整期間,若不鎖住資料庫,可能會發生資料寫入衝突的問題
若資料庫可以在24小時內完成重整,不妨考慮在公司假日未上班時段,進行重整作業

3. 刪單、補單造成庫存數量不準的問題?
刪單、補單時,程式沒有即時修改庫存量,自然會發生庫存量不準的問題
在刪單、補單後,加入即時修改庫存量的程式碼,就能解決
而且也不會因為這個問題,造成需要經常重整資料庫的問題
本篇文章回覆於2016-06-30 12:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

風之幻術師
捐贈 VP 給 風之幻術師 檢舉此回應
給Daimom

其實是跑成本沒錯, 因為這個執行時間最久
還有其他不同的重整,比如說採購單據的數據有錯,也要跑專用的重整。
是預定一個月跑一次,但也太久。


給羅伯斯
1.先備份資料庫→壓縮重整→庫存成本重整(約一天多的時間,6 GB時,所以7GB推算近二天)
使用的程式是ERP本身提供,非MSSQL原生的。

2.其實都儘量利用休息日做,只是想說要是能一個晚上就能完成是最好。

3.依您的回答,就能判斷,這個多人版用的ERP並沒有這樣的功能。
應該是沒有寫入即時修改庫存量的程式碼。
但這ERP軟體我是無法修改其背後的程式碼的。因為同一般的版權軟體。公司只是購買到使用權而已。

在這發問是想多了解一點,資料庫的部份。這樣詢問對方相關問題,比較不會被對方帶風向。
但在這ERP程式出現錯誤時,我有時會看到VB6及部份.NET程式的影子,雖然它大都有修改成自有的圖示;
有時還是會跑出VB6的常見圖示。但呼叫報表卻又出現.NET的圖示。
本篇文章回覆於2016-07-01 07:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
如果軟體設備沒法動的時候,硬體設備能在擴充嗎?例如,加快I/O的存取速度。
本篇文章回覆於2016-07-01 08:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
不錯的參考

pilipala
檢舉此回應
但這ERP軟體我是無法修改其背後的程式碼的


廠商能配合修正是最好的,要不然就是透過 MS SQL Trigger 去補資料囉
本篇文章回覆於2016-07-01 08:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
不錯的參考

羅伯斯
檢舉此回應
從樓主的回覆看這個這個多人版用的ERP,並不算完善

1. 資料量才7GB,就要近二天的時間來重整,耗用的時間太長,若是資料量累積到是數十GB,那重整要多少天數?對使用者的公司運作會產生重大的影響

2. 若真的沒有沒有寫入即時修改庫存量的功能,那算是一個重大的缺陷,以庫存管理的立埸看,就無法提供即時的正確的庫存數據,作為庫存成本控管及經營決策的參考依據,而且可能發生從系統看庫存量充足,不需進行採購,實際上狺ㄗ,以致造成生產線,因原物料不足停擺的狀況,或是接受客戶的訂單後,因實際庫存量不足,無法準時出貨,引起客戶的不滿....等問題





本篇文章回覆於2016-07-01 09:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

pilipala
檢舉此回應
突然想到一個點,該 ERP 軟體,該不會 Table 完全沒建 PK、FK 和 Index 吧?
本篇文章回覆於2016-07-01 11:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

羅伯斯
檢舉此回應
7樓pillpala的疑點,是有可能的,不然很難理解
為何才7GM的資料量,就要近2天的重整時間

看來不找廠商處理,會很難解決的
本篇文章回覆於2016-07-01 12:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
我的經驗不要用指標跑程式 要用update的方式來執行 資料筆數過多跑回圈 就是慢
本篇文章回覆於2016-07-02 08:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

風之幻術師
捐贈 VP 給 風之幻術師 檢舉此回應
先謝謝大家的回應。
因為這兩天除了家裡的事外,也有回公司處理重整的問題但最後仍得找廠商處理。
因為畢竟我無法修改他的程式,且我功力也不夠。
所以回文晚了抱歉。

給Daimom
伺服器主機電腦之前處理的人員有換過。
記憶體從舊機的8GB來到32GB。
伺服器的cpu我不太懂,但看作業系統給的資料,應該為兩個實體CPU 2.X GHz 共12核心
硬碟好象也跟一般的pc用的不一樣。上面寫SCSI , 但某一個測試硬碟有無損壞的免費程式,卻說沒有硬碟存在。(難道是虚擬的?)

給pilipala
MS SQL Trigger 我不會用阿。
手上有一本很舊的書是MYSQL5但沒讀完。
是有提 Trigger ,但書上寫當初在寫這書時MYSQL5 尚有些問題待修正。所以只講一點點。
然後MS SQL Trigger 好象作法也不一樣。

給羅伯斯
您說的這個,我常常都一直在追踨這家廠商,其實除了第一項,覺的有點扯。說我家資料庫資料量太大,那我備份出來的資料檔案有兩個。加起來也才7GB
去查過MS SQL server 標準版也有支援到524 PB (1000TB = 1PB)
我一直覺得這廠商我每次要做重整都會出問題。庫存常常突然變不準,要整個重整才會準。然後有時重整還會寫著失敗。
一直追踨廠商,廠商不覺的煩;我都覺的煩了。不過更煩的是老闆。

給pilipala
有PK(主鍵)
部份有index (索引鍵)
外鍵FK 我不確定,看不出來。
用主機直接開 SQL server管理程式。
我的功力只看的出,有數個資料庫,有兩個同備份檔的。但還有另兩個名稱很象的。
然後有許多資料表,大多有主鍵。
及索引鍵。但也有看到資料表兩個都沒有的也有。

給真的有點難
覺的我也只能找廠商人員處理。
的確我有想過,是不是他們的工程師寫的程式有問題。
其實就算看的到,我也無力修正就是了。
這兩天也有稍微查一下SQL的資料,update 看來是個好物。
本篇文章回覆於2016-07-04 06:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
以硬體的角度來說,
或許您可以看一下重整的時候哪個資源吃最多。
以sql來看
使用sql server的profiler,看是哪段sql常常被咬住。
這部份可能需要請其他前輩說明..這塊不是很熟。
本篇文章回覆於2016-07-05 12:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
你找一個很的table

select * from tb

select * from tb(nolock)
讀取的秒數差很大
本篇文章回覆於2016-07-06 20:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

風之幻術師
捐贈 VP 給 風之幻術師 檢舉此回應
給Daimom
其實MSSQL我真的懂的不多,
要看重整的時候哪個資源吃最多?
這裡真的不會,重整時用的是ERP內帶的程式,執行後就只能等它跑完了

給真的有點難
有試一下,但不是在伺服端試,是把資料庫的備份檔用還原的方式放到我自己主機,用免費版來試,
但這樣好象試不太出來。


它這erp備份出來的資料庫檔案,副檔名也很奇特.dat檔,但使用 SQL servser 2014 Express 還原卻又可以成功。
最近有讀了一點資料庫的書,開頭都說要正規化,還有一本書略提了一下反正規化(但沒仔細說明)
本篇文章回覆於2016-07-18 06:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
不錯的參考

Daimom
捐贈 VP 給 Daimom 檢舉此回應
您好,
可以參考一下 這篇
如果沒有sql profiler的話 也可以考慮使用 ExpressProfiler
看哪段SQL咬cpu咬最兇。
本篇文章回覆於2016-07-20 13:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
作者回應

風之幻術師
捐贈 VP 給 風之幻術師 檢舉此回應
給Daimom
謝謝您提供的方法,但是執行時都象要當機。
我sql語法不是很懂。

另外想稍微問一下,若Erp常回去改单據的內容,會造成報表庫存或存量異常嗎?
不是應該要連動?
謝謝
本篇文章回覆於2016-07-27 15:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.