SiteAzure4.2升級到Webfuture11.0的數據庫靜態(tài)表清空處理操作
問題說明:
在SiteAzure4.2升級到Webfuture11.0的過程中,我們發(fā)數據庫中的3個靜態(tài)生成表數據庫量非常大,導致升級過程變得非常慢,但是在webfuture產品中這一塊已經做了優(yōu)化變更,靜態(tài)類數據也用不上,因此在做升級之前可以以下3個表數據清空處理,大大加快升級進度。
問題處理:
#TRUNCATE TABLE dbo.TableA;
PE_StaticHtmlManage_StaticHtmlGenerationTaskDetailLog 這個日志表可以直接用TRUNCATE TABLE來清空處理
另外倆個表處理起來就比較麻煩一點,TRUNCATE TABLE清理不了。因為有主外鍵關系。
如果是使用#DELETE FROM dbo.TableA;來刪除表數據也會非常慢,不推薦。
#還有就是先刪除外鍵再用TRUNCATE TABLE來刪除表數據
1,通過以下生成drop外鍵腳本
SELECT
'ALTER TABLE ' + QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id)) + '.'
+ QUOTENAME(OBJECT_NAME(parent_object_id)) +
' DROP CONSTRAINT ' + QUOTENAME(name) + ';'
FROM sys.foreign_keys
WHERE referenced_object_id = OBJECT_ID('dbo.PE_StaticHtmlManage_StaticHtmlGenerationTask');
2,然后通過生成的腳本來執(zhí)行刪除外鍵。
-- 執(zhí)行上一步生成的 DROP 語句
3,通過TRUNCATE TABLE來清空對應的表數據
TRUNCATE TABLE dbo.PE_StaticHtmlManage_StaticHtmlGenerationTask;
#另外一個表也是同樣操作即可
以上僅用于sa4.2升級wf11.0過程中,主外鍵會徹底失去。操作之前務必備份數據庫。