Resolving WinCC V7.5 Authorization Error After Migration

David Krause16 min read
SiemensTroubleshootingWinCC
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

1. Problem Overview

After migrating a SIMATIC WinCC V7.3 project to WinCC V7.5 SP1 (and subsequent updates through V7.5 SP2), engineers encounter a persistent authorization configuration defect:

  • Opening Button Properties > Authorization in Graphics Designer displays the literal string Error in the dropdown field instead of a valid authorization level name.
  • In the User Administrator editor, the Function column (also referenced as the right-hand association column) is blank for every authorization level row.
  • The Function column cells are read-only; attempts to type or paste a value are rejected by the editor.
  • The defect survives a project recompile, a WinCC project duplicator round-trip, and a re-migration in a clean directory.
  • Both new projects created from scratch in V7.5 SP1 and migrated V7.3 projects exhibit identical symptoms, indicating that the defect originates in the migration toolchain and the project-database schema upgrade logic rather than the user's project content.

The symptom is non-destructive to runtime: a project with this defect still starts WinCC Runtime and authenticates users, but no operator action can be gated by an authorization level because the configuration binding is broken. Operators either see no restriction (if no authorization level is referenced) or the configuration becomes read-only and effectively uneditable through the WinCC Explorer GUI.

2. Affected Versions and Software Stack

Component Affected Versions Notes
SIMATIC WinCC V7.3 All update levels through Update 14 Source projects where migration originates
SIMATIC WinCC V7.4 All service packs Defect may first appear during migration
SIMATIC WinCC V7.5 Base release through SP1 Primary affected branch
SIMATIC WinCC V7.5 SP2 Released per installation readme Updated installer contains refined migration hooks; verify build against WinCC V7.5 SP2 General Information & Installation Readme
SQL Server 2014, 2016, 2017 (per WinCC V7.5 compatibility) Hosts the CC_<projectname> configuration database
Microsoft SQL Server Management Studio 2014 or later External tool required for direct database inspection and repair

The migration FAQ entry referenced in Siemens Online Support under entry ID 44029132 covers the general migration checklist from V7.x to V7.5. Apply the migration checklist first; only escalate to database-level repair if the defect persists after a clean migration in a controlled environment.

3. Root Cause Analysis

SIMATIC WinCC stores user-administration data inside the SQL Server-based project configuration database. The configuration database is named CC_<ProjectName> (for example, CC_DemoPlant) and is created by the WinCC Configuration Studio during the first project open. The User Administrator editor binds three logical constructs:

  1. Authorization levels — numeric identifiers from 0 to 999, where 0 represents "no authorization" and 1..999 are user-defined levels such as Operator, Supervisor, or Administrator.
  2. Authorization names — localized display strings stored in the Text Library, indexed by a unique line identifier.
  3. Function references — tags that map authorization levels to system functions in the runtime configuration (for example, "Picture change", "Value input", "User logout").

When V7.3 projects are migrated to V7.5, the migration routine is expected to update the configuration database schema, refresh references, and re-anchor Text Library line numbers. The defect documented here occurs when the migration routine:

  • Recreates the PW_LINE table without preserving the original LINENAME identifiers, or
  • Drops the LINENAME column entries while leaving the authorization level numbers intact, or
  • Fails to rebuild the foreign-key style binding between PW_LINE rows and the Text Library entries that the Graphics Designer authorization dropdown depends on.

The downstream effect is that when Graphics Designer queries the configuration database for the human-readable authorization name associated with a numeric level, the lookup returns a null/empty string. The WinCC front-end substitutes the literal token Error to indicate a failed lookup rather than a missing value. The User Administrator editor, which queries the same underlying rows directly, displays an empty Function column and disables the cell because the data it is supposed to display is absent from the row.

Engineering Note: The cell is read-only by design. The WinCC editor does not allow ad-hoc editing of the Function column in the GUI; values are managed at the database layer and propagated through the editor. Attempts to type into the cell will silently fail.

