When upgrading cores in a SQL Replication environment there are several things to keep in mind. The main thing to keep in mind when upgrading is the architecture of your SQL environment. When SQL Replication is set up, using the LANDESK SQL Replication Utility, it will apply a view for each table in the LDMS database. In addition, it will also create Replication Articles use those views so SQL can copy data from each Publication into the rollup(Subscriber) core database. As a result, each view will lock your table from the schema being altered or deleted, and the View is locked due to its use as an Article in the Publication. This can cause issues when running the installer to upgrade your cores, and it's recommended that you contact support and notify them of any issues you have while trying to upgrade a single core in SQL Replication environment. Though the installation errors may vary, it will always mention an issue when it detected that you had a SQL Replication environment when running the installer. It's important for support to have the installation logs so engineering can fix issues like this going forward. The workaround for such issues is to delete the publication for that database which we will cover later in this article.
What's the Recommended LDMS Upgrade Method when using SQL Replication?
With the introduction above, you might be wondering what method you should use when you have SQL Replication in your environment. In a typical rollup environment, let's give the following example:
In this typical environment (left image), we'd want to first upgrade the child core's first. This will keep us from having to snapshot entire databases every time we upgrade, and limit the amount of data that has to transfer between database to just the new data. Once all of your child core's are upgraded to the version you plan to install, then you can upgrade the rollup core last.
To upgrade a single core, it's important to make sure that you are no longer replicating the data from that database. The installer should handle this for you to help minimize the amount of snapshots that would need to occur in a typical upgrade. However, if you run into issues running the installer on a replicated core, it may be necessary to delete the publication and the replication views (in that order).
To do this, you'll simply need to open the replication utility on your rollup core and delete the core that your upgrading from the utility until you've finished upgrading that core. Once this process is finished and you've successfully upgraded all of your child cores, then you can upgrade your rollup core and use the utility to re-add all of the cores back to the utility. At that point, you'll process a new snapshot for each core automatically and SQL Replication will attempt to re-apply all of your data to the rollup database.