In [previous post] we saw how to install & setup SQL Server on Linux. We used PuTTY to connect to the Linux Azure VM and query SQL Server there.
Here in this post we will try to connect to SQL Server on Linux via SSMS from a Windows machine.
So to connect remotely to SQL Server on an Azure VM, you have to configure an inbound rule on the network security group. The rule allows traffic on the port on which SQL Server listens (default is 1433).
–> Setup Inbound Rule:
1. You need to go to portal.azure.com and login with your credentials. On the Dashboard you will see your Linux VM as shown below:
2. Click on the Linux VM widget, it will open up and list out the Settings, click on Network Interfaces, and select the available Network Interface from the list.
3. Now click on the Network Security Group:
4. On the Network Security Group page, select the Inbound security rules, and click on the “+” button create new for SQL Server:
5. On the Add inbound security rule page, provide a name to this rule, select “MS SQL” under Service drop-down, and click OK:
–> Connect using SSMS:
6. Now from any Remote machine or even you PC which has SSMS installed and have internet connection, try connecting the SQL Server Linux Instance:
– Server Name: provide the IP address of the Linux VM (you can get it by opening the “Linux VM widget” and clicking on “Connect” button at top)
– Authentication: should be SQL Server Authentication
– Login: “SA”
– Password: apply the same password that you set it up while Configuring SQL Server on Linux.
7. On successful authentication you will see the Object Explorer showing the SQL instance that’s running on a Linux machine. On a glance you can’t make out any difference b/w a Linux SQL instance or a Windows SQL instance.
Thus I executed the SELECT @@version statement which shows the SQL Server version and on which Operating system its running.
You can even see the Database SQLdbOnLinux that we created by connecting from the PuTTY client.
That’s it for now, will write more about SQL on Linux on coming updates from Microsoft !!!
–> You can also watch this on YouTube:
In my [previous blog] post we saw how to Create a new Linux VM on Azure. After creating it we connected it from a Windows workstation by using PuYYT tool and tested one Unix command.
Here in this post we will see how we can install SQL Server on Linux.
Microsoft is working on a new SQL Server vNext version that will work both on Windows as well as Linux. So with the recent [CTP 1.x] release we can see how does it look like on both the Operating Systems and get some hands on with it.
–> Get the Repository and Install SQL Server:
1. Import the public repository GPG keys:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
2. Register the Microsoft SQL Server Ubuntu repository:
curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list
3. Re-synchronize the Package index files from their sources, to get information of the newest versions of packages and their dependencies, and finally Install MSSQL-Server package:
sudo apt-get update
sudo apt-get install -y mssql-server
After Install it will ask you to run SQL Server setup by following message:
Please run /opt/mssql/bin/sqlservr-setup to complete the setup of Microsoft(R) SQL Server(R)
4. Now post install, we need to configure SQL Server and set the SA password, and SQL services.
The Configuration gives following prompts in between:
Please enter a password for the system administrator (SA) account:
Please confirm the password for the system administrator (SA) account:
Setting system administrator (SA) account password…
Do you wish to start the SQL Server service now? [y/n]: y
Do you wish to enable SQL Server to start on boot? [y/n]: y
5. Post Configuration you can verify that the service is running:
systemctl status mssql-server
–> Install Tools: This will install the command-line tools (sqlcmd & BCP), Microsoft ODBC drivers, and their dependencies.
6. Re-synchronize the Package index files, and Install MSSQL-Tools:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
sudo ln -sfn /opt/mssql-tools/bin/sqlcmd-188.8.131.52 /usr/bin/sqlcmd
sudo ln -sfn /opt/mssql-tools/bin/bcp-184.108.40.206 /usr/bin/bcp
–> Connect to SQL instance:
9. We will use sqlcmd to connect to SQL Server vNext on our Linux VM. Run the sqlcmd command with following params:
– S: Server Name
– U: User Name
– P: Password
sqlcmd -S localhost -U SA -P ”
–> Run SQL Queries:
10. Now after connecting to the SQL Linux instance, let’s test come queries:
We will check the Version of SQL Server and list out system Databases:
select @@version go select database_id, name, create_date from sys.databases go
Output of version statement:
Microsoft SQL Server vNext (CTP1.1) – 220.127.116.11 (X64)
Dec 10 2016 02:51:11
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
on Linux (Ubuntu 16.04.1 LTS)
11. Let’s do more and Create a new Database, new Table and insert some sample records:
CREATE DATABASE SQLdbOnLinux go use SQLdbOnLinux go --Changed database context to 'SQLdbOnLinux'. CREATE TABLE Test (i int, name varchar(25)) go insert into Test values (1, 'Manoj') insert into Test values (2, 'Saurabh') go --(1 rows affected) --(1 rows affected) select * from Test go --i name ------------- ------------------------- -- 1 Manoj -- 2 Saurabh --(2 rows affected)
I think you would get amazed like me after using SQL Server on a Linux environment.
In my [next post] I’ll show how we can connect this SQL Linux instance from a Windows workstation via SSMS !!!
–> You can also watch this video on YouTube:
First of all a very very Happy New Year to all of you !!!
This is my first blog post in 2017, and I’ll start with the most happening thing with SQL Server, which is SQL Server for Linux.
So today first of all we will see how to setup a Linux VM on Microsoft Azure cloud. And in next posts I’ve show how can we Install & Setup SQL Server on Linux.
I will use Ubuntu Server 16.04 LTS (Xenial Xerus) version from Azure Marketplace, and show how to setup a Linux VM in a step by step process.
All you need is a Microsoft Azure account, if you have not setup, please do it from here.
1. Go to portal.azure.com and login with your credentials.
2. Click on the “+” icon, under “Marketplace” select Compute and under “Featured Apps” select Ubuntu Server.
3. The “Deployment Model” must be showing as Resource Manager by default, if not select form the drop-down list, and click on Create button.
4. Now on the Create virtual machine window, under “1. Basic” section provide:
– Name: new name for your Linux VM
– VM disk type: select Disk type, SSD or HDD
– User name: provide a unique user name for Admin purpose
– Authentication type: I selected “Password”
– Password & Confirm password
– Subscription: will show you your current subscription
– Resource Group: Provide a new name or select from the drop-down list
– Location: select location as per your preference and available in the list.
… and click OK.
5. On “2. Size” section Choose a size for your VM. I selected the DS1_v2 Standard, the cheapest one, finally click on Select button.
6. On 3. Settings section check the properties, I’ve left them as default for now, and click OK:
7. On the “4. Summary” section, the Portal will do various validations, just confirm all the settings and click OK.
8. And after few seconds or minutes your new Ubuntu Linux VM will be created and you can check the new widget appearing on your Dashboard as shown below:
9. Now to get the NIC (network Interface Card) or the User Name & IP address of your VM, click on the widget.
It will open a new window where you can check all the details related to your new Linux VM.
Just click the Connect button at the top which will show you the details so that you can connect via SSH or Telnet.
10. Now to connect the Linux VM you can either:
a. SSH directly from a Mac or Linux Terminal workstation.
b. Or, if you are on a Windows workstation, you need to use PuTTY, MobaXTerm or Cygwin to SSH to the Linux Azure VM.
Here, we will try connecting from a Windows workstation, so we will download PuTTY from www.putty.org
The downloaded PuTTY is a simple EXE application, just open it. Here we will provide the IP address that we saw above, you can copy and paste it as shown below and click Open:
11. This will open a PuTTY command shell window which will prompt you to enter the Linux username & password that you set in previous steps, please apply as shown below:
12. After you successfully logged in you will see some welcome message from Ubuntu with other details.
Just to make sure I’m really connected to a Linux command shell, I tried executing a Unix command “ls /” to list all the files & directories in the root drive.
So, this is how you can simply Create or Spin up a Linux VM in few minutes !!!
In my [next post] I’ll setup or install SQL Server vNext on this Linux VM and show you how can we connect via SSMS from a Windows workstation.
–> You can also watch this on YouTube:
Scott Guthrie, Executive Vice President, Cloud and Enterprise Group, Microsoft on March 7, 2016 announced plans to bring SQL Server to Linux. He mentioned that this will enable SQL Server to deliver a consistent data platform across Windows Server and Linux, as well as on-premises and cloud, targeting the availability by mid-2017.
You can sign up for a Private preview here.
Recently in a Data Driven event Shawn Bice, General Manager, Database Systems Group, Microsoft showcased the capabilities and new features of SQL Server 2016. While demonstrating he gave a glimpse of SQL Server preview version running on Linux, and you can see the version in the snapshot below:
Microsoft SQL Server (Preview) – 13.0.8000.6 (X64)
Feb 24 2016 22:03:46 2015.0130.8000.06
Copyright (c) Microsoft Corporation
on Linux (Ubuntu 15.10)
Well I’m very excited and looking forward to download the SQL Server Linux preview and do some hands on.