4. Configuration Database Architecture

Each WinCC project database contains a specific set of system tables that govern user administration. Engineers performing repair operations must understand the relationships between these tables before editing.

Table Purpose Repair Significance
dbo.PW_LEVEL Stores the numeric authorization level definitions Generally intact after migration; verify that rows match the pre-migration count
dbo.PW_USER Maps operator logon names to hashed credentials and assigned levels Not directly affected by this defect; user list remains editable
dbo.PW_GROUP Maps authorization groups to their constituent levels Verify group bindings if group-level authorization is used
dbo.PW_LINE Anchors each authorization level to a Text Library line for display strings and function references Primary repair target. Contains the LINENAME column that connects to the Text Library
dbo.MCPTVARIABLEDESC Variable name registry (informational) Not implicated in this defect
dbo.TLG_<language> Text Library tables per configured runtime language Secondary inspection target; verify line content matches PW_LINE.LINENAME

The Text Library is the canonical location for localized authorization level names. When the migration drops the LINENAME reference inside PW_LINE, the authorization levels still exist in the database but the display path is severed. Graphics Designer cannot resolve "Level 5" to a display string and substitutes Error.

5. Diagnostic Procedure

Perform the following steps before initiating any repair. Document each finding so that you can roll back if necessary.

  1. Stop the WinCC project. Close WinCC Explorer, Graphics Designer, and any open Configuration Studio windows. Stop the WinCC Runtime if it is active. The configuration database must be quiescent to avoid write contention.
  2. Back up the project. Use WinCC Explorer > Project Duplicator to create a complete duplicate in a separate directory. This duplicate preserves both the file system layout and the SQL Server database files.
  3. Identify the configuration database. In Microsoft SQL Server Management Studio, connect to the SQL Server instance that hosts the WinCC project (default: WINCC instance on the local machine, or a named instance specified during WinCC installation). Locate the database matching the pattern CC_<ProjectName>.
  4. Inspect dbo.PW_LINE. Execute the diagnostic query:
    SELECT TOP (100) [ID], [LINENAME], [LANGUAGE], [LINEID], [LINE]
    FROM [CC_<ProjectName>].[dbo].[PW_LINE];

    Expected behaviour: each row should contain a non-null LINENAME value matching a Text Library line identifier (for example, @PWLevel5 or a localized name). Defective behaviour: the LINENAME column is null, empty, or populated with stale values that do not resolve in the Text Library.

  5. Cross-check dbo.PW_LEVEL. Execute:
    SELECT [LEVEL_ID], [LEVEL_NAME], [LEVEL_COMMENT]
    FROM [CC_<ProjectName>].[dbo].[PW_LEVEL]
    ORDER BY [LEVEL_ID];

    Confirm that the level count matches the V7.3 source project. A mismatch indicates that rows were dropped during migration and must be re-created.

  6. Verify Text Library contents. Open Text Library in WinCC Explorer and locate the lines that should hold the authorization level names. If the lines are missing or empty, the migration has stripped both ends of the binding.
  7. Capture a pre-repair snapshot. Run the following to export the current state for audit:
    SELECT * INTO [dbo].[PW_LINE_PRECOPY]
    FROM [dbo].[PW_LINE];
    SELECT * INTO [dbo].[PW_LEVEL_PRECOPY]
    FROM [dbo].[PW_LEVEL];

    These _PRECOPY tables are your rollback anchor.

6. Repair Procedure A — Project-Level Workaround

Before touching the database directly, attempt the least invasive workaround. This procedure does not require SQL Server Management Studio and can be performed by any engineer with WinCC administrator rights.

  1. Open the WinCC project in WinCC Explorer on the V7.5 target system.
  2. Navigate to User Administrator and review each authorization level. Do not attempt to edit the Function column directly.
  3. Open Text Library in WinCC Explorer. Locate the entries associated with the authorization level names. If they exist and contain the expected text, the binding is at the database layer.
  4. Close the project. Use WinCC Explorer > Project Duplicator to duplicate the project to a new working directory.
  5. Open the duplicated project. The Duplicator triggers a full re-initialization of internal references and may regenerate the broken bindings.
  6. Open the User Administrator in the duplicated project. If the Function column is still empty, the database-level repair in Section 7 is required.
  7. If the duplicate project resolves the defect, promote the duplicate as the working project and re-integrate any out-of-band graphics or script edits from the original project.
