Differences in SQL Server on Linux
Running SQL Server on Linux is an exciting new development that gives administrators an often-requested choice in the platform that they can use for deployments.
While the database engine is the same in Linux as it is in Windows, and most of the features that you know and love are supported across platforms, there are some minor differences and capabilities between the two platforms that you should be aware of.
First, let's talk about the installation requirements.
You need at least 3.25 GB of memory to run SQL Server on Linux, and it's only supported on the
Red Hat
SUSE
Ubuntu distributions at this time.
Unlike installations on Windows, you can only have a single instance installed in a Linux machine,
and the length of the host name where the SQL Server is installed needs to be 15 characters or less.
Finally, the file system of the disk needs to be the fourth extended file system, EXT4, with the exception of Red Hat, which also supports installations on an XFS formatted drive.
Remote database files can be stored on differently formatted drivers, but NFS, or network file system servers are not supported at this time.
Running SQL Server on Linux is an exciting new development that gives administrators an often-requested choice in the platform that they can use for deployments.
While the database engine is the same in Linux as it is in Windows, and most of the features that you know and love are supported across platforms, there are some minor differences and capabilities between the two platforms that you should be aware of.
First, let's talk about the installation requirements.
You need at least 3.25 GB of memory to run SQL Server on Linux, and it's only supported on the
Red Hat
SUSE
Ubuntu distributions at this time.
Unlike installations on Windows, you can only have a single instance installed in a Linux machine,
and the length of the host name where the SQL Server is installed needs to be 15 characters or less.
Finally, the file system of the disk needs to be the fourth extended file system, EXT4, with the exception of Red Hat, which also supports installations on an XFS formatted drive.
Remote database files can be stored on differently formatted drivers, but NFS, or network file system servers are not supported at this time.
Though Linux doesn't yet have a graphical user interface for SQL server instances, you can connect to an instance running on Linux from a Windows computer on the network.
When connecting to an instance of SQL Server on Linux from a Windows machine, you'll need to be running, at a minimum, version 17 of SQL Server Management Studio or SQL Server Data Tools for Visual Studio.
In Management Studio, keep in mind that at this time maintenance plans are not supported, Management Data Warehouse and the Data Collector are also not supported yet.
The use of Windows authentication or components that need to write to the Windows event log will not function properly, and the number of log files that are retained cannot be modified.
Further, SQL Server on Linux does not support distributed transactions requiring the Microsoft Distributed Transaction Coordinator service.
Finally, you won't be able to connect to SQL Server Configuration Manager to instances running on Linux.
So modifications to the server's configuration will need to be accomplished through the command line locally, or remotely through an SSH connection.
If you're migrating an existing database from a Windows SQL Server installation over to Linux, you'll make the job much easier if you upgrade the database to a SQL Server 2017 compatibility on Windows first,
then you can perform an backup and restore or a detach and attach procedure to complete the migration.
And when restoring a Windows database to a Linux instance for the first time, you'll need to include the "with move" clause in the transact SQL statement.
Finally, let's talk about some of the
Unsupported features of SQL server on Linux.
includes
includes
- Transactional replication.
- Merge replication.
- Stretch DB.
- Polybase.
- Distributed queries with third-party connections.
- System extended stored procedures.
- Filetables
- CLR assemblies with external access or unsafe permissions set, and buffer pool extensions.
- Database mirroring.
- Agent alerts.
- Managed backups.
-->The SQL Server browser and the machine learning services that include support for the R and Python programming languages, are also not supported.
Now that might sound like a long list, but feature parity between platforms is a stated goal, and Microsoft is making huge strides every month to get there.
So if a feature that you require isn't yet supported, it's just a matter of time before it is.
Keep in mind that this is only the first time that we've had SQL Server on Linux, so the fact that so much is complete and ready to use, is quite an achievement.
Keep in mind that this is only the first time that we've had SQL Server on Linux, so the fact that so much is complete and ready to use, is quite an achievement.
~ Concept taken from linked.in\learning.
Thanks for reading.