There are several databases and applications running on Oracle Cloud Infrastructure. In addition to other databases, Microsoft SQL Server is a relational database system widely used for online transaction processing and decision support systems. This blog post describes how to deploy a Microsoft SQL Server database running on Microsoft Windows server on a single Oracle Cloud Infrastructure Virtual Machine (VM). The Microsoft SQL Server installation wizard allows you to choose the different SQL server components to be installed, such as database engine, analysis services, reporting services, integration services, master data services, data quality services, and connectivity components. Starting with SQL Server 2016 (13.x), SQL Server Management Tools is no longer installed from the main feature tree. You may need to manually download and install the SQL Server Management Tools on Windows server to access and manage the Microsoft SQL server database through the graphical user interface (GUI).
Before you start installation of Microsoft SQL Server Database, consider the following:
1. Before installing Windows server, create an Oracle Cloud Infrastructure VCN (virtual cloud network) and choose the appropriate availability domain, subnet, etc. to build your Windows server. You can choose the Windows image from the Oracle Cloud Infrastructure repository or you can bring your own Windows image to deploy on our virtual machine. We strongly recommend checking the Windows server version support on Oracle Cloud Infrastructure before you start deploying.
Here, we choose the Windows Server 2012 R2 Standard edition from the image repository and VM Standard2.8.
2. In addition to the existing ingress stateful security rules, you may need to add the additional ingress security rules to allow the RDP (Remote Desktop) access to the Windows server. The following screenshot shows the security rule added to the list to allow RDP access.
3. Once the Windows server is provisioned, you see the following screen, which shows the username and initial temporary password. Log in to the Windows server with the username “opc” and the initial temporary password through remote desktop. Change the password after you first access Windows server.
4. Choose the local boot volume to install the Windows server and SQL server binary, and all the required supporting tools. However, use the block storage volume to store the SQL Server database. The following screen shows the block storage volume added to the Windows server.
5. Run the following command using Windows server PowerShell as an administrator to enable iSCSI to target this block volume at the Windows operating system level.
6. After you run the commands shown on the preceding screenshot, you may need to format and level the disk using computer management and disk management on Windows server. Microsoft recommends using the NTFS filesystem format for better performance.
1. Download the appropriate SQL Server version from Microsoft. If you have already downloaded SQL Server, copy it to the Windows server. Run the installer file to install Microsoft SQL Server and choose the required tools to be installed on the Windows server.
2. By default, the MS SQL Server creates system databases such as master, model, msdb, and tempdb. You may need to create application/user databases to store application/user data. You can either access your MS SQL Server database using command line or on the user interface through Microsoft SQL Server Management Studio.
3. You can store the application database’s datafile and logfile in the block storage which is already mounted and leveled on the Windows server. In this blog post, we use a block storage volume and attach it to the Windows server. Format and label the new disk as “D”. Now, we use the “D” drive to store the datafile and logfile of the newly created application database.
In this blog post, you learned how to deploy Microsoft SQL Server database on Oracle Cloud Infrastructure on a Windows server environment. We also discussed storing the application data on Oracle Cloud Infrastructure block storage to achieve higher performance.