The SAP ECC SQ1 system runs on a temporary license that expires every 90 days. To renew the license without manual key management, we use SWPM (Software Provisioning Manager) 1.0 SP46 to delete and recreate the Central Instance. This process automatically generates a fresh temporary license.
| SID | SQ1 |
| Instance | D00 (Dialog) + ASCS01 (msg_server + enserver) |
| Client | 800 |
| Database | Microsoft SQL Server 2012 SP1 — Instance SAP-SQL-IDES\SQ1 |
| Hostname | sap-sql-ides (10.128.0.51) |
| OS | Windows Server 2022 Datacenter |
| SSH | ssh sq1adm@10.128.0.51 |
| SWPM Location | D:\Installation\SWPM\ |
| SWPM Logs | C:\Program Files\sapinst_instdir\ |
| Saved Parameters | D:\Installation\saved_params\ |
| Profile Backup | D:\Installation\profile_backup\ |
| License Type | Temporary (90 days, NetWeaver_MSS + Maintenance_MSS) |
The license renewal requires two sequential SWPM runs:
| Phase | Action | SWPM Path | Product ID |
|---|---|---|---|
| Phase 1 | Delete Central Instance | Generic Options > MS SQL Server > Uninstall > Uninstall - SAP Systems or Single Instances | NW_Uninstall:GENERIC.IND.PD |
| Phase 2 | Recreate Central Instance | SAP Business Suite 7i 2016 > EHP8 for SAP ERP 6.0 ABAP > MS SQL Server > System Copy > Target System > Distributed System > Based on AS ABAP > Primary Application Server Instance | NW_ABAP_CI:BS2016.ERP608.MSS.CP |
NW_ABAP_DB:BS2016.ERP608.MSS.CP) does NOT generate a temporary license. The SAPLIKEY table remains empty. Do not use this approach.
1 Suspend monitoring — Suspend SQ1 alerts in the Service Monitor to avoid false alerts. Send email to SAPSpecialists: "SQ1 License Recycle — started".
2 Backup SAP profile folder — Copy \\sap-sql-ides\sapmnt\SQ1\SYS\profile\ to D:\Installation\profile_backup\, sapidesecc8, and GCS bucket.
3 Stop Instance 00 — Stop only D00. Instance 01 (msg_server + enserver) must stay running.
4 Phase 1: Delete Central Instance — Run SWPM with the Uninstall path.
5 Phase 2: Recreate Central Instance — Run SWPM with the System Copy path. Monitor and restore the profile when it gets overwritten (happens multiple times).
6 Restore profiles — Overwrite SWPM-generated profiles with the saved originals.
7 Start Instance 00 — Start SAP D00.
8 Verify license — Check transaction SLICENSE in client 800. Confirm new 90-day license.
9 Resume monitoring — Send summary email and resume SQ1 alerts.
| SWPM Path | Generic Options > MS SQL Server > Uninstall > Uninstall - SAP Systems or Single Instances |
| Product ID | NW_Uninstall:GENERIC.IND.PD |
| Install Dir | C:\Program Files\sapinst_instdir\GENERIC\MSS\UNINSTALL\AS\ |
| Saved Params | D:\Installation\saved_params\phase1_delete\ |
cd D:\Installation\SWPM sapinst.exe
D:\Installation\SWPM\sapinst.exe ^
SAPINST_INPUT_PARAMETERS_URL=D:\Installation\saved_params\phase1_delete\inifile.params ^
SAPINST_EXECUTE_PRODUCT_ID=NW_Uninstall:GENERIC.IND.PD ^
SAPINST_SKIP_DIALOGS=true ^
SAPINST_START_GUISERVER=false
| SWPM Path | SAP Business Suite 7i 2016 > EHP8 for SAP ERP 6.0 ABAP > MS SQL Server > System Copy > Target System > Distributed System > Based on AS ABAP > Primary Application Server Instance |
| Product ID | NW_ABAP_CI:BS2016.ERP608.MSS.CP |
| Install Dir | C:\Program Files\sapinst_instdir\BS2016\ERP608\MSS\COPY\SYSTEM\DISTRIBUTED\AS-ABAP\CI\ |
| Saved Params | D:\Installation\saved_params\phase2_create\ |
| Result | New 90-day temporary license (NetWeaver_MSS + Maintenance_MSS) written to SAPLIKEY table |
D:\Installation\SWPM\sapinst.exe ^
SAPINST_INPUT_PARAMETERS_URL=D:\Installation\saved_params\phase2_create\inifile.params ^
SAPINST_EXECUTE_PRODUCT_ID=NW_ABAP_CI:BS2016.ERP608.MSS.CP ^
SAPINST_SKIP_DIALOGS=true ^
SAPINST_START_GUISERVER=false
SWPM generates a new profile SQ1_D00_sap-sql-ides with default memory settings that are too high for this server. If SAP starts with the new profile, it will hang indefinitely due to excessive memory allocation.
| Local on sap-sql-ides | D:\Installation\profile_backup\ |
| sapidesecc8 | /usr/sap/sq1_profile_backup/ |
| GCS Bucket | gs://sap-hana-backint/sq1_profile_backup/ |
xcopy D:\Installation\profile_backup\*.* \\sap-sql-ides\sapmnt\SQ1\SYS\profile\ /Y /Q
The saved profile already contains abap/buffersize = 1000000 which is required for SAP to start correctly on this server.
During automated runs, poll for D:\usr\sap\SQ1\SYS\profile\SQ1_D00_sap-sql-ides to be created/modified by SWPM. Each time it changes, overwrite with the saved backup. Keep polling throughout the entire Phase 2 process.
| Health Check | Reads license expiry from sq1.SAPLIKEY table every 5 minutes |
| Monitoring Page | Live countdown (days/hours/minutes/seconds) in the SQ1 tile on SAP_Monitoring.html |
| SQ1 Cockpit | License table with Valid From/To and Status on SAP_ECC6_SQ1.html |
| Email Alert | Sent automatically 7 days before expiry to SAPSpecialists distribution list |
| Green | More than 30 days remaining |
| Amber | 8–30 days remaining |
| Red | 7 days or less — email alert sent |
| EXPIRED | License has expired — immediate renewal required |
Both phases can be run unattended using saved parameter files (SAP Note 2230669). The batch script must:
| File | Location |
|---|---|
| Phase 1 params | D:\Installation\saved_params\phase1_delete\inifile.params |
| Phase 1 encryption key | D:\Installation\saved_params\phase1_delete\instkey.pkey |
| Phase 2 params | D:\Installation\saved_params\phase2_create\inifile.params |
| Profile backup | D:\Installation\profile_backup\SQ1_D00_sap-sql-ides |
| SWPM executable | D:\Installation\SWPM\sapinst.exe |
| Issue | Solution |
|---|---|
| sapcontrol returns 401 Unauthorized via SSH | Use Windows Service Manager or powershell Stop-Service/Start-Service SAPSQ1_00 |
| SAP hangs after SWPM (memory) | Restore saved profile with abap/buffersize = 1000000 |
| SWPM overwrites profile multiple times | Continuously poll and restore during Phase 2 |
| Database Instance approach doesn't create license | Use System Copy > Primary Application Server Instance instead |
During the first successful license renewal (2026-04-16), SWPM overwrote the SAP instance profile SQ1_D00_sap-sql-ides at least twice during Phase 2, each time replacing it with a default profile that allocates too much memory for this server.
| Event | Symptom | Action Taken |
|---|---|---|
| 1st overwrite — SWPM creates new profile during Central Instance setup (~62% progress) | SAP Dispatcher went YELLOW (“Request handling without progress”), then hung completely. No work processes responding. | Manually restored SQ1_D00_sap-sql-ides from D:\Installation\profile_backup\, killed SAP processes, restarted Instance 00. SWPM resumed. |
| 2nd overwrite — SWPM regenerates profile during ActivateICM step (~93% progress) | SAP hung again at the same stage. SWPM stuck waiting for RFC response. | Restored profile again, restarted Instance 00. SWPM completed successfully after that. |
SQ1_D00_sap-sql-ides profile with default memory parameters. This server (4 vCPUs, limited RAM) cannot handle the default allocation. The original profile contains abap/buffersize = 1000000 which constrains memory to a manageable level. Without this parameter, the SAP Dispatcher allocates excessive shared memory and hangs.
D:\usr\sap\SQ1\SYS\profile\SQ1_D00_sap-sql-ides and restore from backup every time it changes. Also monitor SAP Dispatcher status and force-restart the service if it goes YELLOW for more than 2 minutes.
Download the Claude Code sq1-license skill for automated license renewal assistance on the SQ1 (SAP ECC6 on SQL Server) system:
⬇ Download sq1-license.md