Limitation: The Duplicator round-trip is most effective for projects that have not been heavily modified post-migration. If the original project has accumulated picture edits, script changes, and tag additions since the migration, the manual re-integration cost may exceed the cost of the database-level repair.

7. Repair Procedure B — Database-Level Repair via SQL Server Management Studio

This procedure directly edits the PW_LINE table to restore the binding between authorization levels and their Text Library anchors. Perform only after the diagnostic procedure in Section 5 has been completed and the _PRECOPY snapshots exist.

  1. Stop the WinCC project and WinCC Runtime. Confirm that no WinCC component holds an active connection to the CC_<ProjectName> database.
  2. Open SQL Server Management Studio and connect to the WinCC SQL instance. Expand Databases, right-click CC_<ProjectName>, and choose New Query.
  3. Verify that the PW_LINE table holds the expected number of rows. A healthy V7.5 project shows one row per authorization level per configured runtime language.
    SELECT COUNT(*) AS [LineCount]
    FROM [CC_<ProjectName>].[dbo].[PW_LINE];
  4. Inspect the actual values to confirm the defect pattern:
    SELECT [ID], [LINENAME], [LINEID], [LINE]
    FROM [CC_<ProjectName>].[dbo].[PW_LINE]
    WHERE [LINENAME] IS NULL OR LTRIM(RTRIM([LINENAME])) = '';

    Rows returned by this query are the rows whose LINENAME binding was dropped during migration. These are the rows that produce the Error display in Graphics Designer.

  5. Recreate the LINENAME bindings. The naming convention used by WinCC is @PWLevel<level_number> for the default authorization name. Re-anchor the rows:
    UPDATE [CC_<ProjectName>].[dbo].[PW_LINE]
    SET [LINENAME] = '@PWLevel' + CAST([LEVEL_ID] AS VARCHAR(10))
    WHERE [LINENAME] IS NULL OR LTRIM(RTRIM([LINENAME])) = '';

    If your project uses custom naming, substitute the actual authorization level name that matches the original Text Library entry. Refer to the LEVEL_NAME column in PW_LEVEL for the canonical name.

  6. Verify that the corresponding Text Library entries exist. Open the Text Library editor in WinCC Explorer and confirm that each repaired LINENAME has a matching line with the expected localized text. If the Text Library entries are missing, re-create them by hand in WinCC Explorer > Text Library, ensuring that the line identifier matches the value you wrote into PW_LINE.LINENAME.
  7. Re-run the defect query from step 4. It should return zero rows.
  8. Close SQL Server Management Studio. Re-open the WinCC project in WinCC Explorer.
  9. Open the User Administrator. The Function column should now display the correct authorization level identifier (for example, 1, 5, or the numeric level assigned at project creation).
  10. Open a representative graphics screen, select a button, and inspect Properties > Authorization. The dropdown should now show the authorization level name rather than the literal Error.
Caution: Direct SQL edits to the WinCC configuration database are not supported by Siemens Technical Support as a standard maintenance path. Always perform a Project Duplicator backup before any SQL edit, and document the exact T-SQL statements executed so that they can be reviewed in case of subsequent technical-support escalation. If Siemens support is required, reference the Siemens Online Support entry 44029132 (Migration FAQ for WinCC V7.3 to V7.5) when opening the case.

8. Repair Procedure C — Clean Re-Migration

