<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Running SAP Applications on the Microsoft Platform</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/saponsqlserver/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/feed.xml</link>
    <description>This blog provides information about running SAP Applications on the Microsoft Platform. The blog is written by people who are working with SAP on the Microsoft Platform for decades.</description>
    <lastBuildDate>Mon, 20 May 2019 17:54:53 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>New BLOG location</title>
      <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/new-blog-location</link>
      <pubDate>Mon, 20 May 2019 17:53:51 GMT</pubDate>
      <dc:creator><![CDATA[Juergen Thomas - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/saponsqlserver/?p=9275</guid>
      <description><![CDATA[After many years being hosted on blogs.msdn.com, we moved our blog to the Techcommunity site of...]]></description>
      <content:encoded><![CDATA[After many years being hosted on blogs.msdn.com, we moved our blog to the Techcommunity site of Microsoft. The link to our new blog site, which also contains the old articles is

<a href="https://techcommunity.microsoft.com/t5/Running-SAP-Applications-on-the/bg-p/SAPApplications">https://techcommunity.microsoft.com/t5/Running-SAP-Applications-on-the/bg-p/SAPApplications</a>

We hope to serve you well on the new site]]></content:encoded>
    </item>
    <item>
      <title>SAP on Azure High Availability Systems with Heterogenous Windows and Linux Clustering and SAP HANA</title>
      <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/sap-on-azure-high-availability-systems-with-heterogenous-windows-and-linux-clustering-and-sap-hana</link>
      <pubDate>Tue, 12 Mar 2019 10:46:54 GMT</pubDate>
      <dc:creator><![CDATA[GoranCondric]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/saponsqlserver/?p=9225</guid>
      <description><![CDATA[SAP HANA is the well-known technology from SAP, powering different SAP applications like SAP S/4...]]></description>
      <content:encoded><![CDATA[<span>SAP HANA is the well-known technology from SAP, powering different SAP applications like SAP S/4 HANA, SAP BW for HANA, SAP Business Suite on HANA, etc.  </span>

<span>High availability (HA) is a current commodity and must-have feature expected by many SAP customers running their productive SAP HANA systems in the Azure cloud.</span>

<span>SAP HANA runs only on Linux distributions.
</span>

<span>Typically, in an HA scenario we would cluster SAP Single Points of Failures (SPOFS) like DBMS and SAP central services (SAP ASCS / SCS instance), and we have at least two redundant SAP application servers. </span>

<span>If you would deploy an SAP system completely on Linux OS (using SLES or Red Hat), the SAP HA architecture would include:</span>
<ul>
 	<li> <span>[<strong>Linux</strong>] Clustered SAP HANA with Pacemaker on Linux</span></li>
 	<li> <span>[<strong>Linux</strong>] Clustered SAP ASCS/SCS with Pacemaker on Linux</span>
<ul>
 	<li> <span>[<strong>Linux</strong>] A file share for SAP GLOBAL host</span></li>
</ul>
</li>
 	<li> <span>[<strong>Linux</strong>] At least two SAP application servers on Linux</span></li>
</ul>
<span>So, what does the Windows and Windows Failover Clustering have to do with SAP HA systems running on HANA?</span>
<div><span>Well, another possible HA setting with SAP HANA is to:</span></div>
<ul>
 	<li>[<strong>Linux</strong>] <span>Cluster SAP HANA with Pacemaker on Linux</span></li>
 	<li>[<strong>Windows</strong>] <span>Use Windows Failover Cluster for SAP ASCS/SCS instance </span>
<ul>
 	<li> <span>One option is to use HA file share, for SAP GLOBAL host</span></li>
 	<li> <span>Another option is to use shared disks</span></li>
</ul>
</li>
 	<li>[<strong>Windows</strong>]  <span>At least two SAP application servers are on Windows </span></li>
</ul>
<span>
In below architecture, we use a file share construct (instead of share disks) for the SAP ASCS/SCS instance. </span>

<span>The highly available SMB file share is implemented using <strong>Windows Scale-Out File server</strong> (<strong>SOFS</strong>) and <strong>Storage Spaces Direct</strong> (<strong>S2D</strong>).
</span>
<div></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2019/03/Hybrid-HA-Architecture.png"><img width="879" height="491" class="alignnone size-large wp-image-9265" alt="" src="https://msdnshared.blob.core.windows.net/media/2019/03/Hybrid-HA-Architecture-1024x572.png" /></a></div>
<div>
<div></div>
<span>This scenario is supported by SAP, as HANA client is available and supported on Windows OS.</span>

<span>The main question is – why would some customer run such a heterogenous OS/clustering scenario?</span>

</div>
<span>Well, there are a few cool features on Windows Clustering for SAP ACS/SCS instance that bring valuable benefits that are unfortunately not available on Linux Pacemaker cluster for ASCS/SCS, like:</span>
<ul>
 	<li> <span><strong>Fault-Tolerant SAPMNT file share on Windows Cluster</strong>
In a Windows failover cluster, there is a feature called <strong>Continuous Availability</strong> (<strong>CA</strong>) which offers <strong>fault-tolerant</strong> SAPMNT share during the failover.
</span>
<span>CA is available on </span>:
-  <b>Clustered File Server for general use</b><span> <strong> </strong>(in combination with shared disk)
</span> -  <span>and<strong> clustered Scale-Out File Share</strong> (in combination with S2D )
</span>
<span><span>A typical benefit would be, for example, for active SAP batch process that continuously write their logs on SAP GLOBAL host via SAPMNT file share.</span></span>Without this feature, failover of SAPMNT file share will cause cancelation of active SAP batch (due to loss of file handle), and you need to restart them from the beginning, which is a not a funny situation if you run business critical reports that must be finished on time.With an enabled CA feature, batch jobs are not canceled during the SAPMNT file share fail over (for unplanned or planned downtime) and are running happily until they are finished!

More details can be found in this blog <a href="https://blogs.sap.com/2013/10/16/new-failover-clustering-improvements-in-windows-server-2012-and-its-benefits-for-sap-netweaver-high-availability/">New Failover Clustering Improvements in Windows Server 2012 and Its Benefits for SAP NetWeaver High Availability </a>and <a href="https://launchpad.support.sap.com/#/notes/2287140">SAP note 2287140 - Support of Failover Cluster Continuous Availability feature (CA)</a>.This feature is available inWindows 2012 and higher releases.</li>
 	<li><span><span><span><span><span><span><span><span><span><strong>The SAP Installer fully supports Windows failover clustering with shared disks as well as file share</strong>, which greatly simplifies deployment procedure.

</span></span></span></span></span></span></span></span></span></li>
 	<li><span><span><strong>SAP documentation fully describes high availability with Windows clustering for SAP ASCS/SCS instance

</strong></span></span></li>
 	<li><span><span><span><span>On <strong>Azure Windows Failover Cluster supports Multi-SID option</strong>,
</span></span></span></span>

e.g. ability to install more SAP ASCS/SCS instances belonging to different SAP systems into one cluster. In this way, customers can consolidate SAP load and reduce the cost in Azure.

<span><span><span><span>More information on </span></span></span></span>Multi-SID can be found in official SAP on Azure guides:
<a href="https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/sap-ascs-ha-multi-sid-wsfc-file-share">SAP ASCS/SCS instance multi-SID high availability with Windows Server Failover Clustering and file share on Azure</a>
<a href="https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/sap-ascs-ha-multi-sid-wsfc-shared-disk">SAP ASCS/SCS instance multi-SID high availability with Windows Server Failover Clustering and shared disk on Azure</a></li>
 	<li><span><span><span><span><span><span><strong>Azure Cloud Witness
</strong></span></span></span></span></span></span>Cloud Witness is a type of Failover Cluster quorum witness that uses Microsoft Azure to provide a vote on cluster quorum. For more information check <a href="https://docs.microsoft.com/en-us/windows-server/failover-clustering/deploy-cloud-witness">Deploy a Cloud Witness for a Failover Cluster</a>.
Azure cloud witness replaces the cluster Quorum with file share on the stand alone VM.  As Azure cloud witness is cloud service, the whole solution is much easier to manage and overall TCO is reduced.</li>
</ul>
<span>
The following table gives a comparison overview:</span>
<table width="633">
<tbody>
<tr>
<td width="245"><strong> </strong></td>
<td width="170"><strong>Windows Failover Cluster</strong></td>
<td width="217"><strong>Linux Pacemaker Cluster </strong></td>
</tr>
<tr>
<td width="0"><strong>Cluster software included in OS License</strong></td>
<td width="170"><strong>Yes</strong></td>
<td width="217"><strong>Yes</strong></td>
</tr>
<tr>
<td width="0"><strong>Integrated with Enqueue Replication Service (ERS instance)
(Fault tolerant SAP transaction lock)</strong></td>
<td width="170"><strong>Yes</strong></td>
<td width="217"><strong>Yes</strong></td>
</tr>
<tr>
<td width="0"><strong>Fault Tolerant SAPMNT File Share
(No downtime for SAP Batch Jobs)</strong></td>
<td width="170"><strong>Yes</strong>
(Continuous Availability feature)</td>
<td width="217">No

(cancelation of SAP Batch Jobs)</td>
</tr>
<tr>
<td width="0"><strong>Clustering without
Cluster Share Disk</strong></td>
<td width="170"><strong>Yes</strong></td>
<td width="217"><strong>Yes</strong></td>
</tr>
<tr>
<td width="0"><strong>Direct support by SAP</strong></td>
<td width="170"><strong>Yes</strong></td>
<td width="217">No

(partner)</td>
</tr>
<tr>
<td width="0"><strong>Integrated in SAP installer</strong></td>
<td width="170"><strong>Yes</strong>
(SWPM supports both
file share and shared disks)</td>
<td width="217">No

(manual procedure)</td>
</tr>
<tr>
<td width="0"><strong>Described in SAP Installation Guides</strong></td>
<td width="170"><strong>Yes</strong></td>
<td width="217">No
(partner)</td>
</tr>
<tr>
<td width="0"><strong>Regular Installation &amp; upgrade test by SAP </strong></td>
<td width="170"><strong>Yes</strong></td>
<td width="217">No

(partner)</td>
</tr>
<tr>
<td width="0"><strong>Can be used for NW on HANA</strong></td>
<td width="170"><strong>Yes</strong></td>
<td width="217"><strong>Yes</strong></td>
</tr>
<tr>
<td width="0"><strong>ASCS/SCS Multi-SID support in Azure
(Consolidation &amp; TCO Reduction)</strong></td>
<td width="170"><strong>Yes</strong></td>
<td width="217">No</td>
</tr>
<tr>
<td width="0"><strong>Cloud Cluster Quorum Service</strong></td>
<td width="170"><strong>Yes</strong></td>
<td width="217">No*

* <span>although Azure Fence is supported, <a href="https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/high-availability-guide-suse-pacemaker#default-pacemaker-configuration-for-sbd">SBD fencing</a> (which requires extra VM) is preferred option due to faster failover</span></td>
</tr>
</tbody>
</table>
<span>In addition to SAP HANA, the same HA architecture can be used with any other DB running on Linux that supports DB client on Windows OS like:
</span>
<ul>
 	<li><span>Oracle</span></li>
 	<li><span>SAP Sybase</span></li>
 	<li><span>SAP Max DB</span></li>
 	<li><span>IBM DB2
</span></li>
</ul>
<div></div>]]></content:encoded>
    </item>
    <item>
      <title>S/4H Installation in Azure - SETUP AND CONFIG IN ONE DAY</title>
      <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/s-4h-installation-in-azure-setup-and-config-in-one-day</link>
      <pubDate>Tue, 12 Feb 2019 01:34:56 GMT</pubDate>
      <dc:creator><![CDATA[SachinGhorpade]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/saponsqlserver/?p=9155</guid>
      <description><![CDATA[Overview
You want to perform a setup of SAP S/4 HANA in Azure. And you do want to do it quick so...]]></description>
      <content:encoded><![CDATA[<h1><strong>Overview</strong></h1>
You want to perform a setup of SAP S/4 HANA in Azure. And you do want to do it quick so that you can experience the overall process and get ready for your landscape deployment. If so, this document is for you. This document enables you to perform the setup and configuration of the S/4H in Azure.

In this setup, we used the embedded option of SAP Fiori. <em>What is embedded option?</em> Don’t worry, we will cover the basics later in this document. This is a <em>hybrid</em> mode installation where SAP Application layer runs on Windows and Large Instances on linux operating system.

Yes! You can accomplish this all in less than 1 day. Excited? Let’s begin…

Read full documentation here: <a href="https://msdnshared.blob.core.windows.net/media/2019/02/S4H-in-Azure-Setup-and-Config-in-One-day-v1.pdf">S4H-in-Azure-Setup-and-Config-in-One-day</a>]]></content:encoded>
    </item>
    <item>
      <title>SAPS ratings on Azure VMs – where to look and where you can get confused</title>
      <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/saps-ratings-on-azure-vms-where-to-look-and-where-you-can-get-confused</link>
      <pubDate>Sun, 04 Nov 2018 19:09:06 GMT</pubDate>
      <dc:creator><![CDATA[Juergen Thomas - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/saponsqlserver/?p=9105</guid>
      <description><![CDATA[Moving SAP software to Azure, you need to decide which Azure VM types you want to use. One of the...]]></description>
      <content:encoded><![CDATA[Moving SAP software to Azure, you need to decide which Azure VM types you want to use. One of the major criteria for selecting a certain VM is the throughput requirement of the SAP workload. SAP decided decades ago, to characterize the throughput in SAPS (SAP Application Performance Standard). To measure the SAPS a server or an Azure VM can deliver, server manufacturers or cloud service providers need to run the SAP SD Standard Application Benchmark. One hundred SAPS are defined as 2,000 fully business processed order line items per hour (<a href="https://www.sap.com/about/benchmark/measuring.html">https://www.sap.com/about/benchmark/measuring.html</a> ).

As we certify Azure VMs for SAP NetWeaver and SAP HANA, one of the main pieces of information we need to deliver is the throughput measured in SAPS of the VM to be certified. SAP again, uses that data to document it for Azure in <a href="https://launchpad.support.sap.com/#/notes/1928533">SAP note #1928533</a>. This note is the official source to find the SAPS for SAP NetWeaver certified VMs. This note lists the number of vCPUs, memory and SAPS for each of the Azure VM types that are certified to run the SAP NetWeaver workload.

So where is the confusion then?

First area of confusion is created by the way publicly released SAP SD Standard Application benchmarks are documented by SAP in case of hyperscale clouds like Azure. When you follow this <a href="https://www.sap.com/dmc/exp/2018-benchmark-directory/#/sd?filters=4a9e824336e2837bf9081e423d575bce;4a9e824336e2837bf9081e423d57fa5e">link</a>, you are getting a list of SAP SD benchmarks which were released on Azure VMs. Note, we are not forced to release benchmarks conducted for certification of Azure VMs. As a result, you won’t find benchmarks released in this location for every certified Azure VM type. As you click onto a single record of a benchmark, data like this will be displayed:

<a href="https://msdnshared.blob.core.windows.net/media/2018/11/image75.png"><img width="789" height="325" title="image" alt="image" src="https://msdnshared.blob.core.windows.net/media/2018/11/image_thumb76.png" border="0" /></a>

And this is where the problem starts. Nowhere in this displayed data would you find the vCPU and memory definition of the VM that got tested. Instead you find the technical data of the host that the VM ran on. In terms of the number of CPUs and cores, the data is also not reflecting the real configuration of the host. But it does list the theoretical capacity for the case when Intel Hyperthreading is configured on the host. Means at the end, you can’t draw any conclusions on the number of vCPUs or the volume of memory for e.g. the M128s VM type (as shown above) out of the official SAP benchmark webpage. In order to get that data, you would need to check on the <a href="https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/">Azure pricing page</a> or <a href="https://launchpad.support.sap.com/#/notes/1928533">SAP note #1928533</a>. So at the end, the data displayed on the official SAP benchmark webpage just confuses for the purpose of getting the SAPS of a specific Azure VM type for SAP sizing purposes. Though it displays the SAPS values of a certain VM type (which you can get in <a href="https://launchpad.support.sap.com/#/notes/1928533">SAP note #1928533</a> as well), they however were reported with the host technical data; data that is unnecessary to size Azure VM infrastructure according to SAPS requirements.

Second area of confusion is created when you compare different VM types and calculate the SAPS/vCPU. Please note, we are always talking about vCPUs or CPU threads as a single unit that shows up in e.g. Windows Task Manager. We avoid the term ‘core’ for VMs on purpose because it has a very fixed meaning on bare-metal. In the Intel bare-metal world you can have one core that is representing one CPU thread in the case that the server is configured w/o Hyperthreading. Or you can have a core representing two CPU threads in case the server is configured with Hyperthreading enabled.

As you calculate the SAPS a single vCPU of an Azure VM can deliver as throughput, you can get to a somewhat surprising results when comparing different Azure VM types. E.g., let’s check DS14v2, which in <a href="https://launchpad.support.sap.com/#/notes/1928533">SAP note #1928533</a> is reported with:
<ul>
 	<li>16 vCPUs, 112GiB memory and 24180 SAPS.</li>
 	<li>We look at 24180 / 16 = 1511 SAPS per vCPU as throughput</li>
</ul>
As we move to DS16v3 which has the same number of vCPUs (though only 64GiB memory), you calculate only:
<ul>
 	<li>17420 SAPS / 16 = 1088 SAPS throughput per CPU thread</li>
</ul>
This is kind of surprising since the DS16v3 is a more recent VM type and you would expect that performance or throughput per vCPU is improving all the time. Reason that this is not the case, is, that we introduced VM types that are running on hosts where Intel Hyperthreading is enabled. Means one physical processor core on the host server represents two CPU threads on the host. With that a single vCPU in an Azure VM is mapped into one of the two CPU threads of a hyperthreaded core on the host server. Hyperthreading on bare-metal server improves the overall throughput. But does not double the throughput as it does double the number of CPU threads of the host. The throughput improvement by Hyperthreading under classical SAP workload is ranging from 30-40%. As a result one core with two hyperthreaded CPU threads on the host will deliver 130-140% of the throughput the same processor core delivers without Hyperthreading. At the end, this means that a single CPU thread of a hyperthreaded core will deliver between 65-70% of what a non-hyperthreaded core delivers with a single CPU thread.

That is exactly the difference you are seeing between the SAPS a single vCPU delivers on a DS14v2 compared to a DS16v3.

So far, the following NetWeaver and/or SAP HANA certified Azure VM families are running on host hardware where Intel Hyperthreading is enabled:
<ul>
 	<li>D(S)v3</li>
 	<li>E(S)v3</li>
 	<li>M-Series</li>
</ul>
As mentioned earlier, the detailed data that is displayed by SAP on their benchmark webpage is not giving any indication whether Hyperthreading is enabled or not by just listing the theoretical capacity of the host. Indications whether Hyperthreading is enabled on the Azure hosts running certain VM families is published as well in the <a href="https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/">Azure pricing webpage</a>. You can get indications like shown in the screenshot below:

<a href="https://msdnshared.blob.core.windows.net/media/2018/11/clip_image0044.jpg"><img width="848" height="99" title="clip_image004[4]" alt="clip_image004[4]" src="https://msdnshared.blob.core.windows.net/media/2018/11/clip_image0044_thumb.jpg" border="0" /></a>

IMPORTANT:

Keep in mind that VM types have certain bandwidth limitations as well. In general, we can state that the smaller the VM in a VM family is, the smaller the storage and network bandwidth. In case of large VMs, like M128s or M128ms, or ES64v3 the VM is the only VM running on a host. As a result, it benefits from the complete network and storage bandwidth the host has available. In case of smaller VMs, the network and storage bandwidth need to be divided across multiple VM. Especially for SAP HANA, but also for SAP NetWeaver, it is vitally important that a VM running intensive workload does not steal CPU, memory, network and storage bandwidth from other VMs running on the same host. As a result, in sizing a VM, you also need to take the required network and storage bandwidth into account. Detailed data of network and storage throughput for each VM type can be found here:
<ul>
 	<li><a href="https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes?toc=%2fazure%2fvirtual-network%2ftoc.json">https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes?toc=%2fazure%2fvirtual-network%2ftoc.json</a></li>
 	<li><a href="https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes?toc=%2fazure%2fvirtual-network%2ftoc.json">https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes?toc=%2fazure%2fvirtual-network%2ftoc.json</a></li>
</ul>
We hope this clarifies aspects of the different SAPS per vCPU throughput calculations and measurements. And gives some explanations why the SAP benchmark webpages are not suited to check for sizing. Instead <a href="https://launchpad.support.sap.com/#/notes/1928533">SAP note #1928533</a> should be consulted.]]></content:encoded>
    </item>
    <item>
      <title>Moving SAP on SQL Server and Windows into Azure – what SQL Server and Windows release should I use</title>
      <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/moving-sap-on-sql-server-and-windows-into-azure-what-sql-server-and-windows-release-should-i-use</link>
      <pubDate>Fri, 02 Nov 2018 21:35:53 GMT</pubDate>
      <dc:creator><![CDATA[Juergen Thomas - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/saponsqlserver/?p=9055</guid>
      <description><![CDATA[As Azure became a very popular secure and scalable platform to deploy mission critical workload like...]]></description>
      <content:encoded><![CDATA[As Azure became a very popular secure and scalable platform to deploy mission critical workload like SAP application on it, Microsoft itself tries to lower the bar to move your application to Azure even more. One of the measures Microsoft took was announced in this blog:

<a href="https://azure.microsoft.com/en-us/blog/announcing-new-offers-and-capabilities-that-make-azure-the-best-place-for-all-your-apps-data-and-infrastructure/">https://azure.microsoft.com/en-us/blog/announcing-new-offers-and-capabilities-that-make-azure-the-best-place-for-all-your-apps-data-and-infrastructure/</a>

In essence, the blog announces free extended Security Patches for Windows Server 2008(R2) and SQL Server 2008(R2) beyond the end of the usual 10 year support life cycle period. Though this sounds appealing in a first glance, there are many reasons why you as SAP customer should not take this extension as motivation to delay a move of your mission critical system to more recent Windows Server and SQL Server releases.

Why do we not recommend leveraging these older Window and SQL Server releases in Azure for SAP workload other similar large scale Enterprise Mission Critical applications? Short answer is that we introduced a lot of features and functionalities into the Windows Server 2012 family and Windows Server 2019 and more recent SQL Server releases that either accommodate and improve the handling of SAP workload or improve the integration into Azure as an IaaS platform. SAP NetWeaver based systems typically run your company’s most critical business processes and shouldn’t be left running on 10 year old operating system and database platform.

When we look into details of the changes in more recent Windows Server versions and Azure that improve integration, scalability and reliability then the following documented changes are noteworthy:
<ul>
 	<li>On Azure side Accelerated Networking is a key technology which significantly improving the scalability of SAP systems in Azure and reduces the latency between significantly. This functionality is supported for more recent windows Server OS as guest OS only. For more details see: <a href="https://docs.microsoft.com/en-us/azure/virtual-network/create-vm-accelerated-networking-powershell">https://docs.microsoft.com/en-us/azure/virtual-network/create-vm-accelerated-networking-powershell</a></li>
 	<li>On Azure side, not all VMs can be run on older versions of Windows Server. E.g. all the M-Series VMs that have more than 64 vCPUs are requiring at least Windows Server 2016 as guest OS.</li>
 	<li>Windows Server Storage Spaces is also a significant improvement from Windows Server 2012 on. Windows Storage Spaces is the default way to create high performance volumes for hosting database data and log files on the Windows guest OS. Storage Spaces is superior to Striping offered with earlier releases of Windows. More details can be found here: <a href="https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/overview">https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/overview</a></li>
 	<li>Windows Server clustering experienced more than significant improvements over the course of the last 6 years. Functionality like:
<ul>
 	<li>Rolling upgrades of cluster nodes which was introduced with Windows Server 2016 (<a href="https://docs.microsoft.com/en-us/windows-server/failover-clustering/Cluster-Operating-System-Rolling-Upgrade">https://docs.microsoft.com/en-us/windows-server/failover-clustering/Cluster-Operating-System-Rolling-Upgrade</a> )</li>
 	<li>Cloud witness for Azure deployments. Especially for deploying in Azure, the usage of the Windows Server 2016 introduced feature of the Azure cloud Witness improves reliability of SAP deployments in Azure significantly (<span style="color: #00ccff"><a href="https://docs.microsoft.com/en-us/windows-server/failover-clustering/deploy-cloud-witness">https://docs.microsoft.com/en-us/windows-server/failover-clustering/deploy-cloud-witness</a> </span>)</li>
 	<li>SAP using Windows Clustering as HA for Central Services using Windows Server 2016 Scale-out File Services (SOFS). More documentation can be found here: <a href="https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/sap-high-availability-infrastructure-wsfc-file-share">https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/sap-high-availability-infrastructure-wsfc-file-share</a></li>
</ul>
</li>
</ul>
These are the most obvious reasons. Besides those there were a lot of improvements that made it into more recent Windows kernels that were resulting out of issues SAP customers cases. Severe improvements regarding scalability and reliability are part these newer OS releases which in a lot of cases improve the efficiency of SAP workload in virtualized environments. As you read this list, it is clear that we highly recommend using Windows Server 2016 as operating system for your SAP deployments in Azure.

On SQL Server side, the changes are even more impressive. When we look at the list, then the first striking improvements with SQL Server 2012 and expanded and improved in more recent releases are:

SQL Server Column store: SQL Server Column Store is a ground breaking feature that can be leveraged with SAP BW, but also with other NetWeaver based SAP software. The best SAP centric documentation can be found in these articles: <a href="https://blogs.msdn.microsoft.com/saponsqlserver/tag/columnstore/">https://blogs.msdn.microsoft.com/saponsqlserver/tag/columnstore/</a> .

Besides columnstore for SAP BW, SQL Server 2016 introduced modifiable non-clustered columnstore indexes that can be applied to indexes to SAP ERP systems and other non-BW SAP NetWeaver applications.
<ul>
 	<li>SQL Server AlwaysOn: Is a major improvement to SQL Server Database Mirroring. SQL Server AlwaysOn is not only a complete high availability and disaster recovery functionality, but also allows moving backups to the secondary nodes. Combined with Windows Server 2016 Cloud Witness and SQL Server Distributed Availability Groups, this is the ideal functionality to configure high availability and disaster recovery in Azure IaaS deployments.</li>
 	<li>SQL Server Query Store: allows you to track long term query performance. In cases of performance degradation the new functionality allows you to rollback the execution of a query to the best performing one. More details can be read in: <a href="https://docs.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?view=sql-server-2017">https://docs.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?view=sql-server-2017</a></li>
 	<li>Resumable online Index builds allow to build indexes piecemeal in chunks with lower workload. This functionality got introduced in SQL Server 2017. More details can be found here: <a href="https://www.mssqltips.com/sqlservertip/4987/sql-server-2017-resumable-online-index-rebuilds/">https://www.mssqltips.com/sqlservertip/4987/sql-server-2017-resumable-online-index-rebuilds/</a></li>
 	<li>SQL Server consistency checks (checkdb) were improved majorly in SQL Server 2016. The improvements resulted in way better throughput of checkdb and better resource control.</li>
</ul>
Other very important functionality that helps SQL Server to leverage Azure capabilities can be listed as:
<ul>
 	<li>Backup against Azure BLOB storage: This feature introduced in more recent SQL Server releases allows you to directly backup against Azure storage blobs. More information can be found in these articles: <a href="https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-backup-and-restore-with-microsoft-azure-blob-storage-service?view=sql-server-2017">https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-backup-and-restore-with-microsoft-azure-blob-storage-service?view=sql-server-2017</a></li>
 	<li>SQL Server Managed Backup to Azure allows automatic backups that are stored in Azure storage. for more details see: <a href="https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-managed-backup-to-microsoft-azure?view=sql-server-2017">https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-managed-backup-to-microsoft-azure?view=sql-server-2017</a></li>
 	<li>Placement of SQL Server data and log files directly on Azure storage blob storage. For more details see: <a href="https://docs.microsoft.com/en-us/sql/relational-databases/databases/sql-server-data-files-in-microsoft-azure?view=sql-server-2017">https://docs.microsoft.com/en-us/sql/relational-databases/databases/sql-server-data-files-in-microsoft-azure?view=sql-server-2017</a></li>
 	<li>SQL Server snapshot backup when using Azure storage blobs. More details are documented in <a href="https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/file-snapshot-backups-for-database-files-in-azure?view=sql-server-2017">https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/file-snapshot-backups-for-database-files-in-azure?view=sql-server-2017</a></li>
 	<li>Major improvements to SQL Server Transparent Data Encryption (TDE0 and the usage of Azure Key Vault which were applied to SQL Server 2014, 2016 and 2017 Service Packs and patches. Older versions of SQL server are issuing way more calls to the third party EKMM tools like Azure key Vault and with that slow down operations like backup and restore of databases when using SQL Server TDE.</li>
</ul>
Other functionality which is less more obvious for SAP workloads are
<ul>
 	<li>SQL Server 2016 introduced functionality to accelerate execution of SAP CDS views and functions related to CDS views</li>
 	<li>In the latest SQL Server releases, DMVs got changed and added to improve functionality of NetWeaver’s DBACockpit</li>
</ul>
Given all the new functionalities and the improvements that make a big difference to run SAP workload, it is highly recommended moving to a minimum of SQL Server 2016 or consider SQL Server 2017 when moving your SAP workload to Azure IaaS. Instead of staying on nearly 10 year old releases of Windows and SQL Server that never got really adapted to the usage in Azure or for more recent SAP releases or features (like SAP CDS view).]]></content:encoded>
    </item>
    <item>
      <title>Orica’s S/4HANA Foundational Architecture Design on Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/oricas-s-4hana-foundational-architecture-design-on-azure</link>
      <pubDate>Thu, 23 Aug 2018 04:29:45 GMT</pubDate>
      <dc:creator><![CDATA[Cameron - MSFT SAP Program Manager]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/saponsqlserver/?p=8785</guid>
      <description><![CDATA[This blog is a customer success story detailing how Cognizant and Orica have successfully deployed...]]></description>
      <content:encoded><![CDATA[<span style="font-family: Candara">This blog is a customer success story detailing how Cognizant and Orica have successfully deployed and gone live with a global S/4HANA transformation project on Azure. This blog contains many details and analysis of key decision points taken by Cognizant and Orica over the last two years leading to their successful go live in August 2018. </span>
<p style="text-align: justify"><span style="font-family: Candara"><span style="color: black">This blog below written by <a href="https://www.linkedin.com/in/sivakumarvaradananjayan/"><strong>Sivakumar Varadananjayan</strong></a></span><strong> Siva is Global head of Cognizant SAP Cloud Practice and He Personally involves in Orica 4s Program from day 1 as Presales head and now as Chief Architect for Orica's S/4HANA on Azure Adoption
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">Over the last 2 years, Cognizant has partnered and engaged as a trusted technology advisor and managed cloud platform provider to build Highly Available, Scalable, Disaster Proof IT platforms for<strong> SAP S/4HANA and other SAP applications in Microsoft Azure</strong>. Our customer <a href="https://www.orica.com/">Orica</a> is the world's largest provider of commercial explosives and innovative blasting systems to the mining, quarrying, oil and gas and construction markets, a leading supplier of sodium cyanide for gold extraction, and a specialist provider of ground support services in mining and tunneling. As a part of this program, <a href="https://www.cognizant.com/application-services/sap-solutions/cloud">Cognizant</a> has built Orica's new SAP S/4HANA Platform on Microsoft Azure and provides a Managed Public Cloud Platform as a Service (PaaS) offering.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">Cognizant started the actual cloud foundation work during December 2016. In this blog article, we will cover some of the best practices that Cognizant adopted and share key learnings which may be essential for any customer planning to deploy their SAP workloads on Azure.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">The following topics will be covered:
</span></p>

<ul>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara"><strong>Target Infrastructure Architecture Design
</strong></span></div>
<ul>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Choosing the right Azure Region
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Write Accelerator
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Accelerated Networking
</span></div></li>
</ul>
</li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara"><strong>SAP Application Architecture Design
</strong></span></div>
<ul>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Sizing Your SAP Landscape for the Dynamic Cloud
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Increasing/decreasing capacity
</span></div></li>
</ul>
</li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara"><strong>HA / DR Design (SUSE HA Cluster)
</strong></span></div>
<ul>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">SUSE cluster
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Azure Site Recovery (ASR)
</span></div></li>
</ul>
</li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara"><strong>Security on Cloud
</strong></span></div>
<ul>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Network Security Groups
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Encryption – Disk, Storage account, HANA Data Volume, Backup
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Role-Based Access Control
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Locking resources to prevent deletion
</span></div></li>
</ul>
</li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara"><strong>Operations &amp; Management
</strong></span></div>
<ul>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Reporting
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Costing
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Creation of clone environments
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Backup &amp; restore
</span></div></li>
</ul>
</li>
</ul>
<p style="text-align: justify"><span style="font-family: Candara"><strong>Target Infrastructure Architecture Design
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">The design of a fail-proof infrastructure architecture involves visualizing the end-state with great detail. Capturing key business requirements and establishing a set of design principles will clarify objectives and help in proper prioritization while making design choices. Such design principles include but are not limited to choosing a preferred Azure Region for hosting the SAP Applications, as well as determining preferences of Operating System, database, end user access methodology, application integration strategy, high availability, disaster recovery strategy, definition of system criticality and business impacts of disruption, definition of environments, etc. During the Design phase, Cognizant involved Microsoft and SUSE along with other key program stakeholders to finalize the target architecture based on the customer's business &amp; security requirements. As part of the infrastructure design, critical foundational aspects such as Azure Region, ExpressRoute connectivity with Orica's MPLS WAN, and integration of DNS and Active Directory domain controllers were finalized.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">At the time of discussing the infrastructure preparation, various topics including VNet design (subnet IP ranges), host naming convention, storage requirements, and initial VM types based on compute requirements were derived. In the case of Orica's 4S implementation, Cognizant implemented a three tier subnet architecture – Web Tier, Application Tier and Database Tier. The three tier subnet design was applied for each of Sandpit, Development, Project Test, Quality and Production so that it provides the flexibility for Orica to deploy fine-grained NSGs at subnet levels as per security requirements. Having a clearly defined tier-based subnet architecture will also enable to avoid complex NSGs being defined for individual VM hosts.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">The Web Tier subnet is intended to host the SAP Web Dispatcher VMs; the Application Tier is intended to host the Central Services Instance VMs, Primary Application Server VMs and any additional application server VMs, the Database Tier is intended to host the database VMs. This is supplemented by additional subnets for infrastructure and management components, such as jump servers, domain controllers, etc.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Choosing the Right Azure Region
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">Although Azure operates over several regions, it is essential to choose a primary region into which main workloads will be deployed. Choosing the right Azure region for hosting the SAP Application is a vital decision to be made. The following factors must be considered for choosing the Right Azure Region for Hosting: (1) Legal and regulatory requirements dictating physical residence, (2) Proximity to the company's WAN points of presence and end users to minimize latency, (3) Availability of VMs and other Azure Services, and (4) Cost. For more information on availability of VMs, refer to the section "Sizing Your SAP Landscape for the Dynamic Cloud" under SAP Application Architecture Design.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Accelerated Networking
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><a href="https://docs.microsoft.com/en-us/azure/virtual-network/create-vm-accelerated-networking-cli"><span style="font-family: Candara">Accelerated Networking</span></a><span style="font-family: Candara"> enables single root I/O virtualization (SR-IOV) to a VM, greatly improving its networking performance. This high-performance path bypasses the host from the data path, reducing latency, jitter, and CPU utilization, for use with the most demanding network workloads on supported VM types. <span style="color: black;background-color: white">Without accelerated networking, all network traffic in and out of the VM must traverse the host machine and the virtual switch.</span></span><span style="font-family: Segoe UI;background-color: white">
</span><span style="font-family: Candara">With accelerated networking, network traffic arrives at the VM's network interface (NIC), and is then forwarded directly to the guest VM. All network policies that the virtual switch applies are now offloaded and applied in hardware. While essential for good and predictable HANA performance, not all VM types and operating system versions support Accelerated Networking, and this must be taken into account for the infrastructure design. Also, it is important to note that Accelerated Networking helps to minimize latency for network communication within the same Azure Virtual Network (VNet). This technology has minimal impact to overall latency during network communication over multiple Azure VNets.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Storage
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">Azure provides several storage options including <a href="https://docs.microsoft.com/en-us/azure/virtual-machines/linux/about-disks-and-vhds">Azure Disk Storage</a> – Standard, Premium and Managed (attached to VMs), <a href="https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction">Azure Blob Storage</a>, etc. At the time of writing this article, Azure is the only public cloud service provider that offers Single VM SLA of 99.9% under the condition of operating the VM with Premium Disks attached to it. The cost value proposition of choosing Premium Disk over Standard Disk for the purpose of getting an SLA for Single VM SLA is significantly beneficial and hence Cognizant recommends provisioning all VMs with Premium Disks for application and database storage. Standard Disks are appropriate to store Backups of Databases, and Azure Blob is used for Snapshots of VMs and transferring Backups and storing them as per the Retention Policy. For achieving an SLA of &gt; 99.9%, High Availability techniques can be used. Refer to the section 'High Availability and Disaster Recovery' in this article for more information.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Write Accelerator
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><a href="https://docs.microsoft.com/en-us/azure/virtual-machines/windows/how-to-enable-write-accelerator"><span style="font-family: Candara">Write Accelerator</span></a><span style="font-family: Candara"> is a disk capability for M-Series Virtual Machines (VMs) on Azure running on Premium Storage with Azure Managed Disks exclusively. As the name states, the purpose of the functionality is to improve the I/O latency of writes against Azure Premium Storage. Write Accelerator is ideally suited to be enabled for disks to which database redo logs are written to meet the performance requirement of modern databases such as HANA. For production usage, it is essential that the final VM infrastructure thus setup should be verified using SAP HANA H/W Configuration Check Tool (HWCCT). These results should be validated with relevant subject matter experts to ensure the VM is capable of operating production workloads and is thus certified by SAP as well.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara"><strong>SAP Application Architecture Design
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">The SAP Application Architecture Design must be based on the guiding principles that must be adopted for building the SAP applications, systems and components. To have a well laid out SAP Application Architecture Design, you must determine the list of SAP Applications that are in scope for the implementation.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">It is also essential to review the following SAP Notes that provide important information on deploying and operating SAP systems on public cloud infrastructure:
</span></p>

<ul>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">SAP Note 1380654 - SAP support in public cloud environments
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">SAP Note 1928533 - SAP Applications on Azure: Supported Products and Azure VM types
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">SAP Note 2316233 - SAP HANA on Microsoft Azure (Large Instances)
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">SAP Note 2235581 - SAP HANA: Supported Operating Systems
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">SAP Note 2369910 - SAP Software on Linux: General information
</span></div>
<p style="text-align: justify"><span style="font-family: Candara"><strong>Choosing the OS/DB Mix of your SAP Landscape
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">Using this list, the <a href="https://apps.support.sap.com/sap/support/pam">SAP Product Availability Matrix</a> can be leveraged to determine whether the preferred Operating System and Database is supported for each of the SAP application in scope. From an ease of maintenance and management perspective, you may want to consider not having more than two variants of databases for your SAP application database. SAP has started providing support for SAP HANA database for most of the applications and since SAP HANA supports multi-tenant database, you might as well want to have most of your SAP applications run on SAP HANA database platform. For some applications that do not support HANA database, other databases might be required in the mix. SAP's S/4HANA application runs only on HANA database. Orica chose to run HANA for every SAP application where supported and SQL Server otherwise – as this was in line with the design rationale and simplified database maintenance, backups, HA/DR configuration, etc.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">With SAP HANA 2.0 becoming mainstream (it is also mandatory for S/4HANA 1709 and higher), fewer operating systems are supported than with SAP HANA 1.0. For example SUSE Enterprise for SAP Applications is now the only flavor of SUSE supported, while "normal" SUSE Enterprise was sufficient for HANA 1.0. This may have a licensing impact for the customers, as Azure only provides BYO Subscription images. Hence customers must supply their own operating system licenses.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara"><strong>Type of Architecture
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">SAP offers deploying its NetWeaver Platform based applications either in a Central System Architecture (Primary Application Server and Database in same host) or in a Distributed System Architecture (Primary Application Server, Additional Application Servers and Database in separate hosts). You need to choose the type of architecture based on a thorough cost value proposition, business criticality and application availability requirements. You also need to determine the number of environments that each SAP application will require such as Sandbox, Development, Quality, Production, Training, etc. This is predominantly determined based on the change governance that you plan to setup for the project. Systems that are business critical and have requirements for high availability such as the Production Environment must always be considered to be deployed in a Distributed System Architecture Scenario with High Availability Cluster.  For both critical and non- critical systems, parameters should be enabled to ensure the application and database starts automatically in the event of an inadvertent server restart. Disaster Recovery is often recommended for most of the SAP Applications that are business critical based on Recovery Point Objective (RPO) and Recovery Time Objective (RTO).
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">Cognizant designed 4 system landscape and distributed SAP architecture for Orica. We separated the SAP Application and DB servers, because when taken in context of HANA MDC and running everything on HANA by default, a Central System Architecture no longer makes sense. We have also named HANA Database SIDs without any correlation to the tenants that each HANA database holds. This is done with the intention of future proofing and allowing the tenants to change the HANA hosts in future if needed. In the case of Orica, we have also implemented custom scripting for automated start of SAP applications which can further be controlled (disabled or enabled) by a centrally located parameter file. High availability is designed for production and quality environments. Disaster recovery is designed as per Orica's Recovery Point Objective (RPO) and Recovery Time Objective (RTO) defined by business requirements.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara"><strong>Sizing Your SAP Landscape for the Dynamic Cloud
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">Once you have determined the type of SAP architecture, you will now have a fair idea about the number of individual Virtual Machines that will be required to deploy each of these components. From an infrastructure perspective, the next step that you will need to perform is to size the Virtual Machines. You can leverage standard SAP methodologies such as <a href="https://www.sap.com/about/benchmark/sizing.quick-sizer.html">Quick Sizer</a> using Concurrent User or Throughput Based sizing. Best Practice is doing the sizing using Throughput based sizing. This will provide you the SAPS and memory requirement for the application and database components and memory requirement in the case of HANA database. Tabulate the critical piece of sizing information in a spreadsheet and refer to the standard SAP notes to determine the equivalent VM types in Azure Cloud infrastructure. Microsoft is getting SAP certification for new VMs on regular basis so it is always advisable to check the recent SAP notes for latest information. For HANA databases, you may most often require VMs with E-Series (Memory Optimized) and
M-Series (Large Memory Optimized) based on the size of the database. At the time of writing this article, the maximum capacity supported with E-Series and M-Series are 432 GB and 3.8 TB respectively. E-series offers better cost value proposition compared to the earlier GS-series VMs offered by Azure. At this point you need to evaluate that the resulting VMs are available in the Azure region that you have preferred to host your SAP landscape. In some cases, depending upon the geography there is a possibility that some of these VM types may not be available and it is essential to be careful and choose the right Geography and Azure Region where all the required VM types are available. However, remember that Public Cloud offers great scalability and elasticity. You do not need an accurate peak sizing to provision your environments. You always have the room to scale-up or scale-down your SAP Systems based on the actual usage by monitoring the utilization metrics such as CPU, Memory and Disk Utilization. Within the same Virtual Machine series, this can be done just by powering off the VM, changing the VM Size and powering on the VM. Typically, the whole VM resizing procedure does not take more than a few minutes. Ensure that your system will fit into what's available in Azure at any point of time. For instance, spinning up a 1 TB M-series and then finding that a 1.7TB instance is needed instead does not cause much of an hassle as it can be easily re-sized. However, if you are not sure if your system will grow beyond 3.8 TB (maximum capacity of M-Series), then it puts you in a bigger risk as complications will start of creep up (<a href="https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/hana-overview-architecture">Azure Large Instances</a> may be needed for rescue in such cases). Reserved Instances are also available in Azure, and can be leveraged for further cost optimization if accurate sizing of actual hardware requirements is performed before purchasing (to avoid over-committing).
</span></p>
</li>
</ul>
<p style="text-align: justify"><span style="font-family: Candara"><strong>High Availability and Disaster Recovery
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">Making business critical systems such as SAP S/4HANA highly available with &gt; 99.9% high availability requires a well-defined High Availability architecture design. As per Azure, VM clusters deployed in an availability set within an availability zone in a region offers 99.95% availability. Azure offers an <a href="https://azure.microsoft.com/en-au/support/legal/sla/virtual-machines/v1_8/">SLA</a> of 99.99% when the compute VMs are deployed within a region in multiple Availability Zones. For achieving this, it is recommended to look for availability of Availability Zones in the region that is chosen for hosting the SAP applications. Note that Azure Availability Zones are still being rolled out by Microsoft and they will eventually arrive in all regions over a period of time. Also, components that are Single Point of Failure (SPOF) in SAP must be deployed in a cluster such as SUSE Cluster. Such cluster must reside within an availability set to attain 99.95% availability. To achieve the High Availability for Azure Infrastructure level all the VMs are added in availability set and exposed with Azure Internal Load Balancer (ILB). These components include (A)SCS Cluster, DB Cluster and NFS. It is also recommended to provision at least two application servers within an availability set (Primary Application Server and Additional Application Server), so as to ensure the Application Servers are redundant. Cognizant, Microsoft and SUSE worked together to build a collaborative solution based on Multi-Node iSCSI server configuration. This Multi-Node iSCSI server HA configuration for SAP Applications in Orica were the first to be deployed with this configuration in Azure Platform.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">As discussed earlier, in cases where SAP components are not prevented from failure using High Availability setup, it is recommended to provision such VMs with Premium Storage Disks attached to it to take advantage of the Single VM SLA. All VMs at Orica use Premium Disks for their application and database volumes because this is the only way they would be covered by the SLA, and we also found performance to be better and more consistent.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">Details about SUSE Cluster is described below
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>SUSE Cluster Setup for HA:
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">(A)SCS Layer high availability is achieved using SUSE HA Extension cluster. DRBD technology for replication is not used for replication of application files such as SAP kernel files. This design is based on the recommendation from Microsoft and it is supported by SAP as well. The reason for not enabling DRBD replication is due to potential performance issues that could pop-up when a synchronous replication is configured and a recovery could not be guaranteed which such configuration when ASR is enabled for Disaster Recovery replication at Application layer. NFS Layer high availability is achieved using SUSE HA Extension cluster. DRBD technology for replication is used for data replication. It is also recommended by Microsoft to use single NFS Cluster to cater for multiple SAP Systems to reduce complexity of the overall design.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">HA testing needs to be performed thoroughly, and must be simulated for many different failure situations beyond a simple clean shutdown of the VM. E.g. Usage of halt command to simulate a VM power off, adding firewall rules in the NSG to simulate problems with the VM's network stack, etc.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>We are excited to announce that Orica is the first customer on the Multi-SID SUSE HA cluster configuration.
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">More details on the technical configuration of setting up HA for SAP is described <a href="https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/high-availability-guide-suse">here</a>. The pacemaker on SLES in Azure is recommended to be setup with an SBD device, the configuration details are described <a href="https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/high-availability-guide-suse-pacemaker">here</a>. Alternatively, if you do not want to invest in one additional virtual machine, you can also use the Azure Fence agent. The downside with Azure Fencing Agent is that a failover can take between 10 to 15 minutes if a resource stop fails or the cluster nodes cannot communicate which each other anymore.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">Another important aspect on ensuring application availability is during a disaster through a well architected DR solution which can be invoked through a well-orchestrated Disaster Recovery Plan.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Azure Site Recovery (ASR):
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><a href="https://docs.microsoft.com/en-us/azure/site-recovery/"><span style="font-family: Candara">Azure Site Recovery</span></a><span style="font-family: Candara"> assists in business continuity by keeping business apps and workloads running during outages. Site Recovery replicates workloads running on physical and virtual machines (VMs) from a primary site to a secondary location. At the time of failover, apps are started in the secondary location and accessed from there after making relevant changes in the cluster configuration and DNS. After the primary location is running again, you can fail back to it. ASR was not tested for Orica at the time of current Go-Live as the support for SLES 12.3 was made GA by Microsoft too close to Cut-Over. However, we are currently evaluating this feature and we will be using this for DR at the time of Go-Live of the next phase.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara"><strong>Security on Cloud
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">Most of the traditional security concepts such as security at physical, server, hypervisor, network, compute and storage layers are applicable for overall security of the cloud. These are provided by the public cloud platform inherently and are audited as well by 3<sup>rd</sup> party IT security certification providers. Security on the Cloud will help you to protect the hosted applications on the cloud by leveraging features and customization aspects that are available through the cloud provider and those security features provided within the applications hosted on cloud.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Network Security Groups
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><a href="https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-vnet-plan-design-arm"><span style="font-family: Candara">Network Security Groups</span></a><span style="font-family: Candara"> (NSGs) are rules applied in Networking Layer that will control traffic and communication with VMs hosted in Azure. In Azure, Separate NSGs can be associated for Prod, Non-Prod, Infra, management and DMZ environment. It is important to arrive at a strategy for defining the NSG rules in such a way that it is modularized and easy to comprehend and implement. Strict procedures need to be implemented to control these rules. Otherwise, you may often end-up with unnecessary redundant rules which will make it harder to troubleshoot any network communication related issues.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">In the case of Orica, an initiative was implemented to optimize the number of NSG rules by adding multiple ports for the same source and destination ranges in the same rule. A change approval process was introduced once the NSG was associated. All the NSG rules are maintained in a custom formatted template (CSVs) which is utilized by a script for actual configuration in Azure. We expect it will be too difficult doing this manually for multiple VNets across multiple regions (e.g. primary, DR, etc.).
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Encryption of Storage Account and Azure Disk
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><a href="https://docs.microsoft.com/en-us/azure/storage/common/storage-service-encryption"><span style="font-family: Candara">Azure Storage Service Encryption</span></a><span style="font-family: Candara"> (SSE) is recommended to be enabled for all the Azure Storage Accounts. Through this, Azure Blobs will be encrypted in the Azure Storage. Any data that is written to the storage after enabling the SSE will be encrypted. SSE for Managed Disks is enabled by default.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><a href="https://docs.microsoft.com/en-us/azure/security/azure-security-disk-encryption"><span style="font-family: Candara">Azure Disk Encryption</span></a><span style="font-family: Candara"> leverages the industry standard BitLocker feature of Windows and the DM-Crypt feature of Linux to provide volume encryption for the OS and the data disks. The solution is integrated with Azure Key Vault to help you control and manage the disk-encryption keys and secrets in your key vault subscription. Encryption of the OS volume will help protect the boot volume's data at rest in your storage. Encryption of data volumes will help protect the data volumes in your storage. Azure Storage automatically encrypts your data before persisting it to Azure Storage, and decrypts the data before retrieval.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>SAP Data at Rest Encryption
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">Data at rest is encrypted for SAP Applications by encrypting the database. SAP HANA 2.0 and SQL Server natively support data at rest encryption and they provide the additional security that is needed in case of a data theft. In addition to that the backups of both these databases are encrypted and secured by a Pass Phrase to ensure these backups are only readable and can be leveraged by authentic users.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">In the case of Orica, both Azure Storage Service Encryption and Azure Disk Encryption were enabled. In addition to this, SAP Data at Rest Encryption was enabled in SAP HANA 2.0 and TDE encryption was enabled in SQL Server database.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Role-Based Access Control (RBAC)
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">Azure Resource Manager provides a granular <a href="https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal">Role-Based Access Control</a> (RBAC) model for assigning administrative privileges at the resource level (VMs, Storage etc.). Using an RBAC model (For e.g. service development team, App development team) can help in segregation and control of duties and grant only the amount of access to users/groups that they need to perform their jobs in selected resources. This enforces the principle of least privilege.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Resource Lock
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">An administrator may need to lock a subscription, resource group, or resource to prevent other users in organization from accidentally deleting or modifying critical resources. We can set the lock level to <strong>CanNotDelete</strong> or <strong>ReadOnly</strong>. In the portal, the locks are called <strong>Delete</strong> and <strong>Read-only</strong> respectively. Unlike RBAC, <a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-lock-resources">Locking Resources</a> would prevent intentional and accidental deletion of resources for all the users including the users who have owner access as well. <strong>CanNotDelete</strong> means authorized users can still read and modify a resource, but they can't delete the resource. <strong>ReadOnly</strong> means authorized users can read a resource, but they can't delete or update the resource. Applying this lock is similar to restricting all authorized users to the permissions granted by the Reader role. For Orica, we have configured this for critical pieces of Azure infrastructure, to provide an additional layer of safety.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara"><strong>Operations &amp; Management
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">Cognizant provides Managed Platform as a Service (mPaaS) for Orica through Microsoft Azure Cloud. Cognizant has leveraged several advantages of operating SAP systems in public cloud including scheduled automated Startup and Shutdown, automated backup management, monitoring and alerting, automated technical monitoring for optimizing the overall cost of technical operations and management. Some of the recommendations are described below.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Azure Costing and Reporting
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">Azure Cost Management licensed by Cloudyn, a Microsoft subsidiary, allows you to track cloud usage and expenditures for your Azure resources and other cloud providers including AWS and Google. Monitoring your usage and spending is critically important for cloud infrastructures because organizations pay for the resources they consume over time. When usage exceeds agreement thresholds, unexpected cost overages can quickly occur.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">Reports help you monitor spending to analyze and track cloud usage, costs, and trends. Using Over Time reports, you can detect anomalies that differ from normal trends.</span>
<span style="font-family: Candara">More</span>
<span style="font-family: Candara">detailed, line-item level data may also be available in the EA Portal (https://ea.azure.com) which are more flexible compared to Cloudyn reports and could be more useful.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara"><strong>Backup &amp; Restore
</strong></span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">One of the primary requirements of system availability management as part of technical operations is to protect the systems from accidental data loss due to factors such as infrastructure failure, data corruption or even complete loss of the systems in the event of a disaster. While concepts such as High Availability and Disaster Recovery will help to mitigate infrastructure failures, for handling events such as data corruption, loss of data, etc. a robust backup and restore strategy is essential. Availability of backups allow us to technically restore an application back to working state in case of a system corruption and present the "last line of defense" in case of a disaster recovery scenario. The main goal of backup/restore procedure is to restore the system to a known-working state.
</span></p>
<p style="text-align: justify;margin-left: 36pt"><span style="font-family: Candara">Some of the key requirements for Backup and Restore Strategy include:
</span></p>

<ul style="margin-left: 54pt">
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Backup should be restorable
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Prefer to use native database backup and restore tools
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Backup should be secure and encrypted
</span></div></li>
 	<li>
<div style="text-align: justify"><span style="font-family: Candara">Clearly defined retention requirements
</span></div>
<p style="text-align: justify"><span style="font-family: Candara"><strong>VM Snapshot Backups
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">Azure Infrastructure offers native backup for VMs (inclusive of disks attached) using <a href="https://docs.microsoft.com/en-us/azure/backup/backup-azure-vms-introduction">VM Snapshots</a>. VM Snapshot backups are stored within Azure Vaults which are part of the Azure Storage architecture and are geo-redundant by default. It is to be noted that Microsoft Azure does not support traditional data retention medium such as tapes. Data retention in cloud environment is achieved using technologies such as Azure Vault and Azure Blob which are part of Azure Storage Account architecture. In general, all VMs provisioned in Microsoft Azure (including databases) should be included as part of the VM Snapshot backup plan although the frequency can vary based on the criticality of the environment and criticality of the application. Encryption should be enabled at Azure Storage Account level so that the backups when stored in the Azure Vault are also encrypted when accessed outside the Azure Subscription.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara"><strong>Database Backups
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">While the restorability of file system and database software can be achieved using VM Snapshot process described above, VMs containing database may not be able to restore the database to a consistent state. Hence, backup of databases is highly essential to guarantee restorability of databases. It is advisable to have all databases in the landscape to be included as part of the Full Database Backups, the schedules for must be described based on the business criticality and requirements for the application. Consistency of the database backup file should be checked after the database backup is taken. This is to ensure restorability of the database backup.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">In addition to Full Database backups, it is recommended to perform transaction log backups at regular intervals. This frequency must be higher for a production environment to support point in time recovery requests and the frequency can be relatively lower for non-production environments.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara">Both Full Database Backups and Transaction Log Backups must be transferred to an offline device (such as Azure Blob) and retained as per data retention requirement. It is recommended to have all database backups to be encrypted using Native Database Backup Data Encryption methodology if the database supports it. SAP HANA 2.0 supports Native DB Backup Encryption.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara"><strong>Database Backup Monitoring and Restorability Tests
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">Backup Monitoring is essential to ensure the backups are occurring as per frequency and schedule. This can be automated through scripts. Restorability Test of backups will assist in guaranteeing the restorability of an application in the event of a disaster or data loss or data corruption.
</span></p>
<p style="text-align: justify"><span style="font-family: Candara"><strong>Conclusion
</strong></span></p>
<p style="text-align: justify"><span style="font-family: Candara">Cognizant SAP Cloud Practice in collaboration with SAP, Microsoft and SUSE leveraged and built some of the best practices for deploying SAP landscape in Azure for Orica's 4S Program. Through this article, some of the key topics that are very relevant for architecting an SAP landscape on Azure are exhibited. Hope you found this blog article useful. Feel free to add your comments.
</span></p>
</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>SAP Support for SQL Server 2017</title>
      <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/sap-support-for-sql-server-2017</link>
      <pubDate>Thu, 28 Jun 2018 17:29:22 GMT</pubDate>
      <dc:creator><![CDATA[Sebastian Dusch - AzureCAT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/saponsqlserver/?p=8755</guid>
      <description><![CDATA[We are happy to share that SAP released support for SQL Server 2017 for some SAP NetWeaver based...]]></description>
      <content:encoded><![CDATA[We are happy to share that SAP released support for SQL Server 2017 for some SAP NetWeaver based systems. In this blog we will talk about how you can update your existing installations on SQL Server to SQL Server 2017, what you need to do when installing a new SAP NetWeaver based system on SQL Server 2017 and what to consider when upgrading an SAP NetWeaver based system which is already running on SQL Server 2017. We will also list all supported products and the required Support Package Stacks.

For the first time, you do not need to apply new Support Packages Stacks if you are already running on a supported SPS for SQL Server 2016. The minimum SPS are the same. You only need a new SAP Kernel and ODBC driver.
<h2>SQL Server RDBMS DVD</h2>
<strong>Important</strong>: Please read SAP Note <a href="https://launchpad.support.sap.com/#/notes/2139358">2139358</a> (Login required) and SAP Note <a href="https://launchpad.support.sap.com/#/notes/2534720"><span>2534720 </span></a>(Login required) on more information about how and where to download the SQL Server 2017 RDBMS DVD.
<h2>Installation of SAP NetWeaver</h2>
The following SAP NetWeaver based products are supported on SQL Server 2017:
<ul>
 	<li>SAP products based on SAP NetWeaver Java for releases SAP NetWeaver 7.1 or higher</li>
 	<li>SAP products based on SAP NetWeaver ABAP for releases SAP NetWeaver 7.0 and higher</li>
 	<li>SAP NetWeaver PI for releases SAP NetWeaver 7.1 and higher</li>
 	<li>SAP Solution Manager 7.2</li>
</ul>
The following SAP NetWeaver based products are <strong>not</strong> supported on SQL Server 2017:
<ul>
 	<li>SAP Solution Manager 7.1 and earlier releases of SAP Solution Manager</li>
 	<li>SAP CRM 5.0 and SAP CRM 6.0 (also known as SAP CRM 2007)</li>
 	<li>SAP SCM 5.0 and SAP SCM 5.1 (also known as SAP SCM 2007)</li>
 	<li>SAP SRM 5.0</li>
 	<li>SAP NetWeaver Developer Workplace</li>
 	<li>SAP NetWeaver Java 7.0x</li>
</ul>
Before you start with the installation, please read the following SAP Notes:
<ul>
 	<li>Release planning Note – SAP Note <a href="https://launchpad.support.sap.com/#/notes/2492596">2492596</a> (Login required)</li>
 	<li>Setting up Note – SAP Note <a href="https://launchpad.support.sap.com/#/notes/2484674">2484674</a> (Login required)</li>
 	<li>Required SQL Server patches – SAP Note <a href="https://launchpad.support.sap.com/#/notes/62988">62988</a> (Login required)</li>
 	<li>SWPM Note and required Kernel DVD – SAP Note <a href="https://launchpad.support.sap.com/#/notes/1680045">1680045</a> (Login required)</li>
 	<li>Central Note for SL Toolset – SAP Note <a href="https://launchpad.support.sap.com/#/notes/1563579">1563579</a> (Login required)</li>
</ul>
<h2>Requirements</h2>
<ul>
 	<li>Windows Server 2012 64-bit or higher</li>
 	<li>SQL Server 2017 Enterprise Edition</li>
</ul>
<h2>Preparation</h2>
<h3>SAP Software Provisioning Manager</h3>
See SAP Note SAP Note <a href="https://launchpad.support.sap.com/#/notes/1680045">1680045</a> (Login required) on where to download the SWPM. Please make sure to always download the latest SWPM and the SWPM that matches the SAP NetWeaver version that you want to install (e.g. for SAP NetWeaver 7.0 based products you need to download 70SWPM).
You need to download at least SAP Software Provisioning Manager 1.0 SP23.
<h3>Kernel DVD</h3>
For installations with SWPM 7.0x (70SWPM), see SAP Note SAP Note <a href="https://launchpad.support.sap.com/#/notes/1680045">1680045</a> (Login required) on where to download the latest Kernel DVD.
Use the archive based installation for installations with SWPM.

For SAP products based on SAP NetWeaver 7.4 and higher, use the 7.49 DCK Kernel
For SAP products based on EHP1 for SAP NetWeaver 7.3 and lower use the 721_EXT Kernel DVD (only the EXT Kernel is supported)

SAP recommends using the latest SP stack kernel (SAPEXE.SAR and SAPEXEDB.SAR), available in the Support Packages &amp; Patches section of the SAP Support Portal <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/softwarecenter</a>.

For existing installations of NetWeaver 7.40, 7.50 and AS ABAP 7.51 this is SAP Kernel 749 PL 500. For details, see release note <a href="https://launchpad.support.sap.com/">2626990</a>.
For new installations of NetWeaver 7.40, 7.50 and AS ABAP 7.51 this is SAP Kernel 753 PL 100. For details, see DCK note <a href="https://launchpad.support.sap.com/">2556153</a> and release note <a href="https://launchpad.support.sap.com/">2608318</a>.
For AS ABAP 7.52 this is SAP Kernel 753 PL 100. For details, see release note <a href="https://launchpad.support.sap.com/">2608318</a>.
<h3>Java DVD</h3>
See SAP Note SAP Note <a href="https://launchpad.support.sap.com/#/notes/1680045">1680045</a> (Login required) on where to download the Java DVD for the product you want to install.
<h3>ODBC driver</h3>
If you want to install a distributed SAP System (database and SAP application Server are running on different hosts), make sure that the latest ODBC driver for Microsoft SQL Server is installed on the host running your SAP application Server. See SAP Note <a href="https://launchpad.support.sap.com/#/notes/1902794">1902794</a> (Login required)

The ODBC driver can also be downloaded from the Microsoft Download Center
<h2>Installation</h2>
Install your SAP system using
<ul>
 	<li>The SAP Software Provisioning Manager SAR archive (SWPM.SAR or 70SWPM.SAR) 1.0 SP23 or higher</li>
 	<li>The SAP Software Provisioning Manager Kernel DVD (for installations with 70SWPM.SAR)</li>
 	<li>Kernel archives of SAP Kernel 7.21 EXT, 7.22EXT, 7.49 or 7.53</li>
 	<li>The Java DVD as described in SAP Note <a href="https://launchpad.support.sap.com/#/notes/1680045">1680045</a> (Login required)</li>
 	<li>The DVDs that were originally shipped with the SAP product (Export DVD, language DVDs…)</li>
</ul>
To install the SAP NetWeaver based system, follow these steps:
<ol>
 	<li>After the Installation upgrade your kernel to the latest 7.21 EXT/7.22 EXT Kernel or 7.49 Kernel. 7.22 EXT Kernel is recommended for SAP System based on SAP NetWeaver 7.31 or lower.</li>
 	<li>ABAP/ABAP+JAVA: Connect your new SAP System to your SAP Solution Manager (only required if you do not install SAP Solution Manager)</li>
 	<li>ABAP/ABAP+JAVA: Create a maintenance stack to implement at least (only required if you do not install SAP Solution Manager):
<ul>
 	<li>SAP Business Suite 2005
<ul>
 	<li>SAP ERP 6.0 SPS 28 or higher</li>
</ul>
</li>
 	<li>SAP Business Suite 7 Support Release 1
<ul>
 	<li>SAP CRM 7.0 SPS 18 or higher</li>
 	<li>EHP4 for SAP ERP 6.0 SPS 18 or higher</li>
 	<li>SAP SCM 7.0 SPS 18 or higher</li>
 	<li>SAP SRM 7.0 SPS 19 or higher</li>
</ul>
</li>
 	<li>SAP Business Suite 7i 2010
<ul>
 	<li>EHP1 for SAP CRM 7.0 SPS 15 or higher</li>
 	<li>EHP5 for SAP ERP 6.0 SPS 15 or higher</li>
 	<li>EHP1 for SAP SCM 7.0 SPS 15 or higher</li>
 	<li>EHP1 for SAP SRM 7.0 SPS 15 or higher</li>
</ul>
</li>
 	<li>SAP Business Suite 7i 2011
<ul>
 	<li>EHP2 for SAP CRM 7.0 SPS 16 or higher</li>
 	<li>EHP6 for SAP ERP 6.0 SPS 16 or higher</li>
 	<li>EHP2 for SAP SCM 7.0 SPS 16 or higher</li>
 	<li>EHP2 for SAP SRM 7.0 SPS 16 or higher</li>
</ul>
</li>
 	<li>SAP Business Suite 7i 2013
<ul>
 	<li>EHP3 for SAP CRM 7.0 SPS 10 or higher</li>
 	<li>EHP7 for SAP ERP 6.0 SPS 10 or higher</li>
 	<li>EHP3 for SAP SCM 7.0 SPS 10 or higher</li>
 	<li>EHP3 for SAP SRM 7.0 SPS 10 or higher</li>
</ul>
</li>
 	<li>SAP Business Suite 7i 2016
<ul>
 	<li>EHP4 for SAP CRM 7.0 SPS 01 or higher</li>
 	<li>EHP8 for SAP ERP 6.0 SPS 01 or higher</li>
 	<li>EHP4 for SAP SCM 7.0 SPS 01 or higher</li>
 	<li>EHP4 for SAP SRM 7.0 SPS 01 or higher</li>
</ul>
</li>
 	<li>SAP NetWeaver 7.1 SPS 20 or higher</li>
 	<li>SAP NetWeaver 7.1 including EHP1 SPS 15 or higher</li>
 	<li>SAP NetWeaver 7.3 SPS 14 or higher</li>
 	<li>SAP NetWeaver 7.3 including EHP1 SPS 17 or higher</li>
 	<li>SAP NetWeaver 7.4 SPS 12 or higher</li>
 	<li>SAP NetWeaver 7.5 SPS 01 or higher</li>
 	<li>SAP NetWeaver 7.51 and higher do not need additional support packages</li>
</ul>
</li>
 	<li>ABAP/ABAP+JAVA: Use the Software Update Manager (SUM) 1.0 SP17 or higher to implement the maintenance stack (only required if you do not install SAP Solution Manager)
<strong>DO NOT</strong> use SPAM to implement the support packages
<strong>DO NOT</strong> update SPAM manually but let the SUM update the SPAM as part of the maintenance stack implementation</li>
 	<li>SAP Solution Manager 7.2 only: Use the Software Update Manager (SUM) 1.0 SP17 to install SAP Solution Manager 7.2 SR1 which already contains the required SPS 01</li>
</ol>
<h3>Post Steps</h3>
Configure your SQL Server as described in SAP Note <a href="https://launchpad.support.sap.com/#/notes/2484657">2484657</a> (Login required)
<h2>System Copy of SAP NetWeaver</h2>
You can also copy your SAP System that is running on an older SQL Server release to a machine running a new SQL Server with the following steps:
<ul>
 	<li>Make sure that your source system is at least on the support package stack as described in the installation section if this blog.</li>
 	<li>Copy your SAP system using
<ul>
 	<li>The SAP Software Provisioning Manager 1.0 SP23 or higher SAR archive (SWPM.SAR or 70SWPM.SAR)</li>
 	<li>The SAP Software Provisioning Manager Kernel DVD for installations with 70SWPM or the lastest archives of the 7.21 EXT, 7.22 EXT, 7.49 or 7.53 kernel</li>
 	<li>The Java DVD as described in SAP Note <a href="https://launchpad.support.sap.com/#/notes/1680045">1680045</a> (Login required)</li>
 	<li>The DVDs that were originally shipped with the SAP product (Export DVD, language DVDs…)</li>
</ul>
</li>
 	<li>After the Installation upgrade your kernel to the latest 7.21 EXT, 7.22 EXT Kernel, 7.49 or 7.53 Kernel. 7.22 EXT Kernel is recommended for SAP System based on SAP NetWeaver 7.31 or lower.</li>
</ul>
The steps for a System Copy where the source SAP system is already running on SQL 2017 are the same.
<h2>Update or Upgrade of SAP NetWeaver</h2>
Only updates or upgrades that are supported by the SAP Software Update Manager are supported for SQL Server 2017. Please read SAP Note SAP Note <a href="https://launchpad.support.sap.com/#/notes/1563579">1563579</a> (Login required) to find the SAP Note for the latest SAP Software Update Manager that describes the supported update and upgrade scenarios.

As an example, the following upgrades are not supported by SAP Software Manager and are therefore not supported for SQL Server 2017:

Upgrade of SAP CRM 5.0 to SAP CRM 7.0 or EHP1 for SAP CRM 7.0

Upgrade of SAP SCM 5.0 to SAP SCM 7.0 or EHP1 for SAP SCM 7.0

Upgrade of SAP SRM 5.0 to SAP SRM 7.0 or EHP1 for SAP SRM 7.0

Use at least SAP Software Update Manager 1.0 SP22 or SAP Software Manager 2.0 SP02]]></content:encoded>
    </item>
    <item>
      <title>SAP on SQL Server on Azure – How to Bypass Proxy Server During Backup to URL</title>
      <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/sap-on-sql-server-on-azure-how-to-bypass-proxy-server-during-backup-to-url</link>
      <pubDate>Mon, 25 Jun 2018 02:18:06 GMT</pubDate>
      <dc:creator><![CDATA[Cameron - MSFT SAP Program Manager]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/saponsqlserver/?p=8705</guid>
      <description><![CDATA[This short blog discusses how to avoid overloading an on-premises or Azure Proxy server with Backup...]]></description>
      <content:encoded><![CDATA[This short blog discusses how to avoid overloading an on-premises or Azure Proxy server with Backup to URL. Creating a typical .Net configuration file to disable a proxy server will allow BackupToURL.exe to communicate via https directly to Azure blog storage.
<h1>1. SQL Server Backup to URL</h1>
Modern releases of SQL Server support backups to Azure Blob storage. This method is convenient and popular for SAP on SQL customers running on Azure for full database backups and/or transaction log backups.

Customers running SQL Server Backup to URL are strongly recommended to update to the latest support pack and cumulative update, especially if the databases are running Transparent Database Encryption.

<a href="https://blogs.msdn.microsoft.com/saponsqlserver/2017/04/04/more-questions-from-customers-about-sql-server-transparent-data-encryption-tde-azure-key-vault/">https://blogs.msdn.microsoft.com/saponsqlserver/2017/04/04/more-questions-from-customers-about-sql-server-transparent-data-encryption-tde-azure-key-vault/</a>

SAP always support the latest Service Pack and Cumulative Update for SQL Server <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/62988</a>

<span style="color: #323e4f;font-size: 15pt"><strong>2. Proxy Server Configuration &amp; Backup to URL
</strong></span>

The Backup to URL feature is implemented as a separate executable called BackupToURL.exe. This executable will call a standard Windows API when sending HTTPS traffic. By default this API will read the Windows Proxy Server configuration from Control Panel -&gt; Internet Options -&gt; Connections -&gt; LAN Settings
<p style="margin-left: 36pt"><img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/06/062518_0216_SAPonSQLSer11.png" /></p>
Customers running SAP on SQL Server on Azure generally have one of two possible scenarios for the proxy server:
<p style="margin-left: 36pt">1. Azure is leveraging the central corporate proxy server that is kept in an existing on-premises data center.</p>
<p style="margin-left: 36pt">2. A separate proxy server has been setup in Azure for Azure VMs/services to leverage.</p>
In either case the proxy is unnecessary and will slow down the backup performance considerably. If the proxy server is on-premises the https call to the proxy server involves a two way transit of the ExpressRoute link. This adds to data costs for the link.

Modern versions of SQL Server support backup to many URL targets simultaneously and the traffic volume can be considerable. Customers have noticed that the proxy server and/or ExpressRoute link can become saturated.

It is generally recommended to disable the proxy server for BackupToURL.exe only and allow SQL Server Backup to URL to communicate directly with the target storage account. There are several ways to do this, but the recommended procedure is documented below

<span style="color: #323e4f;font-size: 15pt"><strong>3. How to Disable Bypass Proxy Server for SQL Server Backup to URL
</strong></span>

To disable the BackupToURL.exe from using the default proxy server create a file in the following path:
<p style="margin-left: 36pt"><span style="font-family: Courier New">C:\Program Files\Microsoft SQL Server\<span style="background-color: yellow">MSSQL13.\&lt;InstanceName&gt;\</span>MSSQL\Binn
</span></p>
The actual requirement is that the file be in the same directory as BackupToURL.exe for a particular version of SQL Server and Instance Name

The filename must be:
<p style="margin-left: 36pt"><span style="font-family: Courier New"><span style="background-color: yellow">BackuptoURL.exe.config</span>
</span></p>
The file contents should be:
<p style="margin-left: 36pt"><span style="font-family: Courier New">&lt;?xml version ="1.0"?&gt;
</span></p>
<p style="margin-left: 36pt"><span style="font-family: Courier New">&lt;configuration&gt;
</span></p>
<p style="margin-left: 36pt"><span style="font-family: Courier New"> &lt;system.net&gt;
</span></p>
<p style="margin-left: 36pt"><span style="font-family: Courier New"> &lt;defaultProxy enabled="<span style="background-color: yellow">false</span>" useDefaultCredentials="true"&gt;
</span></p>
<p style="margin-left: 36pt"><span style="font-family: Courier New"> &lt;proxy usesystemdefault="true" /&gt;
</span></p>
<p style="margin-left: 36pt"><span style="font-family: Courier New"> &lt;/defaultProxy&gt;
</span></p>
<p style="margin-left: 36pt"><span style="font-family: Courier New"> &lt;/system.net&gt;
</span></p>
<p style="margin-left: 36pt"><span style="font-family: Courier New">&lt;/configuration&gt;
</span></p>
Additional information can be found here: <a href="https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-backup-to-url-best-practices-and-troubleshooting?view=sql-server-2017">https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-backup-to-url-best-practices-and-troubleshooting?view=sql-server-2017</a>

Depending on the exact customer configuration it is possible that SQL Server executable does require a valid proxy server to do certain activities such as reading/writing to the Azure Key Vault for TDE. Care must be taken when completely disabling the proxy server via Control Panel

Additional options for controlling routing could include configurating a UDR. Another option is to create a private local endpoint for the blob storage account on the vnet of the SQL VM. Since the IP address is now local to the VM the proxy server will not be used.

<span style="color: #323e4f;font-size: 15pt"><strong>Additional Links &amp; Information
</strong></span>

See point #5 for Backup to URL tuning <a href="https://blogs.msdn.microsoft.com/saponsqlserver/2017/04/04/sap-on-sql-general-update-for-customers-partners-march-2017/">https://blogs.msdn.microsoft.com/saponsqlserver/2017/04/04/sap-on-sql-general-update-for-customers-partners-march-2017/</a>

<a href="https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-backup-to-url?view=sql-server-2017">https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-backup-to-url?view=sql-server-2017</a>

<a href="https://docs.microsoft.com/en-us/sql/t-sql/statements/backup-transact-sql?view=sql-server-2017">https://docs.microsoft.com/en-us/sql/t-sql/statements/backup-transact-sql?view=sql-server-2017</a>

<a href="https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/deleting-backup-blob-files-with-active-leases?view=sql-server-2017">https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/deleting-backup-blob-files-with-active-leases?view=sql-server-2017</a>

Managed Backups to Azure Blob Storage <a href="https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-managed-backup-to-microsoft-azure?view=sql-server-2017">https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-managed-backup-to-microsoft-azure?view=sql-server-2017</a>]]></content:encoded>
    </item>
    <item>
      <title>Installation and Setup of Oracle 12.2 ASM on Oracle Linux on Azure – Installation Videos &amp; Backup Strategies</title>
      <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/oracle_asm_azure</link>
      <pubDate>Sun, 24 Jun 2018 08:15:18 GMT</pubDate>
      <dc:creator><![CDATA[Cameron - MSFT SAP Program Manager]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/saponsqlserver/?p=8625</guid>
      <description><![CDATA[This short blog contains videos showing the end to end installation process to setup Oracle 12.2 ASM...]]></description>
      <content:encoded><![CDATA[This short blog contains videos showing the end to end installation process to setup Oracle 12.2 ASM on Azure.

The videos and documentation in this blog are being used to get formal certification for Oracle 12.2 ASM on Azure. This process is still ongoing

It is important to follow the procedure documented in this blog and not to follow the existing generic Oracle ASM on Azure documentation

The generic Oracle ASM on Azure documentation will cause many errors during SWPM installation.
<h1>Oracle Linux Preparation, Grid Installation, Oracle 12.2 Installation and SAP Installation</h1>
These three videos show the process flow for installation of an SAP NetWeaver 7.5 on Oracle 12.2 ASM

The installation sequence is:
<ol>
 	<li>Oracle Linux 7.4 Preparation Steps</li>
 	<li>Install the ASCS</li>
 	<li>
<div>Install the DB Instance</div>
<ol>
 	<li>When prompted to install Oracle DBMS with RUNINSTALLER, first install the Grid Infrastructure <a href="https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/installing-oracle-grid-infrastructure-for-a-standalone-server-with-a-new-database-installation.html">https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/installing-oracle-grid-infrastructure-for-a-standalone-server-with-a-new-database-installation.html#GUID-0B1CEE8C-C893-46AA-8A6A-7B5FAAEC72B3</a></li>
 	<li>After installing Grid Infrastructure configure ASM disk groups as required</li>
 	<li>Start RUNINSTALLER and install DBMS</li>
 	<li>Continue SAPInst</li>
</ol>
</li>
 	<li>Install PAS</li>
 	<li>Patch Grid Infrastructure and Oracle DB to latest released Oracle patch</li>
</ol>
The videos below illustrate the process

NOTE: Oracle Client 12.2 is not released yet, therefore the Oracle Client 12.1 should be used and configured. Be sure to specify DB ENGINE = 12.2 and DB CLIENT = 12.1 during setup. Do not attempt to follow Oracle ASM 11.x or ASM 12.1 documentation as there are large differences with ASM 12.2

1.ASCS-OracleASM-Install

[video width="1280" height="720" mp4="https://msdnshared.blob.core.windows.net/media/2018/06/1.ASCS-OracleASM-Install.mp4"][/video]

2.DB-OracleASM-Install

[video width="1280" height="720" mp4="https://msdnshared.blob.core.windows.net/media/2018/06/2.DB-OracleASM-Install.mp4"][/video]

3.APP-OracleASM-Install

[video width="2048" height="1272" mp4="https://msdnshared.blob.core.windows.net/media/2018/06/3.APP-OracleASM-Install.mp4"][/video]
<h1>Patching Oracle 12.2 Grid Infrastructure and Oracle 12.2 DB Components</h1>
The process for patching the Grid Infrastructure (G.I) and DBMS components is illustrated below.

The latest Oracle patches supported for SAP applications is usually available here: <a href="https://service.sap.com/oracle">https://service.sap.com/oracle</a>

509314 - Downloading Oracle Patches from the SAP Support Portal <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/509314</a>

The sequence of patching is (1) Patch the Grid Infrastructure (2) After Grid Infrastructure patch the DBMS

<a href="https://msdnshared.blob.core.windows.net/media/2018/06/Patching-Oracle-Grid-and-DBMS-12.2.docx">Patching-Oracle-Grid-and-DBMS-12.2</a>
<h1>Backup Solutions for Oracle 12.2 ASM on Azure</h1>
Three different backup solutions have been tested with Oracle ASM on Azure.
<ol>
 	<li>Native Oracle RMAN Backup</li>
 	<li>SAP BRTools (which is configured to call RMAN)</li>
 	<li>Azure CommVault Virtual Appliance</li>
</ol>
During testing backup times for RMAN and BRTools was around 11 minutes. CommVault was around 30 minutes

<a href="https://msdnshared.blob.core.windows.net/media/2018/06/Oracle-ASM-Backup-Scenarios.pptx">Oracle-ASM-Backup-Scenarios</a>

<a href="https://msdnshared.blob.core.windows.net/media/2018/06/CommVault-Oracle-ASM-Backup.docx">CommVault-Oracle-ASM-Backup</a>
<h1>Links &amp; SAP Notes</h1>
Details of the VM setup &amp; configuration
<div>
<table style="border-collapse: collapse" border="0"><colgroup> <col style="width: 236px" /> <col style="width: 173px" /> <col style="width: 238px" /> <col style="width: 176px" /> <col style="width: 250px" /> <col style="width: 361px" /></colgroup>
<tbody valign="top">
<tr style="height: 36px;background: #0070c0">
<td style="border: solid #a3a3a3 1.0pt;padding: 12px"><span style="color: white;font-family: Calibri Light"><strong>Machine Name</strong></span></td>
<td style="border-top: solid #a3a3a3 1.0pt;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px"><span style="color: white;font-family: Calibri Light"><strong>Internal IP</strong></span></td>
<td style="border-top: solid #a3a3a3 1.0pt;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px"><span style="color: white;font-family: Calibri Light"><strong>Purpose</strong></span></td>
<td style="border-top: solid #a3a3a3 1.0pt;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt"><span style="color: white;font-family: Calibri Light"><strong>Data Disks</strong></span></td>
<td style="border-top: solid #a3a3a3 1.0pt;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px"><span style="color: white;font-family: Calibri Light"><strong>VM Size</strong></span></td>
<td style="border-top: solid #a3a3a3 1.0pt;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt"><span style="color: white;font-family: Calibri Light"><strong>OS</strong></span></td>
</tr>
<tr style="height: 36px">
<td style="border-top: none;border-left: solid #a3a3a3 1.0pt;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px">sapappl4</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px">10.0.0.13</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px">App + ASCS</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt"><span style="color: black"> </span></td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px"> Standard E8s v3 (8 vcpus, 64 GB memory)</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt">Oracle-Linux:7.4:7.4.20170828</td>
</tr>
<tr style="height: 36px">
<td style="border-top: none;border-left: solid #a3a3a3 1.0pt;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px">oradb4</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px">10.0.0.10</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px">Oracle DB</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt"><span style="color: black">10 * P20(512GB)</span></td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px">Standard E16s v3 (16 vcpus, 128 GB memory)</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt">Oracle-Linux:7.4:7.4.20170828</td>
</tr>
<tr style="height: 36px">
<td style="border-top: none;border-left: solid #a3a3a3 1.0pt;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px">SAPORAJmp</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px"></td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px">Jump VM / Downloads</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt"><span style="color: black"> </span></td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt;padding: 12px">Standard D2s v3 (2 vcpus, 8 GB memory)</td>
<td style="border-top: none;border-left: none;border-bottom: solid #a3a3a3 1.0pt;border-right: solid #a3a3a3 1.0pt">Win 2016</td>
</tr>
</tbody>
</table>
</div>
Note: 10 * P20 Premium Disks are allocated as follows: 1 x P20 for /oracle, 3 x P20 for DATA, 3 x P20 for ARCH, 3 x P20 for REDO

It is recommended to use Moba Xterm to do the GI and Oracle DB installation <a href="https://mobaxterm.mobatek.net/">https://mobaxterm.mobatek.net/</a>

2507228 - Database: Patches for 12.2.0.1 <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0002507228</a>

2470718 - Oracle Database Parameter (12.2) <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0002470718</a>

2558521 - Grid Infrastructure: Patches for 12.2.0.1 <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0002558521</a>

2477472 - Oracle Database Upgrade with Grid Infrastructure (12.2) <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0002477472</a>

105047 - Support for Oracle functions in the SAP environment <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0000105047</a>

2039619 - SAP Applications on Microsoft Azure using the Oracle Database: Supported Products and Versions <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0002039619</a>

1915301 - Database Software 12c Installation on Unix <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0001915301</a>

1915317 - Migrating Software Owner to 'oracle' <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0001915317</a>

1905855 - Oracle database doesn´t start in ASM <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0001905855</a>

1853538 - Oracle RAC controlfiles on ASM with multiple failure groups <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0001853538</a>

1738053 - SAPinst for Oracle ASM installation <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0001738053</a>

1550133 - Using Oracle Automatic Storage Management (ASM) with SAP NetWeaver based Products <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/1550133</a>

2087004 - BR*Tools support for Oracle 12c <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0002087004</a>

2007980 - SAP Installation with Oracle Single Instance on Oracle Exadata and Oracle Database Appliance <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0002007980</a>

819829 - Oracle Instant Client Installation and Configuration on Unix or Linux <a href="https://launchpad.support.sap.com/">https://launchpad.support.sap.com/#/notes/0000819829</a>

<a href="https://docs.oracle.com/en/database/oracle/oracle-database/12.2/index.html">https://docs.oracle.com/en/database/oracle/oracle-database/12.2/index.html</a>

<a href="https://www.sap.com/community/topic/oracle.html">https://www.sap.com/community/topic/oracle.html</a>

Recommended yum packages:

sudo yum update

sudo yum install libaio.x86_64 -y

sudo yum install uuid* -y

sudo yum install nfs-utils -y

#sudo yum install ksh -y

sudo yum install libstdc++-devel.x86_64 -y

sudo yum install xorg-x11-xauth.x86_64 -y

sudo yum install libaio-devel.x86_64 -y

sudo yum install sysstat.x86_64 -y

sudo yum install smartmontools.x86_64 -y

sudo yum install tcsh.x86_64 -y

sudo yum install xorg-x11-utils.x86_64 -y

sudo yum install ksh.x86_64 -y

sudo yum install glibc-devel.x86_64 -y

sudo yum install compat-libcap1.x86_64 -y

sudo yum install xorg-x11-apps.x86_64 -y

Special Credit &amp; Thanks to Ravi Alwani from Azure CAT GSI Team for creating these videos and lab testing.

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Installation Procedure for Sybase 16. 3 Patch Level 3 Always-on + DR on Suse 12. 3 – Recent Customer Proof of Concept</title>
      <link>https://docs.microsoft.com/archive/blogs/saponsqlserver/installation-procedure-for-sybase-16-3-patch-level-3-always-on-dr-on-suse-12-3-recent-customer-proof-of-concept</link>
      <pubDate>Mon, 18 Jun 2018 06:33:01 GMT</pubDate>
      <dc:creator><![CDATA[Cameron - MSFT SAP Program Manager]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/saponsqlserver/?p=6665</guid>
      <description><![CDATA[In recent months we saw several customers with large investments into Hana technologies approach...]]></description>
      <content:encoded><![CDATA[In recent months we saw several customers with large investments into Hana technologies approach Microsoft for information about deploying large mission critical SAP applications on Azure with the Sybase ASE database.

SAP Hana customers are typically able to deploy Sybase ASE at little or no additional cost if they have licensed Hana Database.

Many of the customers that have contacted Microsoft are shutting datacenters or terminating UNIX platforms and moving ECC or BW systems in the size range of 25-45TB DB volume to Azure. An earlier blog describes some of the requirements and best practices for VLDB migrations to Azure. <a href="https://blogs.msdn.microsoft.com/saponsqlserver/2018/04/10/very-large-database-migration-to-azure-recommendations-guidance-to-partners/">https://blogs. msdn. microsoft. com/saponsqlserver/2018/04/10/very-large-database-migration-to-azure-recommendations-guidance-to-partners/</a>

Until recently there was no simple documented straight forward installation procedure for a typical two node High-Availability pair with Synchronous replication and a third node with Asynchronous replication. This is quite a common requirement for SAP customers.

This blog is designed to supplement the existing SAP provided documentation and to provide some hints and additional information. The SAP Sybase team are continuously updating and improving the Sybase documentation, so it is always recommended to start with the official documentation and then cross reference this documentation. This document is based on real deployments from Cognizant and DXC. The latest version of Sybase &amp; Suse were then installed in a lab test environment to provide screenshots
<h1>High Level Overview of Installation Steps</h1>
The high-level installation process for a 3 tier SAP Distributed Installation is:
<ol>
 	<li>
<div>Read required OSS Notes, Installation Guides, Download Installation Media and the SAP on Sybase Business Suite documentation</div>
<ol>
 	<li>
<div style="background: #e7e6e6">For SUSE Linux Release 12 with SP3 release note : <a href="https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12-SP3/">https://www. suse. com/releasenotes/x86_64/SUSE-SLES/12-SP3/</a></div></li>
 	<li>
<div style="background: #e7e6e6">SAP Software Downloads <a href="https://support.sap.com/en/my-support/software-downloads.html">https://support. sap. com/en/my-support/software-downloads. html</a></div></li>
 	<li>
<div style="background: #e7e6e6">SWPM Download <a href="https://support.sap.com/sltoolset">https://support. sap. com/sltoolset</a></div></li>
 	<li>
<div style="background: #e7e6e6">Sybase Release Matrix<a href="https://wiki.scn.sap.com/wiki/display/SYBASE/Targeted+ASE+16.0+Release+Schedule+and+CR+list+Information">https://wiki. scn. sap. com/wiki/display/SYBASE/Targeted+ASE+16. 0+Release+Schedule+and+CR+list+Information</a></div></li>
 	<li>
<div style="background: #e7e6e6">Sybase Official Documentation <a href="https://help.sap.com/viewer/product/SAP_ASE/16.0.3.3/en-US">https://help. sap. com/viewer/product/SAP_ASE/16. 0. 3. 3/en-US</a></div></li>
</ol>
</li>
 	<li>Provision Azure VMs with Suse for SAP Applications 12. 3 with Accelerated Networking Enabled</li>
 	<li>Perform OS patching and preparation steps detailed below</li>
 	<li>Run SWPM Distributed Install and install the ASCS Instance</li>
 	<li>Export the /sapmnt NFS share</li>
 	<li>Mount the /sapmnt NFS share on the Primary, Secondary and DR DB server</li>
 	<li>Run SWPM Distributed Install and install the Primary DB Instance</li>
 	<li>Run SWPM Distributed Install and install the Primary Application Server (Optional: add additional App servers)</li>
 	<li>Perform Sybase Always-on preparation steps on Primary DB Instance</li>
 	<li>Run setuphadr on Primary DB Instance</li>
 	<li>Run SWPM Distributed Install and install the Secondary DB Instance</li>
 	<li>Perform Sybase Always-on preparation steps on Secondary DB Instance</li>
 	<li>Run setuphadr on Secondary DB Instance</li>
 	<li>Run SWPM Distributed Install and install the DR DB Instance</li>
 	<li>Perform Sybase Always-on preparation steps on DR DB Instance</li>
 	<li>Run setuphadr on DR DB Instance</li>
 	<li>Run post steps such as installing Fault Manager</li>
</ol>
<h1>Deployment Config</h1>
<ol>
 	<li>Suse 12. 3 with latest updates</li>
 	<li>Sybase 16. 03. 03</li>
 	<li>SWPM version 22 or 23. SAP Kernel 7. 49 patch 500. NetWeaver ABAP 7. 50</li>
 	<li>Azure Ev3 VMs with Accelerated Networking and 4 vcpu</li>
 	<li>Premium Storage – each DB server has 2 x P20 disks (or more as required). App server has only a boot disk</li>
 	<li>Official Sybase Documentation (some steps do not work, supplement with this blog) <a href="https://help.sap.com/viewer/product/SAP_ASE/16.0.3.3/en-US">https://help. sap. com/viewer/product/SAP_ASE/16. 0. 3. 3/en-US</a></li>
 	<li>Sample Response Files are attached here: <a href="https://msdnshared.blob.core.windows.net/media/2018/05/Sybase-Sample-Response-Files.zip">Sybase-Sample-Response-Files</a>. It is recommended to download and review these files</li>
 	<li>Sybase Always-on does not leverage OS level clustering technologies such as Pacemaker or Windows cluster. The Azure ILB is not used. Instead the SAP workprocess is aware of the Primary and Secondary Sybase server. The DR node does not support automatic failover and this is a manual process to setup and configure SAP app servers to connect to the DR node</li>
 	<li>This installation shows a "Distributed" installation. If the SAP Central Services should be highly available, follow the SAP on Azure documentation for Pacemaker</li>
 	<li>Sybase Fault Manager is automatically installed on the SAP PAS during installation</li>
 	<li>
<div>Be careful of Linux vs. Windows End of Life characters. Use Linux command cat -v response_file. rsIf ^M are seen then there are Windows EOL characters.</div>
<p style="background: #e7e6e6;margin-left: 45pt">Example:cat -v test. sh</p>
<p style="background: #e7e6e6;margin-left: 45pt">Output:</p>
<p style="background: #e7e6e6;margin-left: 45pt">Line 1 <span style="color: red">^M</span></p>
<p style="background: #e7e6e6;margin-left: 45pt">Line 2 <span style="color: red">^M</span></p>
<p style="background: #e7e6e6;margin-left: 45pt">Line 3 <span style="color: red">^M</span></p>
<p style="background: #e7e6e6;margin-left: 45pt">(Note: CTRL+M is a single character in Linux, which is carriagereturn in Windows. This needs to be fixed before utilizing the file in Linux )</p>
<p style="background: #e7e6e6;margin-left: 45pt">    To fix the issue</p>
<p style="background: #e7e6e6;margin-left: 45pt">        $&gt; dos2unix test. sh</p>
<p style="background: #e7e6e6;margin-left: 45pt">        Output</p>
<p style="background: #e7e6e6;margin-left: 45pt">            Line 1</p>
<p style="background: #e7e6e6;margin-left: 45pt">            Line 2</p>
<p style="background: #e7e6e6;margin-left: 45pt">            Line 3</p>
</li>
 	<li>
<div>Hosts file configuration used for this deployment</div>
<p style="background: #e7e6e6;margin-left: 45pt">Example: &lt;IP Address&gt;&lt;FQDN&gt; &lt;SHORTNAME&gt; &lt;#Optional Comments&gt;</p>
<p style="background: #e7e6e6;margin-left: 45pt">10. 1. 0. 9     sybdb1. hana. com     sybdb1    #primary DB</p>
<p style="background: #e7e6e6;margin-left: 45pt">10. 1. 0. 10   sybapp1. hana. com    sybapp1    #SAP NW 7. 5 PAS</p>
<p style="background: #e7e6e6;margin-left: 45pt">10. 1. 0. 11   sybdb2. hana. com     sybdb2        #secondary DB</p>
<p style="background: #e7e6e6;margin-left: 45pt">10. 1. 0. 12   sybdb3. hana. com    sybdb3        #tertiary DB for DR</p>
<span style="color: #00b050;font-size: 28pt"><span style="background-color: yellow"><strong>Common Prepare Steps on all Suse Servers </strong></span>
</span></li>
</ol>
<p style="background: #e7e6e6">sudo zypper install -y glibc-32bit</p>
<p style="background: #e7e6e6">sudo zypper install -y libgcc_s1-32bit</p>
#these two glib 32bit are mandatory otherwise Always-on will not work
<p style="background: #e7e6e6">sudo zypper up -y</p>
Note : It is mandatory to reboot the server if kernel patches are applied.

#resize the boot disk. The default linux root disk of 30GB is too small. Shutdown the VM and edit the disks in Azure Portal or Powershell. Increase the size of the disk to 60-100GB. Restart the VM and run the commands below. There is no benefit or advantage to provisioning an additional separate disk for a SAP application server
<p style="background: #e7e6e6">sudo fdisk /dev/sda</p>
<p style="background: #e7e6e6">##delete the existing partition (this will not delete the data) and create [n] new primary [p] partition with defaults and write [w] config</p>
<p style="background: #e7e6e6">sudo resize2fs /dev/sda2</p>
<p style="background: #e7e6e6">sudo reboot</p>
#Check Accelerated Networking is working
<p style="background: #e7e6e6">/sbin/ethtool -S eth0 | grep vf_</p>
#Add these entries to the hosts file

sudo vi /etc/hosts
<p style="background: #e7e6e6">10. 1. 0. 9     sybdb1. hana. com     sybdb1    #primary DB</p>
<p style="background: #e7e6e6">10. 1. 0. 10   sybapp1. hana. com    sybapp1    #SAP NW 7. 5 PAS</p>
<p style="background: #e7e6e6">10. 1. 0. 11   sybdb2. hana. com     sybdb2        #secondary DB</p>
<p style="background: #e7e6e6">10. 1. 0. 12   sybdb3. hana. com    sybdb3        #tertiary DB for DR</p>
 #edit the waagent to create a swapfile
<p style="background: #e7e6e6">sudo vi /etc/waagent. conf</p>
<p style="background: #e7e6e6">line to look for&gt;&gt;</p>
<p style="background: #e7e6e6">ResourceDisk. EnableSwap=n</p>
<p style="background: #e7e6e6">ResourceDisk. SwapSizeMB=</p>
<p style="background: #e7e6e6">&lt;&lt;</p>
<p style="background: #e7e6e6">Modify the above values Note : Swap size must be given in MB size only.</p>
<p style="background: #e7e6e6">#enable the swapfile and set a size of 2GB or more. Example:</p>
<p style="background: #e7e6e6">ResourceDisk. EnableSwap=y</p>
<p style="background: #e7e6e6">ResourceDisk. SwapSizeMB=2000</p>
<p style="background: #e7e6e6">Once done restart of the agent is necessary to get the swap file up and active.</p>
<p style="background: #e7e6e6">sudo systemctl restart waagent</p>
<p style="background: #e7e6e6">Other Services to be enabled and restarted are:</p>
<p style="background: #e7e6e6">sudo systemctl restart nfs-server</p>
<p style="background: #e7e6e6">sudo systemctl enable nfs-server</p>
<p style="background: #e7e6e6">sudo systemctl status uuidd</p>
<p style="background: #e7e6e6">sudo systemctl enable uuidd</p>
<p style="background: #e7e6e6">sudo systemctl start uuidd</p>
<p style="background: #e7e6e6">sudo systemctl status uuidd</p>
##run sapcar and unpack SWPM 22 or 23

sapcar -xvf SWPM10SP22_7-20009701. SAR

<span style="color: #00b050;font-size: 28pt"><span style="background-color: yellow"><strong>SAP APP Server ASCS Install</strong></span>
</span>

sudo /source/swpm/sapinst SAPINST_REMOTE_ACCESS_USER=&lt;os-user&gt;

Open a web browser from a Management Server and enter the Suse os-user name and password <a href="https://10.1.0.10:4237/sapinst/docs/index.html">https://10. 1. 0. 10:4237/sapinst/docs/index. html</a>

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio1.png" />
<p style="margin-left: 27pt"><img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio2.png" /></p>
<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio3.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio4.png" />
<p style="background: #e7e6e6">##after install exportthe NFS Share for /sapmnt</p>
<p style="background: #e7e6e6">sudo vi /etc/exports</p>
<p style="background: #e7e6e6">#add this line /sapmnt*(rw,no_root_squash)</p>
<p style="background: #e7e6e6">## open port 2049 for nfs on NSG if required [by default VMs on same vnet can talk to each other]</p>
<p style="background: #e7e6e6"> sudo systemctl restart nfs-server</p>
<span style="color: #00b050;font-size: 28pt"><span style="background-color: yellow"><strong>SAP DB Instance Install</strong></span>
</span>

##do common preparation steps such as zypper and hosts file etc

#create disks for sybase
<p style="background: #e7e6e6">sudo fdisk -l | grep /dev/sd</p>
<p style="background: #e7e6e6">sudo fdisk /dev/sdc  -&gt; n, p, w</p>
<p style="background: #e7e6e6">sudo fdisk /dev/sdd  -&gt; n, p, w</p>
#It is generally recommended to use LVM and create pv, lv etc here so we can test performance later with striping additional disks.

Note: if multiple disk used in creating data / Backup / Log storage, make a necessary striping enabled to get optimal performance.
<p style="background: #e7e6e6">Example:</p>
<p style="background: #e7e6e6">vgcreate VG_DATA /dev/sdc /dev/sdd</p>
<p style="background: #e7e6e6">lvcreate -l 100%F VG_DATA -n lv_data -i 2 -I 256</p>
sudo pvcreate /dev/sdc1 /dev/sdc1

sudo pvcreate /dev/sdc1 /dev/sdd1

sudo pvscan

sudo vgcreate syb_data_vg /dev/sdc1

sudo vgcreate syb_log_vg /dev/sdd1

sudo lvcreate -i1 -l 100%FREE -n syb_data_lvsyb_data_vg

sudo lvcreate -i1 -l 100%FREE -n syb_log_lvsyb_log_vg

sudo mkfs. xfs -f /dev/syb_data_vg/syb_data_lv

sudo mkfs. xfs -f/dev/syb_log_vg/syb_log_lv

sudo mkdir -p /sybase/source

sudo mkdir -p /log

sudo mkdir -p /sapmnt

sudo blkid | grep log

sudo blkid | grep data

Edit /etc/fstab and add the entries for the created disks.
<p style="background: #e7e6e6"><strong>Option 1:
</strong></p>
Identify based on created volume group and lv details.

Ex: ls /dev/mapper/

And fetch the right devices

Ex: syb_data_vg-syb_data_lv

Add the the entries into /etc/fstab

sudo vi /etc/fstab

Add the lines.

/dev/mapper/syb_data_vg-syb_data_lv /hana/data xfs defaults,nofail 1 2
<p style="background: #e7e6e6"><strong>Option 2:
</strong></p>
#now sudo su - to root user and run this (replace GUID) - cannot run this with sudo command, must be root

sudo su -

echo "/dev/disk/by-uuid/799603d6-20c0-47af-80c9-75c72a573829 /sybase xfsdefaults,nofail02"&gt;&gt; /etc/fstab

echo "/dev/disk/by-uuid/2bb3f00c-c295-4417-b258-8de43a844e23 /log xfsdefaults,nofail02"&gt;&gt; /etc/fstab

exit

sudo mount -a

sudo df -h

##create a directory for the source files.

sudo mkdir /sybase/source

## copy source files

sudo chmod 777 /sybase/source -R

## setup automount for /sapmnt

### - use auto mount not the "old" way sudo mount -t nfs4 -o rw sybapp1:/sapmnt /sapmnt

sudo mkdir /sapmnt

sudo vi /etc/auto.master

# Add the following line to the file, save and exit

+auto.master

/- /etc/auto.direct

sudo vi /etc/auto.direct

# Add the following lines to the file, save and exit

/sapmnt -nfsvers=4,nosymlink,sync sybapp1:/sapmnt

sudo systemctl enable autofs

sudo service autofs restart

sudo /sybase/source/swpm/sapinst SAPINST_REMOTE_ACCESS_USER=&lt;os-user&gt;

Open web browser and start installation

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio5.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio6.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio7.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio8.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio9.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio10.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio11.png" />

<span style="color: #00b050;font-size: 28pt"><span style="background-color: yellow"><strong>SAP PAS Install</strong></span>
</span>

##do same preparations as ASCS for zypper and hosts file etc

sudo /source/swpm/sapinst SAPINST_REMOTE_ACCESS_USER=&lt;os-user&gt;

<a href="https://10.1.0.10:4237/sapinst/docs/index.html">https://10. 1. 0. 10:4237/sapinst/docs/index. html</a>

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio12.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio13.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio14.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio15.png" />

<span style="color: #00b050;font-size: 28pt"><span style="background-color: yellow"><strong>AlwaysOn Install Primary</strong></span>
</span>

##do same preparations as ASCS for zypper and hosts file etc

Check that these libraries are installed otherwise Fault Manager will silently fail
<p style="background: #e7e6e6">sudo zypper install glibc-32bit</p>
<p style="background: #e7e6e6">sudo zypper install libgcc_s1-32bit</p>
##Login as syb&lt;sid&gt; - in this case the &lt;sid&gt; = ase<span style="font-family: Courier New">
</span>

<span style="font-family: Courier New">sybdb1 /sybase% whoami
</span>

<span style="font-family: Courier New">sybase
</span>

<span style="font-family: Courier New">sybdb1 /sybase% pwd
</span>

<span style="font-family: Courier New">/sybase
</span>

<span style="font-family: Courier New">sybdb1 /sybase% ls
</span>

<span style="font-family: Courier New">ASEsourcesybdb1_dma.rssybdb1_setup_hadr. rs
</span>

<span style="font-family: Courier New">sybdb1 /sybase% cat sybdb1_dma.rs | grep USER_INSTALL_DIR
</span>

<span style="font-family: Courier New">USER_INSTALL_DIR=/sybase/ASE
</span>

<span style="font-family: Courier New">sybdb1 /sybase%
</span>

<span style="font-family: Courier New">sybdb1 /sybase% <span style="color: #00b050"><strong>source/ASE1633/BD_SYBASE_ASE_16. 0. 03. 03_RDBMS_for_BS_/SYBASE_LINUX_X86_64/setup.bin -f /sybase/sybdb1_dma. rs -i silent</strong></span></span>

&nbsp;

Note: if the command does not run put several &lt;space&gt; characters before the -i silent
Full path to setup.bin from ASE. ZIP file. Full path to response file otherwise it will fail with non-specific error message<a href="https://msdnshared.blob.core.windows.net/media/2018/05/dma1.png"><img width="1602" height="250" class="alignleft size-full wp-image-8535" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/dma1.png" /></a>

&nbsp;

&nbsp;

##run this command to unlock the sa account. Command will fail if "-X" is not specified

<span style="font-family: Courier New">isql-Usapsso -PSAPHana12345 -SASE -X
</span>

sp_locklogin sa, unlock

go
<p style="margin-left: 36pt"><img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio17.png" /></p>
##If any errors occur review this note

<span style="color: red;font-size: 14pt">2450148 - 'Warning: stopService() only supported on windows' message happened during HADR configuration -SAP ASE
</span>

##Run setuphadr after editing the response file based on Sybase documentation (sample response file is attached to this blog)

<span style="color: #00b050;font-family: Courier New"><strong> setuphadr /sybase/sybdb1_setup_hadr.rs</strong>
</span>
<p style="margin-left: 36pt"><img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio18.png" /></p>
<span style="color: #00b050;font-size: 28pt"><span style="background-color: yellow"><strong>AlwaysOn Install Secondary</strong></span>
</span>

##do same preparations as ASCS for zypper and hosts file etc

Check that these libraries are installed otherwise Fault Manager will silently fail
<p style="background: #e7e6e6">sudo zypper install glibc-32bit</p>
<p style="background: #e7e6e6">sudo zypper install libgcc_s1-32bit</p>
##do same preparations as ASCS for zypper and hosts file etc

#create disks for sybase

sudo fdisk -l | grep /dev/sd

sudo fdisk /dev/sdc -&gt; n, p, w

sudo fdisk /dev/sdd -&gt; n, p, w

#only 1 disk, but created pv, lv etc here so we can test performance later with striping additional disks

sudo pvcreate /dev/sdc1 /dev/sdc1

sudo pvcreate /dev/sdc1 /dev/sdd1

sudo pvscan

sudo vgcreate syb_data_vg /dev/sdc1

sudo vgcreate syb_log_vg /dev/sdd1

sudo lvcreate -i1 -l 100%FREE -n syb_data_lvsyb_data_vg

sudo lvcreate -i1 -l 100%FREE -n syb_log_lvsyb_log_vg

sudo mkfs. xfs -f /dev/syb_data_vg/syb_data_lv

sudo mkfs. xfs -f/dev/syb_log_vg/syb_log_lv

sudo mkdir -p /sybase/source

sudo mkdir -p /log

sudo mkdir -p /sapmnt

sudo blkid | grep log

sudo blkid | grep data

#now sudo su - to root user and run this (replace GUID) - cannot run this with sudo command, must be root

sudo su -

echo "/dev/disk/by-uuid/799603d6-20c0-47af-80c9-75c72a573829 /sybase xfsdefaults,nofail02"&gt;&gt; /etc/fstab

echo "/dev/disk/by-uuid/2bb3f00c-c295-4417-b258-8de43a844e23 /log xfsdefaults,nofail02"&gt;&gt; /etc/fstab

exit

sudo mount -a

sudo df -h

sudo mount -a

sudo df -h

##create a directory for the source files.

sudo mkdir /sybase/source

## copy source files

sudo chmod 777 /sybase/source -R

## setup automount for /sapmnt

### - use auto mount not the "old" way sudo mount -t nfs4 -o rw sybapp1:/sapmnt /sapmnt

sudo mkdir /sapmnt

sudo vi /etc/auto.master

# Add the following line to the file, save and exit

+auto.master

/- /etc/auto.direct

sudo vi /etc/auto.direct

# Add the following lines to the file, save and exit

/sapmnt -nfsvers=4,nosymlink,sync sybapp1:/sapmnt

sudo systemctl enable autofs

sudo service autofs restart

sudo /sybase/source/swpm/sapinst SAPINST_REMOTE_ACCESS_USER=&lt;os-user&gt;

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio19.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio20.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio21.png" />

Stop the autofs and unmount the /sapmnt - sapinst will continue

The /sapmnt must be mounted again shortly after

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio22.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio23.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio24.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio25.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio26.png" />

##Login as syb&lt;sid&gt; - in this case the &lt;sid&gt; = ase<span style="font-family: Courier New">
</span>

<span style="color: #00b050;font-family: Courier New"><strong>/sybase/source/ASE1633/BD_SYBASE_ASE_16. 0. 03. 03_RDBMS_for_BS_/SYBASE_LINUX_X86_64/setup. bin -f /sybase/sybdb2_dma. rs -i silent </strong>
</span>

<span style="font-family: Courier New">isql-Usapsso -PSAPHana12345 -SASE -X
</span>

sp_locklogin sa, unlock

go

<span style="color: red;font-size: 14pt">2450148 - 'Warning: stopService() only supported on windows' message happened during HADR configuration -SAP ASE
</span>

##Run setuphadr after editing the response file based on Sybase documentation (sample response file is attached to this blog)

<span style="color: #00b050;font-family: Courier New"><strong> setuphadr /sybase/sybdb2_setup_hadr.rs</strong>
</span>
<p style="margin-left: 36pt"><img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio27.png" /></p>
Do not restart the RMA - this is not required

<span style="color: #00b050;font-size: 28pt"><span style="background-color: yellow"><strong>AlwaysOn FM Install &amp; Post Steps </strong></span>
</span>

The Sybase documentation for these steps is here.

<a href="https://help.sap.com/viewer/efe56ad3cad0467d837c8ff1ac6ba75c/16.0.3.3/en-US/286f4fc8b3ab4439b3400e97288152dc.html">https://help. sap. com/viewer/efe56ad3cad0467d837c8ff1ac6ba75c/16. 0. 3. 3/en-US/286f4fc8b3ab4439b3400e97288152dc. html</a>

The documentation is not complete. After doing the steps on the documentation link review this Note

<span style="color: #00b050;font-family: Courier New;font-size: 16pt"><strong>1959660 - SYB: Database Fault Management</strong>
</span>

<span style="font-family: Courier New">su - aseadm
</span>

<span style="font-family: Courier New">rsecssfx put DB_CONNECT/SYB/DR_USER DR_admin -plain
</span>

<span style="font-family: Courier New">rsecssfx put DB_CONNECT/SYB/DR_PASSWORD SAPHana12345
</span>

<span style="font-family: Courier New">sybdb1:~ #su - aseadm
</span>

<span style="font-family: Courier New">sybdb1:aseadm 1&gt; rsecssfx put DB_CONNECT/SYB/DR_USER DR_admin -plain
</span>

<span style="font-family: Courier New">sybdb1:aseadm 2&gt; rsecssfx put DB_CONNECT/SYB/DR_PASSWORD SAPHana12345
</span>

<span style="font-family: Courier New">sybdb1:aseadm 3&gt;
</span>

<span style="font-family: Courier New">sybdb2:~ #su - aseadm
</span>

<span style="font-family: Courier New">sybdb2:aseadm 1&gt; rsecssfx put DB_CONNECT/SYB/DR_USER DR_admin -plain
</span>

<span style="font-family: Courier New">sybdb2:aseadm 2&gt; rsecssfx put DB_CONNECT/SYB/DR_PASSWORD SAPHana12345
</span>

<span style="font-family: Courier New">sybdb2:aseadm 3&gt;
</span>

## Run AlwaysOn Tuning &amp; Configuration script on Primary and Companion

<span style="font-family: Courier New">isql -UDR_admin -PSAPHana12345 -Ssybdb1:4909
</span>

<span style="font-family: Courier New">sap_tune_rs Site1, 16, 4
</span>

<span style="font-family: Courier New">isql -UDR_admin -PSAPHana12345 -Ssybdb2:4909
</span>

<span style="font-family: Courier New">sap_tune_rs Site2, 16, 4
</span>

<span style="font-family: Courier New">sybdb2:aseadm 3&gt; isql -UDR_admin -PSAPHana12345 -Ssybdb2:4909
</span>

<span style="font-family: Courier New">1&gt; sap_tune_rs Site2, 16, 4
</span>

<span style="font-family: Courier New">2&gt; go
</span>

<span style="font-family: Courier New"> TASKNAMETYPE
</span>

<span style="font-family: Courier New"> VALUE
</span>

<span style="font-family: Courier New"> ----------------------- -----------------
</span>

<span style="font-family: Courier New"> ------------------------------------------------------------
</span>

<span style="font-family: Courier New"> Tune Replication Server Start Time
</span>

<span style="font-family: Courier New"> Sun Apr 29 06:20:37 UTC 2018
</span>

<span style="font-family: Courier New"> Tune Replication Server Elapsed Time
</span>

<span style="font-family: Courier New"> 00:07:11
</span>

<span style="font-family: Courier New"> TuneRSTask Name
</span>

<span style="font-family: Courier New"> Tune Replication Server
</span>

<span style="font-family: Courier New"> TuneRSTask State
</span>

<span style="font-family: Courier New"> Completed
</span>

<span style="font-family: Courier New"> TuneRSShort Description
</span>

<span style="font-family: Courier New"> Tune Replication Server configurations.
</span>

<span style="font-family: Courier New"> TuneRSLong Description
</span>

<span style="font-family: Courier New"> Waiting 180 seconds: Waiting Replication Server to fully up.
</span>

<span style="font-family: Courier New"> TuneRSTask Start
</span>

<span style="font-family: Courier New"> Sun Apr 29 06:20:37 UTC 2018
</span>

<span style="font-family: Courier New"> TuneRSTask End
</span>

<span style="font-family: Courier New"> Sun Apr 29 06:27:48 UTC 2018
</span>

<span style="font-family: Courier New"> TuneRSHostname
</span>

<span style="font-family: Courier New"> sybdb2
</span>

<span style="font-family: Courier New">(9 rows affected)
</span>

## On the APP server only

<span style="font-family: Courier New">sudo vi . dbenv. csh
</span>

<span style="font-family: Courier New">setenv dbs_syb_ha 1
</span>

<span style="font-family: Courier New">setenv dbs_syb_server sybdb1:sybdb2
</span>

## Restart the SAP App server

<span style="font-family: Courier New">sapcontrol -nr 00 -function StopSystem ALL </span>

<span style="font-family: Courier New">sapcontrol -nr 00 -function StartSystem ALL
</span>

<a href="https://help.sap.com/viewer/efe56ad3cad0467d837c8ff1ac6ba75c/16.0.3.3/en-US/41b39cb667664dc09d2d9f4c87b299a7.html">https://help. sap. com/viewer/efe56ad3cad0467d837c8ff1ac6ba75c/16. 0. 3. 3/en-US/41b39cb667664dc09d2d9f4c87b299a7. html</a>

<span style="font-family: Courier New">sybapp1:aseadm 6&gt; rsecssfx list
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| Record Key | Status | Time Stamp of Last Update |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/DEFAULT_DB_PASSWORD | Encrypted| 2018-04-2903:07:11UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/DEFAULT_DB_USER | Plaintext| 2018-04-2903:07:07UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/SYB/DR_PASSWORD | Encrypted| 2018-04-2906:18:26UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/SYB/DR_USER | Plaintext| 2018-04-2906:18:22UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/SYB/SADB_PASSWORD | Encrypted| 2018-04-2903:07:19UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/SYB/SADB_USER | Plaintext| 2018-04-2903:07:14UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/SYB/SAPSID_PASSWORD | Encrypted| 2018-04-2903:07:42UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/SYB/SAPSID_USER | Plaintext| 2018-04-2903:07:37UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/SYB/SSODB_PASSWORD| Encrypted| 2018-04-2903:07:27UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/SYB/SSODB_USER| Plaintext| 2018-04-2903:07:22UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/SYB/SYBSID_PASSWORD | Encrypted| 2018-04-2903:07:34UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| DB_CONNECT/SYB/SYBSID_USER | Plaintext| 2018-04-2903:07:30UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| SYSTEM_PKI/PIN | Encrypted| 2018-04-2722:36:39UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">| SYSTEM_PKI/PSE | Encrypted (binary) | 2018-04-2722:36:45UTC |
</span>

<span style="font-family: Courier New">|---------------------------------------------------------------------------------|
</span>

<span style="font-family: Courier New">Summary
</span>

<span style="font-family: Courier New">-------
</span>

<span style="font-family: Courier New">ActiveRecords : 14 (Encrypted: 8, Plain: 6, Wrong Key: 0, Error: 0)
</span>

<span style="font-family: Courier New">Defunct Records : 12 (180+ days: 0; Show: "list -withHistory", Remove: "compact")
</span>

## Run the Fault Manager Installation steps on the SAP PAS application server

<span style="font-family: Courier New">sybapp1:aseadm 24&gt; pwd
</span>

<span style="font-family: Courier New">/sapmnt/ASE/exe/uc/linuxx86_64
</span>

<span style="font-family: Courier New">sybapp1:aseadm 25&gt; whoami
</span>

<span style="font-family: Courier New">aseadm
</span>

<span style="font-family: Courier New">sybapp1:aseadm 26&gt; <span style="color: #00b050;background-color: yellow"><strong>. /sybdbfm install</strong></span>
</span>

<span style="font-family: Courier New">replication manager agent user DR_admin and password set in Secure Store.
</span>

<span style="font-family: Courier New">Keep existing values (yes/no)? (yes)
</span>

<span style="font-family: Courier New">SAPHostAgent connect user: (sapadm)
</span>

<span style="font-family: Courier New">Enter password for user sapadm.
</span>

<span style="font-family: Courier New">Password:
</span>

<span style="font-family: Courier New">Enter value for primary database host: (sybdb1)
</span>

<span style="font-family: Courier New">Enter value for primary database name: (ASE)
</span>

<span style="font-family: Courier New">Enter value for primary database port: (4901)
</span>

<span style="font-family: Courier New">Enter value for primary site name: (Site1)
</span>

<span style="font-family: Courier New">Enter value for primary database heart beat port: (13777)
</span>

<span style="font-family: Courier New">Enter value for standby database host: (sybdb2)
</span>

<span style="font-family: Courier New">Enter value for standby database name: (ASE)
</span>

<span style="font-family: Courier New">Enter value for standby database port: (4901)
</span>

<span style="font-family: Courier New">Enter value for standby site name : (Site2)
</span>

<span style="font-family: Courier New">Enter value for standby database heart beat port: (13787)
</span>

<span style="font-family: Courier New">Enter value for fault manager host: (sybapp1)
</span>

<span style="font-family: Courier New">Enter value for heart beat to heart beat port: (13797)
</span>

<span style="font-family: Courier New">Enter value for support for floating database ip: (no)
</span>

<span style="font-family: Courier New">Enter value for use SAP ASE Cockpit if it is installed and running: (no)
</span>

<span style="font-family: Courier New">installation finished successfully.
</span>

Restart the SAP Instance - FM is added to the ASCS start profile

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio28.png" />

<span style="font-family: Courier New">sybapp1:aseadm 32&gt; <span style="color: #00b050"><strong>sybdbfm status</strong></span>
</span>

<span style="font-family: Courier New">fault manager running, pid = 4338, fault manager overall status = OK, currently executing in mode PAUSING
</span>

<span style="font-family: Courier New">*** sanity check report (5)***.
</span>

<span style="font-family: Courier New">node 1: server sybdb1, site Site1.
</span>

<span style="font-family: Courier New">db host status: OK.
</span>

<span style="font-family: Courier New">db status OK hadr status PRIMARY.
</span>

<span style="font-family: Courier New">node 2: server sybdb2, site Site2.
</span>

<span style="font-family: Courier New">db host status: OK.
</span>

<span style="font-family: Courier New">db status OK hadr status STANDBY.
</span>

<span style="font-family: Courier New">replication status: SYNC_OK.
</span>

<span style="color: #00b050;font-size: 28pt"><span style="background-color: yellow"><strong>AlwaysOn Install 3rd Node (DR) Async</strong></span>
</span>

Official SAP Sybase documentation and Links:

<a href="https://blogs.sap.com/2018/04/19/high-availability-disaster-recovery-3-node-hadr-with-sap-ase-16.0-sp03/">https://blogs. sap. com/2018/04/19/high-availability-disaster-recovery-3-node-hadr-with-sap-ase-16. 0-sp03/</a>

Documentation <a href="https://help.sap.com/viewer/38af74a09e48457ab699e83f6dfb051a/16.0.3.3/en-US">https://help. sap. com/viewer/38af74a09e48457ab699e83f6dfb051a/16. 0. 3. 3/en-US</a>

<a href="https://help.sap.com/viewer/38af74a09e48457ab699e83f6dfb051a/16.0.3.3/en-US/6ca81e90696e4946a68e9257fa2d3c31.html">https://help. sap. com/viewer/38af74a09e48457ab699e83f6dfb051a/16. 0. 3. 3/en-US/6ca81e90696e4946a68e9257fa2d3c31. html</a>

1. Install the DB host using SWPM in the same way as the companion host

2. Copy the companion host response file

3. Duplicate the section with all the COMP entries and add it at the bottom and rename at section of the newly copied COMPs to DR (for example). Leave the old COMP and PRIM entries as is.

4. Change the setup site to DR

5. All other entries from PRIM and COMP must remain the same since the setuphadr run for 3rd node needs to know about previous 2 hosts.

6. Execute setuphadr

Review the Sample Response File attached to this blog

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio29.png" />

##do same preparations as ASCS for zypper and hosts file etc

Check that these libraries are installed otherwise Fault Manager will silently fail

<span style="background-color: aqua">sudo zypper install glibc-32bit </span>

<span style="background-color: aqua">sudo zypper install libgcc_s1-32bit </span>

##do same preparations as ASCS for zypper and hosts file etc

#create disks for sybase
<p style="background: #e7e6e6">Note : when multiple disks are added for data/log/backup to create a single volume, use right striping method to get better performance</p>
<p style="background: #e7e6e6">Example:</p>
<p style="background: #e7e6e6">vgcreate VG_DATA /dev/sdc /dev/sdd</p>
<p style="background: #e7e6e6">lvcreate -l 100%F VG_DATA -n lv_data -i 2 -I 256</p>
<p style="background: #e7e6e6">(for log use –l 32 )</p>
sudo fdisk -l | grep /dev/sd

sudo fdisk /dev/sdc -&gt; n, p, w

sudo fdisk /dev/sdd -&gt; n, p, w

#only 1 disk, but created pv, lv etc here so we can test performance later with striping additional disks

sudo pvcreate /dev/sdc1 /dev/sdc1

sudo pvcreate /dev/sdc1 /dev/sdd1

sudo pvscan

sudo vgcreate syb_data_vg /dev/sdc1

sudo vgcreate syb_log_vg /dev/sdd1

sudo lvcreate -i1 -l 100%FREE -n syb_data_lvsyb_data_vg

sudo lvcreate -i1 -l 100%FREE -n syb_log_lvsyb_log_vg

sudo mkfs. xfs -f /dev/syb_data_vg/syb_data_lv

sudo mkfs. xfs -f/dev/syb_log_vg/syb_log_lv

sudo mkdir -p /sybase/source

sudo mkdir -p /log

sudo mkdir -p /sapmnt

sudo blkid | grep log

sudo blkid | grep data

edit /etc/fstab and add the entries for the created disks.
<p style="background: #e7e6e6"><strong>Option 1 :
</strong></p>
Identify based on created volume group and lv details.

Ex: ls /dev/mapper/

And fetch the right devices

Ex: syb_data_vg-syb_data_lv

Add the the entries into /etc/fstab

sudo vi /etc/fstab

Add the lines.

/dev/mapper/syb_data_vg-syb_data_lv /hana/data xfs defaults,nofail 1 2
<p style="background: #e7e6e6"><strong>Option 2 :
</strong></p>
#now sudo su - to root user and run this (replace GUID) - cannot run this with sudo command, must be root

sudo su -

echo "/dev/disk/by-uuid/799603d6-20c0-47af-80c9-75c72a573829 /sybase xfsdefaults,nofail02"&gt;&gt; /etc/fstab

echo "/dev/disk/by-uuid/2bb3f00c-c295-4417-b258-8de43a844e23 /log xfsdefaults,nofail02"&gt;&gt; /etc/fstab

exit

sudo mount -a

sudo df -h

sudo mount -a

sudo df -h

Note: mount points are visible only when the folders are accessed in df –h command when auto mount is enabled.

##create a directory for the source files.

sudo mkdir -p /sybase/source

## copy source files

sudo chmod 777 /sybase/source -R

## setup automount for /sapmnt

### - use auto mount not the "old" way sudo mount -t nfs4 -o rw sybapp1:/sapmnt /sapmnt

sudo mkdir /sapmnt

sudo vi /etc/auto.master

# Add the following line to the file, save and exit

+auto.master

/- /etc/auto.direct

sudo vi /etc/auto.direct

# Add the following lines to the file, save and exit

/sapmnt -nfsvers=4,nosymlink,sync sybapp1:/sapmnt

sudo systemctl enable autofs

sudo service autofs restart

sudo /sybase/source/swpm/sapinst SAPINST_REMOTE_ACCESS_USER=&lt;os-user&gt;

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio30.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio31.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio32.png" />

Stop the autofs and unmount the /sapmnt - sapinst will continue

The /sapmnt must be mounted again shortly after

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio33.png" />

<img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio34.png" />

## Install the DMA on the DR Node

##Login as syb&lt;sid&gt; - in this case the &lt;sid&gt; = ase<span style="font-family: Courier New">
</span>

source/ASE1633/BD_SYBASE_ASE_16. 0. 03. 03_RDBMS_for_BS_/SYBASE_LINUX_X86_64/setup. bin -f /sybase/sybdb3_dma. rs -i silent

<span style="color: #00b050;font-family: Courier New"><strong>isql-Usapsso -PSAPHana12345 -SASE -X</strong>
</span>

sp_locklogin sa, unlock

go

<span style="font-family: Courier New">sybdb3 /sybase% uname -a
</span>

<span style="font-family: Courier New">Linux sybdb3 4. 4. 120-92. 70-default #1 SMP Wed Mar 14 15:59:43 UTC 2018 (52a83de) x86_64 x86_64 x86_64 GNU/Linux
</span>

<span style="font-family: Courier New">sybdb3 /sybase% whoami
</span>

<span style="font-family: Courier New">sybase
</span>

##Run setuphadr after editing the response file based on Sybase documentation (sample response file is attached to this blog)

<span style="font-family: Courier New">sybdb3 /sybase% <span style="color: #00b050"><strong>setuphadr /sybase/sybdb3_setup_hadr.rs</strong></span>
</span>
<p style="margin-left: 36pt"><img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio35.png" /></p>
<span style="color: #00b050;font-size: 28pt"><span style="background-color: yellow"><strong>AlwaysOn Testing &amp; Useful Command Syntax </strong></span>
</span>

In the section below planned and unplanned failovers as well as monitoring commands are used.

It is recommended to review the Sybase documentation and also to review these SAP Notes:

1982469 - SYB: Updating SAP ASE with saphostctrl

1959660 - SYB: Database Fault Management

2179305 - SYB: Usage of saphostctrl for SAP ASE and SAP Replication Server

## Check if Fault Manager is running on the SAP PAS with this command

<span style="font-family: Courier New">ps -ef | grep sybdbfm
</span>

<span style="font-family: Courier New">executable in /usr/sap/&lt;SID&gt;/ASCS00/work
</span>

<span style="font-family: Courier New">sybdbfm is copied to sybdbfm. sap&lt;SID&gt;_ASCS00
</span>

<span style="font-family: Courier New">cd /usr/sap/&lt;SID&gt;/ASCS00/work
</span>

<span style="font-family: Courier New"> . /sybdbfm. sapASE_ASCS00 status
</span>

<span style="font-family: Courier New"> . /sybdbfm. sapASE_ASCS00 hibernate
</span>

<span style="font-family: Courier New"> . /sybdbfm. sapASE_ASCS00 resume
</span>

<span style="font-family: Courier New">login as syb&lt;sid&gt; in this case sybase
</span>

<span style="font-family: Courier New">## Login to the RMA
</span>

<span style="font-family: Courier New"> isql -UDR_admin -P&lt;&lt;password&gt;&gt; -SASE_RMA_Site1 -I DM/interfaces -X -w999
</span>

<span style="font-family: Courier New">## to see all the components that are running
</span>

<span style="font-family: Courier New"> sap_version all
</span>

<span style="font-family: Courier New"> go
</span>

<span style="font-family: Courier New"> ## to see the status of a replication path
</span>

<span style="font-family: Courier New"> sap_status path
</span>

<span style="font-family: Courier New"> go
</span>

<span style="font-family: Courier New"> ## to see the status of resources
</span>

<span style="font-family: Courier New"> sap_status resource
</span>

<span style="font-family: Courier New"> go
</span>

<span style="font-family: Courier New">## Login to ASE
</span>

<span style="font-family: Courier New">The syntax "-I DM/interfaces" does a lookup in the Sybase AlwaysOn configuration database to find the host and TCP port
</span>

<span style="font-family: Courier New"> isql -UDR_admin -P&lt;&lt;password&gt;&gt; -SASE_Site1 -I DM/interfaces -X-w999
</span>

<span style="font-family: Courier New">## to clear down the transaction log run this command
</span>

<span style="font-family: Courier New"> dump tran ASE with truncate_only
</span>

<span style="font-family: Courier New"> go
</span>

<span style="font-family: Courier New"> ## to show freespace in DB
</span>

<span style="font-family: Courier New"> sp_helpdb ASE
</span>

<span style="font-family: Courier New"> go
</span>

<span style="font-family: Courier New">## Transaction log backups are needed on all replicas otherwise the Trans Log will become full
</span>

<span style="font-family: Courier New">## to start/stop/get info on Sybase DB (and all required components for Always on like RMA) - run this on the DB host
</span>

<span style="font-family: Courier New"><strong> sudo /usr/sap/hostctrl/exe/saphostctrl -user sapadm -function StartDatabase -dbname <span style="background-color: lime">ASE</span> -dbtype syb
</strong></span>

<span style="font-family: Courier New"><strong> sudo /usr/sap/hostctrl/exe/saphostctrl -user sapadm -function StartDatabase -dbname <span style="background-color: lime">ASE_REP</span> -dbtype syb
</strong></span>
<p style="margin-left: 36pt"><img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio36.png" /></p>
<span style="font-family: Courier New">## to get Sybase DB status
</span>

<span style="font-family: Courier New"><strong>sudo /usr/sap/hostctrl/exe/saphostctrl -user sapadm -function GetDatabaseStatus -dbname ASE -dbtype syb
</strong></span>

<span style="font-family: Courier New">## to get Sybase DB replication status
</span>

<span style="font-family: Courier New"><strong>sudo /usr/sap/hostctrl/exe/saphostctrl -user sapadm -function LiveDatabaseUpdate -dbname ASE -dbtype syb -updatemethod Check -updateoption TASK=REPLICATION_STATUS
</strong></span>
<p style="margin-left: 36pt"><img alt="" src="https://msdnshared.blob.core.windows.net/media/2018/05/051718_0204_Installatio37.png" /></p>
<span style="font-family: Courier New">## to send a trace ticket logon to RMA and execute these commands
</span>

<span style="font-family: Courier New"> sap_send_trace Site1
</span>

<span style="font-family: Courier New"> go
</span>

<span style="font-family: Courier New"> sap_status active
</span>

<span style="font-family: Courier New"> go
</span>

<span style="font-family: Courier New">## during HADR testing leave tail running on the file /usr/sap/&lt;SID&gt;/ASCS00/work
</span>

<span style="font-family: Courier New"> tail -100f dev_sybdbfm
</span>

<span style="font-family: Courier New">## to force a shutdown of the DB engine run the command below. Always-on will try to stop a normal shutdown of the DB
</span>

<span style="font-family: Courier New"> shutdown with wait nowait_hadr
</span>

<span style="font-family: Courier New"> go
</span>

<span style="font-family: Courier New">## to do a planned failover from Primary to Companion DB the normal sequence is:
</span>

<span style="font-family: Courier New">1. Failover from Primary to Companion
</span>

<span style="font-family: Courier New">2. Drain logs from Primary to the DR site
</span>

<span style="font-family: Courier New">3. Reverse Replication Route to start synchronization from the new Primary to the Companion and DR
</span>

<span style="font-family: Courier New">-- There is a new command that does all these steps automatically:
</span>

<span style="font-family: Courier New"><strong>/usr/sap/hostctrl/exe/saphostctrl -user sapadm - -function LiveDatabaseUpdate -dbname <span style="background-color: lime">ASE</span> -dbtype syb -updatemethod Execute -updateoption TASK=FAILOVER -updateoption FAILOVER_FORCE=1 -updateoption FAILOVER_TIME=300
</strong></span>

<span style="font-family: Courier New">## it is recommended to use this command. If there are errors check in the path /usr/sap/hostctrl/work for log files
</span>

<span style="font-family: Courier New">##other useful commands:
</span>

<span style="font-family: Courier New">## to disable/enable replication from a Site to all routes
</span>

<span style="font-family: Courier New">sap_disable_replication Site1, &lt;DB&gt;
</span>

<span style="font-family: Courier New">sap_enable_replication Site1,Site2,&lt;DB&gt;
</span>

<span style="font-family: Courier New">## command to manually failover
</span>

<span style="font-family: Courier New">sap_failover &lt;primary&gt;,&lt;standby&gt;,&lt;timeout&gt;, [force], [unplanned]
</span>

<span style="font-family: Courier New">## Materialize is a "dump and load" to reinitialize Sybase Alwayson replica.
</span>

<span style="font-family: Courier New">sap_materialize auto,Site1,Site2,master
</span>

<span style="font-family: Courier New">sap_materialize auto,Site1,Site2,&lt;SID&gt;
</span>

<span style="color: #00b050;font-size: 28pt"><span style="background-color: yellow"><strong>Sybase How To &amp; Links </strong></span>
</span>

Customers familiar with SQL Server AlwaysOn should note that although it is possible to take a DB or Log backup from a replica, these backups are not compatible between Primary &lt;-&gt; Replica databases. It is also a requirement to run transaction log backups on the replica nodes unlike SQL Server.

SAP Notes:

2134316 - Can SAP ASE run in a cloud environment? - SAP ASE

1554717 - SYB: Planning information for SAP on ASE

1706801 - SYB: SAP ASE released for virtual systems

1590719 - SYB: Updates for SAP Adaptive Server Enterprise (SAP ASE)

1959660 - SYB: Database Fault Management

2450148 - 'Warning: stopService() only supported on windows' message happened during HADR configuration -SAP ASE

2489781 - SAP ASE 16. 0 SP03 Supported Operating Systems and Versions

DBA Cockpit doesn't work by default after installation.

Setup DBA Cockpit as per:
2293673 - SYB: DBA Cockpit Correction Collection SAP Basis 7. 50

1605680 - SYB: Troubleshoot the setup of the DBA Cockpit on Sybase ASE

1245200 - DBA: ICF Service Activation for WebDynpro DBA Cockpit

For SUSE Linux Release 12 with SP3 release note : <a href="https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12-SP3/">https://www. suse. com/releasenotes/x86_64/SUSE-SLES/12-SP3/</a>

SAP Software Downloads <a href="https://support.sap.com/en/my-support/software-downloads.html">https://support. sap. com/en/my-support/software-downloads. html</a>

SWPM Download <a href="https://support.sap.com/sltoolset">https://support. sap. com/sltoolset</a>

Sybase Release Matrix<a href="https://wiki.scn.sap.com/wiki/display/SYBASE/Targeted+ASE+16.0+Release+Schedule+and+CR+list+Information">https://wiki. scn. sap. com/wiki/display/SYBASE/Targeted+ASE+16. 0+Release+Schedule+and+CR+list+Information</a>

Sybase Official Documentation <a href="https://help.sap.com/viewer/product/SAP_ASE/16.0.3.3/en-US">https://help. sap. com/viewer/product/SAP_ASE/16. 0. 3. 3/en-US</a>

Special thanks to Wajeeh Samdani from SAP Sybase Development in Walldorf

Special thanks to Cognizant SAP Cloud Team for their input and review of this blog

<span style="color: #1f497d;font-family: Arial;font-size: 7pt">Content from third party websites, SAP and other sources reproduced in accordance with <a href="https://www.copyright.gov/fls/fl102.html"><span style="color: #0072c6">Fair Use</span></a> criticism, comment, news reporting, teaching, scholarship, and research</span>]]></content:encoded>
    </item>
  </channel>
</rss>