Resolving SQL Server WINCC Instance Startup Errors 2775 and 912 in SIMATIC PCS 7

Resolving SQL Server WINCC Instance Startup Errors 2775 and 912 in SIMATIC PCS 7

In SIMATIC PCS 7, Microsoft SQL Server startup failures for the WINCC instance exhibiting Error 2775 ('The code page 65001 is not supported by the server') and Error 912 ('Script level upgrade for database master failed') are caused by enabling Windows beta UTF-8 worldwide language support. Microsoft SQL Server requires standard Windows ANSI/OEM code pages and does not support system code page 65001. To resolve this, open Windows Control Panel > Region > Administrative > Change system locale, uncheck 'Beta: Use Unicode UTF-8 for worldwide language support', restart Windows, and start the SQL Server (WINCC) service.

Table of Contents

Executive Summary

During SIMATIC PCS 7 or WinCC installation and maintenance on Windows 10 or Windows Server operating systems, engineers may encounter a critical failure where the SQL Server (WINCC) service fails to start, reporting: 'The request failed or the service did not respond in a timely fashion.' Inspecting the SQL Server error log (ERRORLOG.txt located in C:\Program Files (x86)\Microsoft SQL Server\MSSQL<xx>.WINCC\MSSQL\Log) reveals fatal errors: Error 2775: The code page 65001 is not supported by the server followed by Error 912: Script level upgrade for database master failed because upgrade step msdb110_upgrade.sql encountered error 200.

This fatal startup failure halts WinCC Explorer and prevents project opening. The root cause lies in Windows Regional Settings: enabling the Windows feature 'Beta: Use Unicode UTF-8 for worldwide language support' sets the active system code page to CP_UTF8 (65001). Microsoft SQL Server 2014, 2016, and 2017 instances utilized by PCS 7 do not support system code page 65001, causing internal database initialization scripts to crash. This guide details the exact diagnosis and remediation procedure to restore SQL Server startup.

Architecture and Fundamental Mechanics

The interaction between the Windows operating system locale and Microsoft SQL Server internals dictates database initialization behavior:

  1. Windows System Code Page Architecture:
    - Windows NT systems maintain an active system code page (ANSI code page) that governs non-Unicode string conversion in legacy Win32 APIs.
    - Traditional English/Western European locales use Windows-1252 (CP 1252), while German and other regional locales use their respective standard ANSI code pages.
    - In modern Windows 10 and Windows Server versions, Microsoft introduced an experimental checkbox: 'Beta: Use Unicode UTF-8 for worldwide language support'. Selecting this option forces Windows to report code page 65001 (UTF-8) as the system ANSI code page.

  2. SQL Server Startup and Script-Level Upgrades:
    - When the SQL Server (WINCC) service initializes, it mounts system databases (master, model, msdb) and executes internal maintenance SQL scripts (e.g., msdb110_upgrade.sql).
    - Microsoft SQL Server query processing and text-sorting engines require valid ANSI/OEM collation tables defined in the master database.
    - Code page 65001 is fundamentally incompatible with the underlying collation engine in SQL Server 2014/2016/2017. Upon encountering code page 65001 during script execution, the server issues Error 2775, Severity: 17, State: 12.

  3. Database Recovery Failure:
    - Because msdb110_upgrade.sql fails during startup, SQL Server marks the master database upgrade as incomplete (Error 912).
    - In accordance with relational database integrity guarantees, SQL Server issues Error 3417: Cannot recover the master database and immediately terminates the service process (sqlservr.exe), preventing WinCC runtime or configuration from launching.

Step-by-Step Implementation Procedure

Follow these steps to revert the Windows UTF-8 beta setting and restore SQL Server functionality:

  1. Locate and Review SQL Server Error Log:
    - Open Windows File Explorer and navigate to the WinCC SQL Server log folder (typically C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.WINCC\MSSQL\Log\ for PCS 7 V9.0 or MSSQL14.WINCC for PCS 7 V9.1).
    - Open ERRORLOG.txt in a text editor.
    - Search for Error: 2775 to confirm the presence of 'The code page 65001 is not supported by the server'.

  2. Open Windows Regional Administrative Settings:
    - Press Win + R, type intl.cpl, and press Enter to launch the Region control panel.
    - Switch to the 'Administrative' tab.
    - In the 'Language for non-Unicode programs' section, click the 'Change system locale...' button (administrative privileges required).

  3. Disable the UTF-8 Beta Option:
    - In the 'Region Settings' dialog, inspect the bottom checkbox: 'Beta: Use Unicode UTF-8 for worldwide language support'.
    - If checked, UNCHECK this checkbox immediately.
    - Ensure the 'Current system locale' is set to a supported language matching your PCS 7 language edition (e.g., 'English (United States)' or 'German (Germany)').
    - Click 'OK' to apply changes.

  4. Restart the Operating System:
    - Windows will prompt: 'You must restart Windows for the changes to take effect'.
    - Click 'Restart now' to perform a complete system reboot.

  5. Verify SQL Server Service Startup:
    - After rebooting, press Win + R, type services.msc, and press Enter.
    - Scroll down to find SQL Server (WINCC).
    - Confirm that the service status is 'Running' and the startup type is 'Automatic'.
    - If the service is stopped, right-click and select 'Start'.

  6. Validate WinCC Project Access:
    - Launch SIMATIC Manager or WinCC Explorer.
    - Open your PCS 7 project to confirm that the WinCC CS database connects cleanly without SQL errors.

Verification

  1. Open C:\Program Files (x86)\Microsoft SQL Server\MSSQL<xx>.WINCC\MSSQL\Log\ERRORLOG.txt.
  2. Verify that the startup sequence concludes with 'Recovery is complete' and 'SQL Server is now ready for client connections'.
  3. Open SIMATIC WinCC Explorer: open an OS project and verify that the Project Properties dialog opens without error pop-ups.
  4. Activate WinCC Runtime: confirm that process communication, alarm logging, and historical tag archiving operate normally.

Limitations and Operational Precautions

Changing the Windows system locale can impact the rendering of non-Unicode text files created under different regional languages. Never enable experimental or beta operating system features on dedicated industrial automation engineering stations or runtime servers. Software licensing for WinCC and SQL Server runtime editions must comply with Siemens compatibility matrices and should be verified through an authorized Siemens distributor or the Siemens Industry Mall.

Engineer FAQ

Why does code page 65001 cause SQL Server to fail?

Code page 65001 represents UTF-8 encoding, which is incompatible with the legacy collation tables required by SQL Server 2014/2016/2017 during internal script-level upgrades.

What does Error 912 indicate during SQL startup?

Error 912 indicates that an internal maintenance script (such as msdb110_upgrade.sql) failed to complete during database startup, forcing the server to shut down to prevent data corruption.

Where is the SQL Server WINCC error log located?

In C:\Program Files (x86)\Microsoft SQL Server\MSSQL<Version>.WINCC\MSSQL\Log\ERRORLOG.txt.

Does disabling the UTF-8 beta option damage my PCS 7 project?

No. Disabling this beta setting restores standard Windows ANSI encoding (such as CP 1252), which is the validated configuration required by SIMATIC PCS 7.

Can I run SQL Server on Windows with non-English locales?

Yes, standard non-English locales (such as German, French, or Italian) are fully supported as long as the beta UTF-8 worldwide language checkbox remains unchecked.

Technical References

Related Articles

Related Tags

  • SQL Server
  • WINCC Instance
  • Error 2775
  • Error 912
  • Code Page 65001
  • PCS 7 V9.1
20 respuestas