If database-level repair does not restore the bindings, perform a clean re-migration. This procedure rebuilds the project from the V7.3 source.

  1. Identify the V7.3 source project. The source must be the pre-migration version, not the V7.5 file that exhibits the defect.
  2. Verify that the source is in a consistent state. Open the source in the V7.3 environment and confirm that Graphics Designer, User Administrator, and Runtime are operational.
  3. Copy the source project to a staging directory on the V7.5 host.
  4. Confirm that the V7.5 installation is at the latest available service pack. The installation readme at WinCC V7.5 SP2 General Information & Installation documents the specific migration toolchain revisions and known migration-time issues.
  5. Open the staging project with WinCC V7.5 SP2. The migration wizard runs and rewrites the configuration database.
  6. Walk through every screen that uses authorization. Verify that the Authorization field renders correctly.
  7. If the defect persists, capture the migration log, attach the V7.3 project, and escalate to Siemens Technical Support with the migration log and the diagnostic query results from Section 5.

9. Verification

After completing any of the repair procedures, perform the following verification checklist before re-activating the project for production.

Check Method Pass Criterion
Authorization dropdown content Graphics Designer > Button > Properties > Authorization Display shows the localized authorization name, not Error
Function column populated User Administrator editor Every authorization level row shows a numeric level identifier in the Function column
User login WinCC Runtime > Logon dialog A user assigned to a repaired authorization level can log on successfully
Authorization enforcement Trigger a button configured with the repaired level while logged on as a lower-privilege user Button action is blocked; message "No authorization" or equivalent is shown
User log audit User Administrator > Audit Successful logon and blocked actions are recorded in the audit trail
Runtime stability 24-hour Runtime soak test No unexpected logoffs, no SQL connection errors, no User Administrator UI freeze
Database integrity Re-run the Section 5 diagnostic queries No rows returned by the "empty LINENAME" defect query

10. Prevention and Best Practices

  • Always perform migration in a staging environment. Never migrate directly into a production project. Use the WinCC Project Duplicator to create a working copy, migrate the copy, validate the result, and only then promote the migration outcome to production.
  • Capture a pre-migration baseline. Before any migration, run the Section 5 diagnostic queries against the source project and export the results to a CSV file. The baseline gives you a measurable target for the post-migration comparison.
  • Document custom authorization names. If your project uses custom authorization names (anything other than the default Level 1, Level 2, …), maintain a separate text file that records each authorization level number, its localized name in every configured runtime language, and the Text Library line identifier. This documentation accelerates the repair if the binding is dropped.
  • Apply the latest service pack before migration. The WinCC V7.5 SP2 readme at the Siemens Online Support attachment documents which migration-time defects are addressed in the latest installer. A current service pack is the single largest preventative measure for this class of issue.
  • Review the Siemens migration FAQ. The entry 44029132 is the canonical reference for the V7.3 to V7.5 migration checklist. Apply the recommended post-migration steps: opening the project once, triggering a project recompile, and re-saving the User Administrator configuration. These steps trigger schema refresh routines that can recover bindings that would otherwise remain broken.
  • Avoid post-migration hot editing of the User Administrator. Edits to authorization levels immediately after migration can lock in the broken state. Allow the migration to complete and then perform one consolidated edit pass.
  • Restrict SQL Server Management Studio access. Only senior engineers with documented migration authority should perform direct database edits. Maintain a change log that records every T-SQL statement executed against a WinCC configuration database.

11. Troubleshooting Matrix

Symptom Likely Cause First Action Escalation
Authorization field shows Error Broken PW_LINE.LINENAME binding Run Section 5 diagnostics; check PW_LINE Apply Repair Procedure B
Function column empty in User Administrator Same root cause; GUI reflects broken database state Same diagnostics; verify with both queries Apply Repair Procedure B
Function column cells read-only By design; GUI does not permit direct edit Do not attempt cell edit; go to database layer Apply Repair Procedure B
Text Library line missing for an authorization level Migration dropped the line entry Re-create the line manually in Text Library editor Re-run migration from clean source
Authorization dropdown shows wrong level after repair PW_LEVEL.LEVEL_ID and PW_LINE.LINENAME are out of sync Re-run cross-check between PW_LEVEL and PW_LINE Repair Procedure A duplicator round-trip
User cannot log on after repair User entry references a non-existent level ID Check PW_USER.LEVEL_ID against PW_LEVEL Re-add user in User Administrator GUI
Defect persists after every repair attempt Source V7.3 project is corrupt Run WinCC project integrity check on V7.3 source Escalate to Siemens Support with migration log and project ZIP
SQL Server connection refused WinCC SQL instance stopped or firewall blocked Start SQL Server service; check Windows Firewall Verify SQL instance name in WinCC project settings

