پاکسازی لیست Nintex workflow history و جدول dbo workflowprogress

نحوه پاکسازی لیست Nintex workflow history  بزرگ (اطلاعات قدیمی یا غیر الزامی)

اگر بیش از ۵۰۰۰ رکورد در لیست Nintex workflow history شما وجود دارد ممکن است نیاز به بررسی گزینه های دیگر برای پاکسازی این موارد داشته باشید زیرا ممکن است GUI عملیات پاکسازی را با شکست مواجه کند.

  • روش اول : پاکسازی لیست History

استفاده از    NWAdmin.exe –o PurgeHistoryListData

NWAdmin.exe به عنوان بخشی از نصب Nintex شما گنجانده شده است. در اینجا مثالی با استفاده از PurgeHistoryListData آورده شده است:

SharePoint 2013 Management Shell:

برای پاکسازی لیست Nintex workflow history ، وضعیت درحال اجرا، تکمیل، لغو،خطا یا همه وضعیت را مشخص کنید .  اگر –State خاموش باشد پیش فرض گزینه تکمیل می باشد.

از “-state All”  استفاده نکنید. فقط ورک فلوهای تکمیل شده را که نیازی به مرور سابقه آنها ندارید پاک کنید. اگر نمونه داده های در حال اجرا را حذف کنید دیگر قادر به ادامه نخواهد بود.

برای بدست آوردن قالب صحیح برای سوئیچ های -lastActivityBefore  و -lastActivityBeforeUTC  از این دستور در Power-Shell استفاده کنید:

توجه داشته باشید:
PurgeHistoryListData باید برای هر سایت در مجموعه سایت شما که از گردش کار Nintex استفاده می کند،  اجرا شود. با استفاده از اسکریپت زیر می توانید سایتهایی را که دارای لیست های بزرگ history هستند در Sharepoint farm خود شناسایی کنید:

اطلاعات بیشتر در مورد دستورات و سوئیچ های NWAdmin.exe  را  می توان در لیک زیر یافت:

اگر رویکرد   NWAdmin.exe PurgeHistoryListData نتواند آیتم ها را پاک کند، می توانید اسکریپت PowerShell را در زیر امتحان کنید.

  • روش دوم : پاکسازی لیست History

با استفاده از PowerShell  برای پاکسازی لیست Nintex workflow history می توانید اسکریپت را در اینجا بیابید:

این اسکریپت از صفحه بندی و فهرست بندی استفاده می کند تا به طور خاص هر آیتم را هدف قرار داده و آن را حذف کند. صفحه بندی کمک می کند تا با حذف تعداد x آیتم در یک زمان قبل از استراحت و شروع به کار دوباره، ترافیک  سرور SqL کاهش دهید. فهرست بندی Indexing امکان هدف قرار دادن آیتم ها را فراهم می کند بدون آنکه عملکرد بالا از شمارش کوئری and/or مجموعه بزرگی از آیتم ها باشد.

نحوه پاک کردن داده های جدول بزرگ dbo.WorkflowProgress

اگر در جدول Nintex dbo.WorkflowProgress  خود ۵۰۰۰٫۰۰۰ یا بیشتر رکورد دارید، باید به پیرایش برخی از رکوردها بپردازید.

می توانید با استفاده از گزینه های زیر این کار را انجام دهید.

هشدار :
پاک کردن dbo.WorkflowProgress را  فقط بعد از پاکسازی لیست Nintex workflow history انجام هید. انجام ندادن این کار، از پاک کردن آیتم ها موجود در لیست history با استفاده از دستور ” PurgeHistoryListData  ” جلوگیری می کند، مگر اینکه از کلید “-clearall” استفاده شود.

نحوه پاک کردن جدول dbo.WorkflowProgress  روش اول :

  • با استفاده از NWAdmin.exe –o PurgeWorkflowData

در اولین مرحله توصیه  می کنیم  از دستور NWAdmin.exe استفاده کنید. در اینجا مثالی با استفاده از عملیات PurgeWorkflowData آورده  شده است:

برای حذف آیتم های لیست History برای گردشهای کاری، وضعیت درحال اجرا، تکمیل، لغو،خطا یا همه وضعیت را مشخص کنید .  اگر –State خاموش باشد گزینه پیش فرض “تکمیل” می باشد.

از “-state All”  استفاده نکنید. فقط ورک فلوهای تکمیل شده را که نیازی به مرور سابقه آنها ندارید پاک کنید. اگر نمونه داده های در حال اجرا را حذف کنید دیگر قادر به ادامه نخواهد بود.

نحوه پاک کردن جدول dbo.WorkflowProgress  روش دوم :

  •  استفاده از اسکریپت SQL برای پاکسازی سوابق

اگر NWAdmin.exe –o PurgeWorkflowData نتواند سوابق را از جدول dbo.WorkflowProgress پاک کند، توصیه بعدی ما استفاده از اسکریپت SQL زیر است:

در ابتدا شما نیاز به جمع آوری SiteID برای مجموعه سایت هایی که می خواهید داده ها را از آنها پاک کنید، دارید.برای این کار دستور Power-Shell زیر را اجرا کنید:

سپس عبارت زیر را برای بازیابی تعداد سوابق باقیمانده در هر مجموعه سایت اجرا کنید:

SQL :

در اینجا مثالی از خروجی این اسکریپت آورده شده است:

برای پاک کردن سوابق برای یک مجموعه سایت خاص با آخرین فعالیت قبل از تاریخ ۰۱-۰۷-۲۰۱۴ (فیلترهای بیشتر را در پایین از جمله انجام پاکسازی در هر سایت مشاهده کنید):

برای محدود کردن اطلاعات حذف شده، می توانید از یک یا چند پارامتر زیر نیز استفاده کنید:

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *