Caso
El dispositivo se declaró en el Power Monitoring Expert (PME) y ha estado registrando datos, formas de onda y/o eventos a lo largo del tiempo. Por cualquier razón, los datos del dispositivo ya no son necesarios y se requiere borrar cualquier dato relacionado con este dispositivo de la base de datos.
Línea de producto
Struxure Power Monitoring 7.0.X
Power Monitoring Expert 7.2.x
Power Monitoring Expert 8.x
Power Monitoring Expert 9.0
Power Monitoring Expert 2020
Power Monitoring Expert 2021
Power Monitoring Expert 2022
Power Monitoring Expert 2023
Entorno
SQL Server Management Studio
ION Databases
Resolución
Advertencia: pueden ocurrir daños irreparables en la base de datos. Este procedimiento debería ser realizado por personal familiarizado con SQL Server Management Studio. Se tendría que realizar una copia de seguridad de la base de datos antes de realizar cualquier cambio en la base de datos.
1. Realizar una copia de seguridad de las bases de datos:
- ION_Network
- ION_Data
- ApplicationModules
- ION Log Inserter service
- ION Application Modules Core Services Host
- ION Application Modules Core Servicesx64 Host
- ION Application Modules Data Services Host
- ION Application Modules Data Servicesx64 Host
- ION Application Modules Provider Engine Host
- ION Application Modules Provider Enginex64 Host
Nota: algunos servicios se han renombrado para mayor claridad. A continuación se indican algunos de los servicios para otras versiones de software.
PME 9.0 - PME 2022:
PME 7.2.x - PME 8.x:
SPM 7.0.x:
3. Abrir el Management Console y localizar en el listado de dispositivos el dispositivo a borrar. Tomar nota del "GroupName.DeviceName" del dispositivo ya que esta información va a ser necesaria más tarde para configurar el SQL script.
Nota: es posible que el dispositivo no esté en Management Console. Si este es el caso, es probable que ya se conozca el "GroupName.DeviceName" completo porque es un dispositivo seleccionable en un informe. Los dispositivos que se han eliminado del Management Console y tienen datos en la base de datos ION_Data tienen su nombre guardado en la tabla ION_Data dbo.Source. Además, pueden seleccionar la opción de mostrar dispositivo históricos en el Management Console en la parte inferior derecha.
4. Si se ha cambiado el nombre de los dispositivos que se eliminarán, entonces se debe hacer referencia a la columna "Name" en la tabla ION_Network dbo.SRC_Source para obtener el nombre de dispositivo adecuado para ingresar en el script porque los scripts adjuntos hacen referencia a la columna "Name" de la Bases de datos ION_Data (no la columna DisplayName). Siga los pasos a continuación para confirmar el nombre de un dispositivo:
1. Expandir la tabla ION_Network
2. Haced click derecho en la tabla dbo.SRC_Source y seleccionar las 1000 primeras filas con el comando "Select top 1000 rows".
3. Buscad el dispositivo en cuestion o bien filtrad por el DisplayName como en la siguiente imagen:
4. En este ejemplo se usa el nombre del dispositivo como en el string debajo en la columna "Name":
- GroupName = "Test"
- DeviceName = "Old"
- Asegúrese de eliminar esta fuente de cualquier alarma de software configurada o programa VIP o el sistema recreará la fuente y creará errores en el registro del sistema.
7. Una vez que todos los dispositivos hayan sido documentados por "GroupName.DeviceName" y eliminados de Management Console, se deben configurar los siguientes scripts SQL para eliminar cada dispositivo individualmente.
8. Descargue la versión correcta del script para la versión de PME que se está utilizando y siga los pasos apropiados:
- Para PME9.0 o posterior:
2. Llame al procedimiento almacenado para eliminar el dispositivo:
GO
spDM_DeleteSourceAndBatchDeleteData 'GroupName.DeviceName'
GO
3. Si es necesario eliminar varios dispositivos, descargue "PME2020 SQLQuery para eliminar varios dispositivos 3.sql" y enumere los dispositivos en la sección Values manteniendo las comillas simples para que llame al procedimiento almacenado creado en el paso 1 para tantos dispositivos como sea posible. según sea necesario
- Para SPM 7.0 a PME 8.x
2. Hacia la parte superior de los scripts adjuntos, hay un segmento de código similar a este:
-- will need to put in group and name for device to be deleted - in this example device name is 'test.8600'
SET @oldGroupName = 'test'
SET @oldDeviceName = '8600
3. Reemplace 'test' con el "GroupName" documentado anteriormente para los dispositivos físicos. Asegúrese de dejar las comillas simples.
4. Reemplace '8600' con el "DeviceName" documentado anteriormente. Asegúrese de dejar las comillas simples.
5. Guarde y luego ejecute el script SQL.
6. Reinicie los servicios detenidos al inicio de este procedimiento.
- Para dispositivos virtuales en SPM 7.0.x a PME 8.x
2. Hacia la parte superior de los scripts adjuntos, hay un segmento de código similar a este:
-- replace test with the name of your virtual device
SET @VirtualMeterName = 'test'
3. Reemplace 'prueba' con el "Nombre del dispositivo" del dispositivo virtual. Asegúrese de dejar las comillas simples.
4. Guarde y luego ejecute el script SQL.
5. Reinicie los servicios detenidos al inicio de este procedimiento.
Nota: los dispositivos virtuales no contienen un "." para separar el GroupName del DeviceName.
Puede que sea necesario eliminar entradas asociadas con las entradas de dbo.Gate. Esto se puede hacer con la siguiente consulta SQL, después de reemplazar "test.8600" con el "GroupName.DeviceName" correcto.
DECLARE @find varchar(250)
SET @find = 'A.TestRemove';
DECLARE @ChannelID_Temp int
Set @ChannelID_temp = (SELECT ChannelID from PortChannelAffinity Where PortID in (SELECT ID FROM Port WHERE GateID in (SELECT ID FROM Gate WHERE name like @find)))
DELETE FROM connectionRequest WHERE PortID in (SELECT ID FROM Port WHERE GateID in (SELECT ID FROM Gate WHERE name like @find))
DELETE FROM Security WHERE DeviceID in (Select ID FROM Device WHERE PortID in(SELECT ID FROM Port WHERE GateID in (SELECT ID FROM Gate WHERE name like @find)))
DELETE FROM Device WHERE PortID in (SELECT ID FROM Port WHERE GateID in (SELECT ID FROM Gate WHERE name like @find))
DELETE FROM PortState WHERE PortID in (SELECT ID FROM Port WHERE GateID in (SELECT ID FROM Gate WHERE name like @find))
DELETE FROM PortChannelAffinity WHERE PortID in (SELECT ID FROM Port WHERE GateID in (SELECT ID FROM Gate WHERE name like @find))
DELETE FROM Channel WHERE ID = @ChannelID_temp
DELETE FROM Port WHERE GateID in (SELECT ID FROM Gate WHERE name like @find)
DELETE FROM Gate WHERE name like @find
Publicado para: Schneider Electric España