12. Field-Engineering Notes

From field reports of engineers performing the database-level repair on production plants, the following practical notes improve the success rate and reduce the time-to-recovery.

  • Always check the configuration database name. WinCC uses both a configuration database (CC_<ProjectName>) and a runtime database (RT_<ProjectName>). The user-administration bindings live in the configuration database. Repairing the runtime database has no effect on the authorization dropdown.
  • The Text Library is dual-keyed. WinCC looks up a Text Library entry by both LINENAME (string) and LINEID (numeric). Repairing LINENAME without verifying that the LINEID in the Text Library matches the row in PW_LINE can leave the binding half-repaired. Always verify both columns.
  • Multi-language projects need per-language rows. If your project runs in English and German, PW_LINE contains two rows per authorization level, distinguished by the LANGUAGE column. The defect may affect only one language; verify all rows.
  • Editing authorization levels in the GUI after SQL repair. After the database repair, perform one conservative edit (for example, rename a level, save, rename back, save) to confirm that the GUI binding is now alive. If the edit propagates, the repair is complete.
  • Audit-trail table is separate. The PWELOG or equivalent audit table is not affected by this defect. Repairing PW_LINE does not lose any historical logon records.
  • Project Duplicator does not fix the SQL state. The Duplicator copies the configuration database byte-for-byte. If the source database is broken, the duplicate is also broken. The Project Duplicator is a verification tool here, not a repair tool.

13. Frequently Asked Questions

Why does the WinCC V7.5 button Authorization field show "Error" after migrating from V7.3?

The migration routine from V7.3 to V7.5 can drop the LINENAME column values inside the dbo.PW_LINE table of the project configuration database (CC_<ProjectName>). Graphics Designer cannot resolve the human-readable authorization name from the database and substitutes the literal token Error in the dropdown. Repair the PW_LINE rows using the T-SQL procedure in Section 7 to restore the binding.

Which WinCC version first introduced this Authorization "Error" bug?

The defect is reported on projects migrated from V7.3 into V7.5 and V7.5 SP1. Projects created from scratch in V7.5 SP2 with a current installation typically do not exhibit the defect. Apply the WinCC V7.5 SP2 installer from the Siemens Online Support readme before migrating V7.3 source projects.

Can I edit the Function column directly in the User Administrator GUI?

No. The Function column in the WinCC V7.5 User Administrator editor is read-only by design. Values are written through the Text Library and the PW_LINE database table, and the GUI reflects that state. To repopulate the Function column, repair the underlying PW_LINE rows with SQL Server Management Studio as described in Section 7.

Which SQL Server table holds the WinCC authorization bindings?

The bindings live in dbo.PW_LINE inside the configuration database named CC_<ProjectName>. Each row pairs an authorization level with a Text Library identifier through the LINENAME and LINEID columns. The level definitions themselves are in dbo.PW_LEVEL and the user-to-level assignments are in dbo.PW_USER.

Is direct SQL editing of the WinCC project database supported?

Siemens does not document SQL-level editing as a standard maintenance path. Engineers performing direct edits should create a full Project Duplicator backup first, document every T-SQL statement executed, and reference Siemens Online Support entry 44029132 when escalating to Technical Support. For routine maintenance, prefer the WinCC Explorer and User Administrator GUI; reserve SQL editing for documented recovery scenarios such as the migration defect covered in this article.

Back to blog