Community Tip - Learn all about PTC Community Badges. Engage with PTC and see how many you can earn! X
Version: Windchill 12.0
Use Case: Hello, I've reached the 10GB limitation on SQL Express and would like to know if I move the database to SQL Enterprise is there any documentation in terms of reconfiguring Windchill to point to the new SQL database? I couldn't find any documentation related to my question. When I initially setup Windchill I was advised by a PTC rep during the call to use SQL Express although I had SQL Enterprise already installed on the existing server that had other databases unrelated to Windchill. I am just looking for any documents out there if I move the database to SQL enterprise and what will need to happen in order to reconfigure Windchill to the new SQL database location. Thanks so much.
Description:
When creating a new product picking any template getting the error message
ATTENTION: A persistence error occurred.
A persistence error occurred. Contact your adminstrator.
SQL Server Express edition has never been a supported database for Windchill, so you won't find any documentation on it. Windchill only supports SQL Server Standard or Enterprise editions. SQL Server Developer edition is the free version of Enterprise edition. It is not officially supported, but it is so close to being Enterprise Edition that we can safely use it for development systems (not production or other 'persistent' instances like training, failover, etc.).
Try asking ChatGPT "convert SQL Server 2019 Express to Enterprise edition".
It suggests two paths forward:
A. Backup the database from the Express instance and restore to the shared Enterprise instance, with a few additional steps...
B. Upgrade Express to Developer on the current Express server, upgrade Developer to Enterprise, and finally backup and restore to your shared Enterprise instance.
When the database has been ported to the SQL Server Enterprise Edition instance, Windchill just points to the database with these properties in site.xconf.
<!-- DB -->
<Property name="wt.db.dataStore"
overridable="true"
targetFile="codebase/wt.properties"
value="SQLServer"/>
<Property name="wt.pom.jdbc.host"
overridable="true"
targetFile="db/db.properties"
value="{SQL hostname}"/>
<Property name="wt.pom.jdbc.port"
overridable="true"
targetFile="db/db.properties"
value="{SQL Server port}"/>
<Property name="wt.pom.jdbc.service"
overridable="true"
targetFile="db/db.properties"
value="{DB instance name (or blank if using default instance)}"/>
<Property name="wt.pom.jdbc.database"
overridable="true"
targetFile="db/db.properties"
value="{Windchill DB name}"/>
<Property name="wt.pom.dbUser"
overridable="true"
targetFile="db/db.properties"
value="{Windchill DB username}"/>
<Property name="wt.pom.dbPassword"
overridable="true"
targetFile="db/db.properties"
value="encrypted.wt.pom.dbPassword"/>
Set them using xconfmanager:
xconfmanager -t db/db.properties -s wt.pom.jdbc.host={SQL hostname} -s wt.pom.jdbc.port={SQL Server port} -s wt.pom.jdbc.service={DB instance name (or blank if using default instance)} -s wt.pom.jdbc.database={Windchill DB name} -s wt.pom.dbUser={Windchill DB username} -s wt.pom.dbPassword={Windchill DB user password} -p
