在SQL數據庫中怎樣快速刪除用友U8賬套

在SQL數據庫中怎樣快速刪除用友U8賬套


在SQL數據庫中怎樣快速刪除U8賬套

用SQL快速刪除U8賬套


一、問題提出

通過“系統管理”來刪除999賬套,首先要求你備份然後才能刪除。頭痛的是:

1)備份需要發費很長的時間,特別是賬套數據文件比較大時。

2)備份時,你的本本基本處於死機狀態。

3)還要求,你寶貴的硬盤至少要有雙倍空間(如:在E盤存放8G的999賬套數據目錄文件,此時你要有16G空間)

4)再要求,存放999數據文件的硬盤至少要有一倍空間(如:也就是在E盤至少要有8G空間。)

二、解決方法

通過跟蹤總結出,可用SQL快速刪除賬套。

只需1分鐘,也無需硬盤空間。

如下步驟(只適用內部人員的本本上使用):

1、SQL分離UFDADA_999_2007、UFMeta_999_2007數據庫

2、分離後刪除UFDADA、UFMeta目錄文件

3、用SQL清除999賬套在UFSystem裏的信息

1)消除999賬套日誌:

DELETE

FROMUA_LOG

whereCACC_ID='999'

2)消除999賬套年度會計期:

DELETE

FROMUA_Period

WHERE(cAcc_Id='999')

3)消除999賬套啓用模塊:

DELETE

FROMUA_Account_sub

WHERE(cAcc_Id='999')

4)消除999賬套:

DELETE

FROMUA_Account

WHERE(cAcc_Id='999')




補充::::::

賬套號001,年度2007

IFEXISTS(SELECTnameFROMmaster.dbo.sysdatabasesWHEREname=

N'UFDATA_001_2007')

DROPDATABASE[UFDATA_001_2007]

GO

DELETEFROM[UFSystem]..[UA_Account_sub]WherecAcc_Id='001'

DELETEFROM[UFSystem]..[UA_Period]WherecAcc_Id='001'

DELETEFROM[UFSystem]..[UA_Log]WherecAcc_Id='001'

DELETEFROM[UFSystem]..[UA_Account]WherecAcc_Id='001'

DELETEFROM[UFSystem]..[UA_HoldAuth]WherecAcc_Id='001'

DELETEFROM[UFSystem]..[UA_Identity]WherecAcc_Id='001'

上面這個腳本只能適用於U86X,U87X不知道相關數據表是否還有.

-------------------

在年結09年帳套時,上面的技術對我幫助很大。情況是這樣的

問題:公司有二個帳套,帳套號分別是002和004。做完年結後,財務發現002帳套裏匯兌損益的憑證做錯了,也就是說需要重新年結002帳套,而004帳套則不需再年結。

解決思路:只要把002帳套的2010年度帳刪除應該可以解決問題。於是

1、通過系統管理的帳套引出,但是這個引出功能要把002所有的年度帳都刪除。此路不通

2、利用帳套和年度帳刪除工具,但這個工具也和引出一樣,要將002所有年度帳刪除。也不行

3、於是在網上搜到這篇文章,利用下面的命令將002的2010年的信息刪掉,然後在數據庫中把2010年的數據庫分離,再在系統管理裏進行結轉上年數據操作,順利年結。

useufsystem

select*fromua_periodwherecacc_id='002'andiyear='2010'

DELETE

FROMUA_Period

WHERE(cAcc_Id='002'andiyear=2010)





每套賬所對應的數據庫名字

原因分析:若是商貿通標準版本,可以根據維護中心--查詢執行器去看每個帳套的數據庫的問題解答:由於用戶用的是商貿通普及版本,可以在查詢執行器中找到master數據庫,在sub_list這張表中有dbname字段對應的就是數據庫的名字



數據庫文件所在的路徑:查詢Master數據庫中的sysdatabases 這個表。

UFSystem數據庫中的UA_Account表中存儲着帳套號和帳套名稱


更改U8備份緩存盤的路徑:

重設備份計劃,更改備份路徑。無法打開份設備,那你打開查詢分析器,在ufsystem數據庫中找到用戶表ua_account打開,把cacc_path字段的值修改正確。其值爲賬套的日期。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章