Remove Duplicates from ScriptState Table
Summary
This document outlines the process to clear duplicate entries from the scriptstate table.
It is a client script that can be scheduled to run once per day.
Sample Run
This script is to be scheduled as a client script.
Variables
Name | Description |
---|---|
@Count@ | Saves the total number of duplicate variables per script per computer |
@SqlScriptid@ | Distinct Scriptid |
@SqlComputerid@ | Distinct Computerid |
@SqlVariable@ | Distinct Variable |
@SqlNumberofValues@ | Total number of duplicate entries for the distinct variable for the distinct computer for the distinct scriptid |
@Limit@ | @SqlNumberofValues - 1 |
%sqlresult% | Used to refresh the loop counter |
Process
Step 1: Fetch the total number of duplicate entries per scriptid, per computerid, and per variable from the scriptstate table using the following SQL query:
SELECT scriptid, variable, computerid, COUNT(*) AS NumberofValues
FROM scriptstate
GROUP BY scriptid, variable, computerid
HAVING NumberofValues > 1;
Step 2: Exit if the total number of results from the above step is zero.
Step 3: Run a loop to delete all the duplicate entries for each script state per computer per script.