En entornos de estaciones de operador (OS) de SIMATIC PCS 7, el error de tiempo de ejecución «No hay acceso al servidor SQL, posible pérdida de datos» ocurre cuando la instancia de Microsoft SQL Server deja de responder debido a la saturación de E/S de almacenamiento, bloqueos en los archivos de registro de transacciones o permisos de servicio dañados tras un apagado incorrecto. La solución de problemas requiere ejecutar reset_wincc.vbs, validar la pertenencia de la cuenta de servicio de SQL Server al grupo SIMATIC HMI, comprobar la latencia de las transacciones de disco y desvincular los segmentos de bases de datos huérfanos para restablecer la operación en tiempo de ejecución.
Índice de contenidos
- Papel de Microsoft SQL Server en las arquitecturas de OS de SIMATIC PCS 7
- Mecanismos de pérdida de acceso a SQL y bloqueo del sistema
- Procedimiento de recuperación inmediata: Restablecimiento de WinCC y desvinculación de bases de datos bloqueadas
- Validación de las cuentas de inicio de sesión del servicio SQL y los derechos de SIMATIC HMI
- Verificación
- Limitaciones y precauciones operativas
- Preguntas frecuentes del ingeniero
- Referencias técnicas
- Artículos relacionados
- Etiquetas relacionadas
Papel de Microsoft SQL Server en las arquitecturas de OS de SIMATIC PCS 7
La OS de SIMATIC PCS 7 (WinCC) utiliza una instancia integrada de Microsoft SQL Server (por ejemplo, la instancia WinCC) como su motor de base de datos relacional de alto rendimiento:
* Base de datos de configuración (CC_xxx): Almacena metadatos del proyecto, propiedades de pantallas gráficas, configuraciones de alarmas y definiciones de gestión de variables (tags).
* Bases de datos de tiempo de ejecución (CC_xxx_R): Almacenan estados dinámicos en tiempo de ejecución, autorizaciones de usuario y registros operacionales.
* Bases de datos de archivo (Tag Logging y Alarm Logging): Administran archivos circulares segmentados (archivos .mdf y .ldf) que registran tendencias históricas de procesos, marcas de tiempo de secuencia de eventos (SOE) y acciones del operador.
Debido a que los componentes de tiempo de ejecución de WinCC transmiten transacciones continuamente hacia SQL Server, cualquier interrupción en el acceso a la base de datos amenaza inmediatamente la integridad de los datos y congela la interfaz del operador.
Mecanismos de pérdida de acceso a SQL y bloqueo del sistema
La alarma crítica:
No hay acceso al servidor SQL, posible pérdida de datos
indica que el administrador de datos de tiempo de ejecución de WinCC (CCDataMgr.exe) o el administrador de archivos no pudo ejecutar las transacciones de lectura/escritura de SQL dentro del umbral de tiempo de espera (timeout) permitido. Las causas principales incluyen:
* Cuellos de botella de E/S de almacenamiento: Una longitud alta de la cola del disco (superior a 2) o discos duros defectuosos provocan que las operaciones de escritura se detengan, paralizando el registro de transacciones de SQL (write-ahead log).
* Apagado incorrecto / Corte de energía: Una terminación abrupta del sistema (fallo de alimentación, cierre forzado de procesos) deja las bases de datos de SQL en un estado de "Recuperación pendiente" (Recovery Pending) o "Sospechosa" (Suspect) con registros de transacciones bloqueados.
* Deriva de permisos de seguridad: La cuenta de servicio de Windows de SQL Server pierde el derecho requerido de Iniciar sesión como servicio o es eliminada del grupo de seguridad local SIMATIC HMI.
* Crecimiento de archivos de base de datos: La falta de segmentación automática de archivos provoca que los archivos de registro de transacciones (.ldf) llenen toda la partición física del disco.
Procedimiento de recuperación inmediata: Restablecimiento de WinCC y desvinculación de bases de datos bloqueadas
Cuando una estación OS experimenta un bloqueo de SQL:
1. Desactivar el tiempo de ejecución: Intente desactivar el tiempo de ejecución de WinCC de forma limpia a través de WinCC Explorer. Si la interfaz está congelada, abra el cuadro de diálogo Ejecutar de Windows (Win + R), escriba reset_wincc.vbs y presione Intro. Este script finaliza de manera limpia todos los procesos de WinCC en ejecución y libera los bloqueos de SQL.
2. Iniciar SQL Server Management Studio (SSMS):
* Abra SSMS y conéctese a la instancia del servidor local .\WINCC utilizando la Autenticación de Windows.
* Expanda Bases de datos (Databases). Inspeccione las bases de datos del proyecto (CC_ProjectName y CC_ProjectName_R).
* Si alguna base de datos está marcada como (Recuperación pendiente) o (Sospechosa), revise el registro de errores de SQL Server para ver los marcadores de corrupción específicos.
3. Desvincular bases de datos de proyectos huérfanas:
* Si el proyecto se niega a abrir, haga clic derecho en la base de datos, seleccione Tareas -> Desvincular... (Tasks -> Detach...), marque Eliminar conexiones (Drop Connections) y haga clic en Aceptar.
* La desvinculación borra los bloqueos de tiempo de ejecución y permite que WinCC Explorer vuelva a vincular controladores de bases de datos limpios al reiniciarse.
4. Inspeccionar la capacidad y el estado del disco:
* Verifique todas las particiones de unidades físicas (especialmente C: y la unidad de archivado D:). Asegúrese de que quede al menos un 20% de espacio libre.
* Compruebe el Visor de eventos de Windows en Sistema para ver errores de tiempo de espera del controlador de disco o fallos de escritura NTFS.
Validación de las cuentas de inicio de sesión del servicio SQL y los derechos de SIMATIC HMI
Los servicios de SQL Server requieren credenciales de seguridad específicas para interactuar con WinCC:
1. Abra Servicios de Windows (services.msc).
2. Localice el servicio SQL Server (WINCC).
3. Haga doble clic para abrir Propiedades y seleccione la pestaña Iniciar sesión (Log On).
4. Asegúrese de que el servicio inicie sesión utilizando la cuenta local dedicada (por ejemplo, NT Service\MSSQL$WINCC o una cuenta de sistema local administrativa configurada).
5. Abra Administración de equipos -> Usuarios y grupos locales -> Grupos (Computer Management -> Local Users and Groups -> Groups).
6. Abra el grupo SIMATIC HMI: verifique que la cuenta de servicio de SQL y la cuenta operativa activa de Windows sean miembros explícitos.
7. Ejecute la utilidad SIMATIC Security Controller y haga clic en Repetir configuración (Repeat Settings) para volver a aplicar todos los derechos certificados de seguridad de carpetas y DCOM en los directorios de datos de SQL.
8. Reinicie la estación OS.
Verificación
- Inicie WinCC Explorer y abra el proyecto OS; confirme que la base de datos del proyecto se carga sin errores de conexión SQL.
- Active el tiempo de ejecución de WinCC: verifique que las pantallas de procesos gráficos muestren valores en tiempo real.
- En Alarm Logging, compruebe que las alarmas históricas se muestren sin banners de advertencia.
- En un par de servidores OS redundantes, verifique a través de la barra de herramientas de Redundancy Control que ambos servidores logren la sincronización completa sin alarmas activas de pérdida de SQL.
Limitaciones y precauciones operativas
- Nunca ejecute comandos manuales de SQL como
DROP,ALTERoDELETEdirectamente en las tablas de la base de datos interna de WinCC sin la orientación explícita del Soporte al Cliente de Siemens. - En configuraciones de servidores OS redundantes, nunca realice operaciones de desvinculación o restablecimiento de bases de datos en ambos servidores simultáneamente; asegúrese de que un servidor permanezca en línea como maestro activo.
- Asegúrese de que el software antivirus de terceros excluya todas las carpetas de proyectos SQL de WinCC y directorios de archivos (.mdf, *.ldf) del análisis de archivos en tiempo real.
Preguntas frecuentes del ingeniero
- ¿Qué hace
reset_wincc.vbsdurante un bloqueo de la OS?
Ejecuta un script automatizado que finaliza de forma segura todos los procesos en segundo plano de WinCC colgados, desconecta los controladores COM y descarga las DLL bloqueadas. - ¿Dónde se encuentra el script
reset_wincc.vbsen una estación OS?
Se encuentra en el directorio de instalación de WinCC bajoC:/Program Files (x86)/Siemens/WinCC/bin/reset_wincc.vbs. - ¿Por qué un apagado incorrecto hace que las bases de datos SQL entren en modo Sospechoso (Suspect)?
Porque los registros de transacciones activos no se volcaron al disco, lo que deja encabezados de página incompletos que fallan en la validación de consistencia de SQL durante el inicio. - ¿Puede un uso elevado de la CPU desencadenar la alarma 'No hay acceso al servidor SQL'?
Sí, un déficit grave de CPU puede hacer que los tiempos de ejecución de las consultas SQL superen el umbral de tiempo de espera del Administrador de datos de WinCC. - ¿Cómo evito que los archivos de archivo de WinCC consuman todo el espacio disponible en el disco duro?
Configure los límites adecuados de archivos circulares en WinCC Tag Logging y Alarm Logging, especificando el tamaño total máximo y el período de tiempo máximo. - ¿Debería instalarse SQL Server Management Studio (SSMS) en cada cliente OS?
No, SSMS es una herramienta de diagnóstico recomendada principalmente para estaciones de ingeniería y servidores OS, no para clientes operadores. - ¿Qué grupo de usuarios otorga acceso de aplicaciones a las bases de datos SQL de WinCC?
El grupo local de WindowsSIMATIC HMIotorga los privilegios necesarios para acceder a las instancias SQL de WinCC. - ¿Cómo se recupera la redundancia de OS después de que un servidor sufre una pérdida de datos SQL?
Una vez que el servidor fallido se repara y reactiva, WinCC Redundancy ejecuta automáticamente una sincronización de archivos desde el servidor asociado en buen estado. - ¿Puede el software antivirus bloquear los archivos de la base de datos SQL de WinCC?
Sí, el análisis agresivo de archivos en tiempo real por parte del antivirus puede bloquear los archivos.mdfo.ldf, activando alarmas de pérdida de acceso a SQL. - ¿Dónde se almacenan los registros de errores de SQL Server en una instalación de PCS 7?
En la ruta de instalación de SQL, típicamente enC:/Program Files/Microsoft SQL Server/MSSQLxx.WINCC/MSSQL/Log/ERRORLOG.
Referencias técnicas
- SIMATIC HMI WinCC V7.4 / V7.5 Manual del Sistema de Información de WinCC
- Manual de Servidores Tolerantes a Fallos de SIMATIC PCS 7 OS (V9.0 / V9.1)
- Entrada de Siemens Industry Online Support: Pérdida de acceso al servidor SQL de WinCC (ID de entrada 298664)
- Guía de solución de problemas del motor de base de datos de Microsoft SQL Server
Artículos relacionados
- Solución de problemas de alarmas faltantes de archivos a largo plazo de CEMAT en múltiples PLC en PCS 7
- Configuración y gestión de Alarm Logging y sistemas de mensajes en SIMATIC PCS 7 OS
Etiquetas relacionadas
PCS 7, WinCC, SQL Server, pérdida de datos, reset_wincc, SIMATIC HMI, Archive Logging, base de datos, redundancia, diagnóstico