Virtual Device Interface specification (Linux)
on Linux VDI client SDK
- Linux
This article covers the interfaces provided by the SQL Server on Linux virtual device interface
(VDI) client SDK.
Independent software vendors (ISVs) can use the Virtual Backup Device application
programming interface (API) to integrate SQL Server into their products. In general, VDI on
Linux behaves similarly to VDI on Windows with the following changes:
Windows shared memory becomes POSIX shared memory.
Windows semaphores become POSIX semaphores.
Windows types like
and
are changed to integer equivalents.
The COM interfaces are removed and replaced with a pair of C++ classes.
on Linux doesn’t support named instances, so references to instance name
have been removed.
The shared library is implemented in
, installed at.
This article is an addendum to
Virtual device interface (VDI) reference
that details the SQL
Server VDI Specifications on Windows.
Also review the sample VDI backup solution on the
Samples GitHub repository.
On Linux, POSIX primitives are owned by the user creating them and their default group. For
objects created by SQL Server, these are owned by the
user and the
group by
default. To allow sharing between SQL Server and the VDI client, one of the following two
methods is recommended:
- Run the VDI client as the
user.
7
Note
For SQL Server 2022 (16.x) on Linux, you can
instead.
HRESULT
DWORD libsqlvdi.so
/opt/mssql/lib/libsqlvdi.so mssql