Upgrading my SAP NetWeaver system to SQL Server 2016
Since SAP released the support for SQL Server 2016 to some products based on SAP NetWeaver – not all products are currently supported, see SAP Note 2201059 – I was preparing my test systems to upgrade to SQL Server 2016. I took me 2 days to complete all the necessary steps to upgrade the database to SQL Server 2016.
My system is a SAP NetWeaver 7.50 (initial shipment, no SPS), ABAP stack,running on SQL Server 2014 SP2, central system with DB and ASCS/DI installed on the same host.
Before going forward I took some time to review the existing SAP documentation about SQL Server 2016. I started with the “Upgrade to and Installation of SQL Server 2016” guide (edit 29/11/2017: the database guides have moved, so the link was broken. You can find the new guides in this wiki. Check also this blog as well) . Another good reading I had was Seabastian’s blog post on MSDN “How to install or upgrade SAP Systems to SQL Server 2016“.
I used SPAM to apply the required SAP BASIS in my system, as it made no much sense to use SUM – be careful, if you’re doing a NEW installation on SQL Server 2016, you cannot use SPAM to apply the minimum required SPS for NetWeaver, you have to use SUM – see SAP Note 2201060. After the SPAM update and updating SAP_BASIS, SAP_ABA and SAP_BW packages to SPS 05 each of them (and other dependency packages like SAP_GWFND, SAP_UI and ST-PI), I was ready forthe upgrade, but I had to download the media.
Download of SQL Server 2016 and SWPM
As SAP employee I have access to such media for internal testing. But if you’re a customer or a partner, and acquired SQL Server from SAP, you would have to consider the changes in licensing terms of SQL Server described in SAP Note 2139358, before downloading the SQL Server you have to follow the steps described in the note. If you acquired SQL Server from Microsoft or any other re-seller, you cannot download the media from SAP, only the installation framework – see SAP Note 2313067.
So I’ve downloaded the DVD number 51051068 (consider always checking SAP Note SAP Note 2313067 for the most current DVD number). It already contains the CU1 for SQL Server 2016 RTM, which as of 16/10/2016 is the minimum supported by SAP (see SAP Note 62988), but I decided to go for CU2, which is the most recent available. Personally, I use this non-official blog for getting the SQL Server builds and versions, but if you’re more comfortable with official links, you can use the MS KB article 321185. I also downloaded the most recent version of SWPM available at http://support.sap.com/sltoolset.
Running the upgrade
I stopped the SAP system and took a FULL database backup from my system (I forgot to mention – I took other full backup before applying the SPAM and SPS updates). The SQL Server upgrade took just a few minutes to complete. The next step would run the SAP Tools for MS SQL Server to complete the upgrade (see SAP Note 683447). This is a very important (and mandatory step), as monitoring objects from DBACockpit are subject to change between different releases – and they’re maintained mostly based on SQL Server release. There are also basis and application component objects that are bound to SQL Server specific release and the database compatibility level, they are all adjusted by SWPM.
Conclusion and next steps
There were some interesting changes with SQL Server 2016. For example, the trace flag 2371 is no longer necessary – it is now part of SQL Server database engine by default (see SAP Note 2263545). Trace flags 1117 and 1118 were replaced by database configurations (see SAP Note 2294688). Interesting thing is that SWPM is not removing the trace flags 1117 and 1118 for now, only 2371 was removed, so I had to remove them from the startup parameters manually. Although they are no longer required, they will not cause any alert, error or harm to the system. The trace flag 9481 is still present, so I am still using the old Cardinality Estimation (see SAP Note 1961467).
Next, I have an identical hardware that I will install SQL Server 2016 and also implement AlwaysOn Availability Groups (see SAP Note 1772688). I will follow Jurgen’s blog post about the new features for AlwaysOn on SQL Server 2016 as I’m really excited about the new seeding option, and I also find very tedious to manually create them.
For a complete list about what is new in SQL Server 2016, check books online,