Connecting Linux to Windows
This is strange but, more likely, you will get an error the first time you try to connect. Just try the second try and it will work.
I need to see what Powershell objects for Linux currently exist; my guess is “not many, if any” but as those start getting fleshed out, I think even the most adamant of grep-sed-awk users will want to pick up at least a little bit of Powershell.
New SQL command line tools for Linux: We’ve created Linux-native versions of your favorite SQL command line tools such as sqlcmdand bcp and sqlpackage and also added the new mssql-conf tool that lets you configure various properties for the SQL Server instance on Linux (e.g., SA password, TCP port and collation).
New versions of SSMS, SSDT and SQL PowerShell: We have released updated versions (v17.0 RC1) of our flagship SQL Server tools including SQL Server Management Studio (SSMS), Visual Studio SQL Server Data Tools (SSDT) and SQL PowerShell with support for the SQL Server v.Next on Windows and Linux.
They also have a plugin for Visual Studio Code, which can be helpful if you’re running on Linux.
But my Backup file is still not visible in the wizard!Permissions. If you drill down into the folders in Linux, we found that the files already present in the /data/ folder are owned by the user mssql. Our recently copied backup file is NOT owned by mssql, and it not accessible to other users. So, our wizard cannot see the file.
The whole process is pretty straightforward.
You’re attempting to RESTORE a SQL Server database backup to your Linux installation and you get the message:
Msg 3201, Level 16, State 2, Line 17Cannot open backup device ‘C:\home\user\Downloads\AdventureWorks2012.bak’.
Operating system error 2(The system cannot find the file
specified.).Msg 3013, Level 16, State 1, Line 17RESTORE HEADERONLY is terminating abnormally.
If you’re going to administer SQL Server on Linux, it’s a good idea to check out the Unix-style permissions model. It’s a bit different than what we’re used to on Windows, though it does make sense with a bit of practice.
Suddenly though, it was boring. I tested a few Redgate tools (SQL Compare is right there above, connected to Linux) to be sure they worked. No major issues encountered. Great. However, now, it’s just another instance of SQL Server.
I guess I could start complaining that SQL Agent isn’t there… except I’m not that big a fan of SQL Agent, and I can schedule all sorts of stuff to run in Linux using the sqlcmd command line tool.
This is a good kind of boring.
With Microsoft’s recent release of the first public preview of MS SQL Server running on Linux, I wondered what they would do for high availability. Knowing how tightly coupled AlwaysOn Availability Groups and Failover Clustering is to the Windows operating system I was pretty certain they would not be options and I was correct.
Well, the people over at LinuxClustering.Net answered my question on how to provide high availability failover clusters for MS SQL Server v.Next on Linux with this great Step by Step article.
The linked article is amazing. It uses a piece of third-party software to perform clustering, so it’s not a free solution. We’ll see if Microsoft is able to build in a full HA solution in the first version of Linux-supported SQL Server, but if not, it looks like there’s an alternative.
OK, so everyone wants to know how Microsoft did it…how they got SQL Server running on Linux. In this article, I’m going to try to figure out how.
There’s a couple of approaches they could take…a direct port or some abstraction layer…A direct port would have been hard, basically any OS interaction would have had to been looked at and that would have been time consuming and risk prone. Who comes along to save the day? Abstraction. The word you hear about a million times when you take Operating Systems classes in undergrad and grad computer science courses. 🙂
Anthony talks about picoprocesses, which causes me to say that containers (like Docker) are probably the most important administrative concept of the decade. If you don’t fundamentally get the concept, learning it opens so many doors.
So, before you start working or trying to restore your Windows SQL Databases to SQL Server on Linux, there are a few things you may need to do. This will involved installing components which are not installed by default when first build your Linux System.
One thing I had to say with confidence! You WILL find all your answer on the internet. Any of the Linux Distro forum have your resolution to any of the issue you may encountered. Also, most of the time you Linux system will tell you (or gives a tip) what do with missing dependencies.
Other than that, there are Linux Application Updater solution to help keep your system up-to-date.
This is an amazing time to be in the SQL Server space.
Aside from a couple of DMVs that show you Linux specific performance information, everything in SQL Server on Linux is the same. Some of the HA and DR functionality is not complete, and the SQL Agent is not done, however you can use cron (and if you’re familiar with Linux, you should learn about cron—I’ll have another post on that next week).
These are some good notes, so check it out.
’m installing Ubuntu 16 on a Hyper-V VM. I’ll be using a generation 1 Hyper-V VM as I’ve had much better luck installing Linux VMs on these. I’ve had boot and performance issues with Linux on Generation 2 VMs.
After installing Ubuntu I followed the instructions in the SQL Server Linux documentation and recorded my progress below.
For Ubuntu we need to register the SQL Server repository before we can use the apt-get package manager to download and install SQL Server.
This step-by-step walkthrough shows that installing SQL Server on Linux is pretty easy: it’s just a single package (RPM or DEB depending upon your flavor of Linux).