SAPInst May Run Slowly on Windows 2012 or Windows 2012 R2
Almost all SAP products are now supported on Windows 2012 and SAP are in the process of certifying Windows 2012 R2. Windows 2012 introduced a new feature called SMB 3.0. Windows 2012 R2 introduces SMB 3.02 with support for running SQL Server over SMB. SMB 3.0 features may cause SAPInst to run slowly. There is a SAP Note and a Microsoft KB article that describes the issue and how to resolve it.
1. How to Resolve the Issue?
Before running SAPInst on Windows 2012 or Windows 2012 R2 read SAP Note 1823833 - Accessing shares via SMB3.0 can result in long waiting times and Microsoft “Delayed error message when you try to access a shared folder that no longer exists in Windows Server 2012”.
2. What is SMB 3.0 and Why Can This Cause SAPInst to Become Slow?
Server Message Block (SMB) was a protocol first developed by IBM and has been greatly enhanced by Microsoft. SMB 3.0 protocol released with Windows 2012 is a major enhancement over previous SMB implementations. One of the major enhancements in SMB 3.0 is Transparent Failover and node fault tolerance. Transparent failover allows SMB 3.0 sessions to preserve file handles and other attributes even when a SMB share fails over from one host to another. SMB 3.0 uses retry and reroute logic to allow a SMB 3.0 client to reconnect to a SMB 3.0 share. This can lead to up to 30-60 seconds per retry. SAPInst does many calls to the \<local hostname>SAPMNT or SAPLOC during installation in order to test if an SAP application instance is installed.
3. Exact Details of the Change?
The change required is a simple registry change.
1. Swipe in from the right edge of the screen, and then tap Search. Or, if you are using a mouse, point to the lower-right corner of the screen, and then click Search.
2. In the search box, type regedit, and then tap or click regedit. lapse this imageExpand this
If you are prompted to enter an administrator password, type the password. If you are prompted to provide confirmation, provide confirmation.
3. Locate and then tap or click the following registry subkey:
4. On the Edit menu, point to New, and then tap or click DWORD Value.
5. Type DisableCARetryOnInitialConnect.
6. Press and hold or right-click DisableCARetryOnInitialConnect, and then tap or click Modify.
7. In the Value data box, type 0, and then tap or click OK.
Exit Registry Editor.
4. Can the Registry Change Be Automated?
Yes, it is possible to make the change into a .REG file and merge this with the registry on each server.
1. Open Notepad
2. Paste in the following text
Windows Registry Editor Version 5.00
3. Save file as “KB 2820470 Reg Change.REG”
4. Copy “KB 2820470 Reg Change.REG” to each server
5. Right click on file and select “Merge”
Another option is to use PowerShell commands
1. Open Powershell
2. Paste the following command
New-ItemProperty -Path HKLM:SYSTEMCurrentControlSetServicesLanmanWorkstationParameters -Name DisableCARetryOnInitialConnect -PropertyType dword -value "0"
Another option is to use a Group Policy as explained in this blog.
Important Notes, Blogs, Whitepapers and Links
Links and content in this blog are used under Fair Use guidelines