MariaDB Features Not Available in SQL Server
Some MariaDB features are not available in SQL Server.
At a first glance, it is not important to know about those features to migrate from SQL Server to MariaDB. However, this is not the case. Using MariaDB features that are not in SQL Server allows one to obtain more advantages from the migration, getting the most from MariaDB.
This page has a list of MariaDB features that are not supported in SQL Server. The list is not exhaustive.
- Storage engines.
- Authentication plugins.
- Encryption plugins.
- ColumnStore is a columnar storage engine designed to scale horizontally. It runs on a specific edition of MariaDB, so currently it cannot be used in combination with other engines.
- The sql_mode variable determines in which cases an SQL statements should fail with an error, and in which cases it should succeed with a warning even if it is not entirely correct. For example, when a statement tries to insert a string in a column which is not big enough to contain it, it could fail, or it could insert a truncated string and emit a warning. It is a tradeoff between reliability and flexibility.
- SQL_MODE=MSSQL allows to use a small subset of SQL Server proprietary syntax.
CREATE ... IF EXISTS,
CREATE OR REPLACE,
DROP ... IF NOT EXISTSoptions are supported for most DDL statements.
- CHECKSUM TABLE statement.
- PL/SQL support (only for stored procedures and stored functions).
- Row constructors.
- Character sets and collations don't depend on column type. They can be set globally, or at database, table or column level.
- Columns may use non-constant expressions as
TIMESTAMPcolumns may have a
- Dynamic columns (note that JSON is usually preferred to this feature).