{"id":44439,"date":"2026-05-14T23:26:03","date_gmt":"2026-05-14T21:26:03","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=44439"},"modified":"2026-05-14T23:48:13","modified_gmt":"2026-05-14T21:48:13","slug":"sql-server-snapshot-backup-and-restore-with-proxmox-zfs","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/","title":{"rendered":"SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\/3)"},"content":{"rendered":"\n<p>We are currently working with clients on migrations to SQL Server 2022 and SQL Server 2025. During a discussion with one client, we reviewed some of the benefits introduced in the latest SQL Server 2022 and 2025 releases.<\/p>\n\n\n\n<p>Among the available features, starting with SQL Server 2022, we have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>T-SQL snapshot backup : <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/backup-restore\/create-a-transact-sql-snapshot-backup?view=sql-server-ver17\">https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/backup-restore\/create-a-transact-sql-snapshot-backup?view=sql-server-ver17<\/a><\/li>\n<\/ul>\n\n\n\n<p>Starting with SQL Server 2025:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>REST API Call through sp_invoke_external_rest_endpoint : <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/system-stored-procedures\/sp-invoke-external-rest-endpoint-transact-sql?view=sql-server-ver17&amp;tabs=request-headers\">https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/system-stored-procedures\/sp-invoke-external-rest-endpoint-transact-sql?view=sql-server-ver17&amp;tabs=request-headers<\/a><\/li>\n<\/ul>\n\n\n\n<p>The customer\u2019s environment consists of a very large number of instances, some of which host very large SQL Server databases. In this customer\u2019s case, we are referring to a database of approximately 6\u20137 TB, configured for high availability using Always On Availability Groups. For this database, backups take around two hours, and restores take slightly longer.<\/p>\n\n\n\n<p>In addition, the customer has a Pure Storage array.<\/p>\n\n\n\n<p>We explained to the customer that it is possible to use certain SQL Server 2025 features together with their Pure Storage array to perform snapshots and restores very quickly.<\/p>\n\n\n\n<p>In summary, the process consists of performing the following operations:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Change the database state to suspend writes.<\/li>\n\n\n\n<li>Create the snapshot using the storage system.<\/li>\n\n\n\n<li>Perform a backup using the BACKUP DATABASE MyDB WITH METADATA_ONLY command to indicate that a snapshot has been taken.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"231\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36-1024x231.png\" alt=\"\" class=\"wp-image-44440\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36-1024x231.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36-300x68.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36-768x173.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36.png 1130w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Reference: <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/backup-restore\/create-a-transact-sql-snapshot-backup?view=sql-server-ver17\">https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/backup-restore\/create-a-transact-sql-snapshot-backup?view=sql-server-ver17<\/a><\/p>\n\n\n\n<p>However, the customer raised several interesting questions, which, reading between the lines, can be summarized as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Can this also be applied to PostgreSQL?<\/li>\n\n\n\n<li>Are we dependent on Pure Storage to achieve this?<\/li>\n<\/ul>\n\n\n\n<p>Several articles have been published about the implementation of this process between SQL Server and Pure Storage including the following one:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.nocentino.com\/posts\/2025-05-19-t-sql-rest-api-integration-in-sql-server-2025-streamlining-t-sql-snapshot-backups\">https:\/\/www.nocentino.com\/posts\/2025-05-19-t-sql-rest-api-integration-in-sql-server-2025-streamlining-t-sql-snapshot-backups<\/a><\/li>\n<\/ul>\n\n\n\n<p>In my opinion, it is possible to reproduce this operating model with other systems. In my case, we will use Proxmox and ZFS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-context-and-environment\">Context and environment<\/h2>\n\n\n\n<p>ZFS pool provides fast, storage-level, copy-on-write snapshots with minimal space overhead. This makes it well suited for SQL Server snapshot backups, where the database writes are briefly suspended while the underlying virtual disk is captured. ZFS also allows precise rollback or cloning of a snapshot, which is useful for both restore testing and recovery scenarios.<\/p>\n\n\n\n<p>On Proxmox, it integrates naturally with VM disks, making it a practical alternative to enterprise storage snapshot platforms.<\/p>\n\n\n\n<p>The environment consists of a server and two disks: one disk used to store the VMs, and a 1 TB Samsung T7 disk that will be used to create our ZFS pool.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-proxmox-setup\">Proxmox Setup<\/h2>\n\n\n\n<p>We identity the path of the related volume (Samsung T7) :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>for d in \/dev\/disk\/by-id\/*; do\n&nbsp; &#091; \"$(readlink -f \"$d\")\" = \"\/dev\/sda\" ] &amp;&amp; echo \"$d\"\ndone<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"447\" height=\"62\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-32.png\" alt=\"\" class=\"wp-image-44441\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-32.png 447w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-32-300x42.png 300w\" sizes=\"auto, (max-width: 447px) 100vw, 447px\" \/><\/figure>\n\n\n\n<p>We create the pool. Everything stored in the disk will be erased :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DISK=\"\/dev\/disk\/by-id\/usb-Samsung_PSSD_T7_S6TWNJ0T300328F-0:0\"\n\nwipefs -a \"$DISK\"\nsgdisk --zap-all \"$DISK\"\nzpool create \\\n&nbsp; -o ashift=12 \\\n&nbsp; -o autotrim=on \\\n&nbsp; -O compression=lz4 \\\n&nbsp; -O atime=off \\\n&nbsp; -O xattr=sa \\\n&nbsp; -O acltype=posixacl \\\n&nbsp; -m \/mnt\/sqlpool \\\n&nbsp; sqlpool \"$DISK\"<\/code><\/pre>\n\n\n\n<p>Then we create a Proxmox dataset for the VM disks:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>zfs create sqlpool\/pve<\/code><\/pre>\n\n\n\n<p>We add it to proxmox:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pvesm add zfspool sql-zfs \\\n  --pool sqlpool\/pve \\\n  --content images,rootdir \\\n  --sparse 1<\/code><\/pre>\n\n\n\n<p>We check the pool:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>zpool status sqlpool\n\nzfs list\n\npvesm status\npool: sqlpool\nstate: ONLINE\n\nconfig:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STATE&nbsp;&nbsp;&nbsp;&nbsp; READ WRITE CKSUM\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlpool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ONLINE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;usb-Samsung_PSSD_T7_S6TWNJ0T300328F-0:0&nbsp;   ONLINE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0\n\nerrors: No known data errors\n\nNAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; USED&nbsp; AVAIL&nbsp; REFER&nbsp; MOUNTPOINT\nsqlpool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 636K&nbsp;&nbsp; 899G&nbsp;&nbsp;&nbsp; 96K&nbsp; \/mnt\/sqlpool\nsqlpool\/pve&nbsp;&nbsp;&nbsp; 96K&nbsp;&nbsp; 899G&nbsp;&nbsp;&nbsp; 96K&nbsp; \/mnt\/sqlpool\/pve\n\nName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp; Status&nbsp;&nbsp;&nbsp;&nbsp; Total (KiB)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Used (KiB) Available (KiB)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %\nlocal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir&nbsp;&nbsp;&nbsp;&nbsp; active&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 98497780&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 42429080&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51019152&nbsp;&nbsp; 43.08%\nlocal-lvm&nbsp;&nbsp;&nbsp;&nbsp; lvmthin&nbsp;&nbsp;&nbsp;&nbsp; active&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3746553856&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 285112748&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3461441107&nbsp;&nbsp;&nbsp; 7.61%\nsql-zfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zfspool&nbsp;&nbsp;&nbsp;&nbsp; active&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 942931428&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 96&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 942931332&nbsp;&nbsp;&nbsp; 0.00%<\/code><\/pre>\n\n\n\n<p>My VM ID is 302 and we have to add the virtual disk into the ZFS pool:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"251\" height=\"203\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-37.png\" alt=\"\" class=\"wp-image-44446\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>VMID=302\nqm set \"$VMID\" --agent enabled=1\nqm set \"$VMID\" --scsihw virtio-scsi-single\nqm set \"$VMID\" --scsi1 sql-zfs:700,cache=none,discard=on,iothread=1,ssd=1<\/code><\/pre>\n\n\n\n<p>Be carefull to the scsi ID. You may overwrite a used volume.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-does-it-look-like\">What does it look like ?<\/h2>\n\n\n\n<p>Once the pool created we have something like this :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"375\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-40-1024x375.png\" alt=\"\" class=\"wp-image-44450\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-40-1024x375.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-40-300x110.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-40-768x281.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-40-1536x562.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-40.png 1614w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>On the virtual machine side, I have 3 disks :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 for my virtual machine (for Windows Server)<\/li>\n\n\n\n<li>1 for SQL Server<\/li>\n\n\n\n<li>1 linked to the ZFS pool to store the user database (the StackOverflow database)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"795\" height=\"300\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-41.png\" alt=\"\" class=\"wp-image-44453\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-41.png 795w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-41-300x113.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-41-768x290.png 768w\" sizes=\"auto, (max-width: 795px) 100vw, 795px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-sql-server-setup\">SQL Server setup<\/h2>\n\n\n\n<p>The virtual machine used for the tests runs with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Windows Server 2025 Standard Edition<\/li>\n\n\n\n<li>SQL Server 2025 Enterprise Developer Edition<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"346\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-47-1024x346.png\" alt=\"\" class=\"wp-image-44457\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-47-1024x346.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-47-300x101.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-47-768x259.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-47.png 1403w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The mounted zvol is represented by the Databases (T:) volume. Most of the files related to the SQL Server installation are stored on the SQL (D:) volume while the StackOverflow database is located on the Databases (T:) volume.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"251\" height=\"273\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-35.png\" alt=\"\" class=\"wp-image-44444\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-manual-process-flow-snapshot\">Manual process flow (snapshot)<\/h2>\n\n\n\n<p>Here is how we will proceed to create a snapshot and then restore the database:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ALTER DATABASE [StackOverflow] SET SUSPEND_FOR_SNAPSHOT_BACKUP = ON;<\/li>\n\n\n\n<li>Create the snapshot using the zfs snapshot command.<\/li>\n\n\n\n<li>Run BACKUP DATABASE [StackOverflow] &#8230; WITH METADATA_ONLY.<\/li>\n<\/ul>\n\n\n\n<p>To avoid confusion and to be able to link the snapshot to the backup, we will include the snapshot name in the MEDIADESCRIPTION clause.<\/p>\n\n\n\n<p>Here are the corresponding commands to create the snapshot:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ALTER DATABASE &#091;StackOverflow] SET SUSPEND_FOR_SNAPSHOT_BACKUP = ON;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"979\" height=\"150\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-34.png\" alt=\"\" class=\"wp-image-44443\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-34.png 979w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-34-300x46.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-34-768x118.png 768w\" sizes=\"auto, (max-width: 979px) 100vw, 979px\" \/><\/figure>\n\n\n\n<p>We perform the snapshot:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>zfs snapshot sqlpool\/pve\/vm-302-disk-0@StackOverflow_11052026_235500<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"646\" height=\"18\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-39.png\" alt=\"\" class=\"wp-image-44447\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-39.png 646w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-39-300x8.png 300w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><\/figure>\n\n\n\n<p>In the same session as the ALTER DATABASE command, we perform a backup:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>BACKUP DATABASE &#091;StackOverflow]\nTO DISK = N'D:\\Backups\\StackOverflow_11052026_235500.bkm'\nWITH METADATA_ONLY, MEDIADESCRIPTION = N'zfs|proxmox1|sqlpool\/pve\/vm-302-disk-0@StackOverflow_11052026_235500';<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"888\" height=\"229\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-38.png\" alt=\"\" class=\"wp-image-44448\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-38.png 888w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-38-300x77.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-38-768x198.png 768w\" sizes=\"auto, (max-width: 888px) 100vw, 888px\" \/><\/figure>\n\n\n\n<p>The error log shows the following:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"57\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-31-1024x57.png\" alt=\"\" class=\"wp-image-44445\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-31-1024x57.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-31-300x17.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-31-768x43.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-31.png 1385w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>We verify that the snapshot has been successfully created:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"745\" height=\"118\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-42.png\" alt=\"\" class=\"wp-image-44449\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-42.png 745w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-42-300x48.png 300w\" sizes=\"auto, (max-width: 745px) 100vw, 745px\" \/><\/figure>\n\n\n\n<p>And the SQL backup :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"633\" height=\"148\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-33.png\" alt=\"\" class=\"wp-image-44442\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-33.png 633w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-33-300x70.png 300w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-manual-process-flow-restore\">Manual process flow (restore)<\/h2>\n\n\n\n<p>We now need to be able to restore the database. Before doing so, we can delete a few tables to verify that the database has been restored as expected. We deleted most of the tables, leaving only three:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"227\" height=\"331\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-45.png\" alt=\"\" class=\"wp-image-44454\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-45.png 227w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-45-206x300.png 206w\" sizes=\"auto, (max-width: 227px) 100vw, 227px\" \/><\/figure>\n\n\n\n<p>To perform the restore, we will follow these steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Take the database offline.<\/li>\n\n\n\n<li>Rollback the snapshot using the zfs rollback command.<\/li>\n\n\n\n<li>Restore the database using the SQL backup created earlier.<\/li>\n<\/ul>\n\n\n\n<p>This is done using the following commands:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ALTER DATABASE &#091;StackOverflow] SET OFFLINE WITH ROLLBACK IMMEDIATE;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"979\" height=\"203\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-46.png\" alt=\"\" class=\"wp-image-44455\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-46.png 979w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-46-300x62.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-46-768x159.png 768w\" sizes=\"auto, (max-width: 979px) 100vw, 979px\" \/><\/figure>\n\n\n\n<p>Snapshot restore:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>zfs rollback -r sqlpool\/pve\/vm-302-disk-0@StackOverflow_13052026_230000<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"661\" height=\"18\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-44.png\" alt=\"\" class=\"wp-image-44452\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-44.png 661w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-44-300x8.png 300w\" sizes=\"auto, (max-width: 661px) 100vw, 661px\" \/><\/figure>\n\n\n\n<p>Database restore:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>RESTORE DATABASE &#091;StackOverflow]\nFROM DISK = N'D:\\Backups\\StackOverflow_13052026_230000.bkm'\nWITH METADATA_ONLY, REPLACE, NORECOVERY;\n\nRESTORE DATABASE &#091;StackOverflow] WITH RECOVERY;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"918\" height=\"445\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-43.png\" alt=\"\" class=\"wp-image-44451\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-43.png 918w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-43-300x145.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-43-768x372.png 768w\" sizes=\"auto, (max-width: 918px) 100vw, 918px\" \/><\/figure>\n\n\n\n<p><strong>We were able to restore our database in less than one second, even though it is approximately 207 GB in size.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"147\" height=\"40\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-48.png\" alt=\"\" class=\"wp-image-44456\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-major-drawbacks\">Major drawbacks<\/h2>\n\n\n\n<p>The process is manual, and we need to switch between running commands in SQL Server and performing the snapshot\/restore operations in Proxmox. This freezes the database for a certain amount of time. During that period, connected applications could generate errors or timeouts.<\/p>\n\n\n\n<p>The solution to this problem would be to automate the process using PowerShell, for example.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-was-not-covered-in-this-section\">What was not covered in this section<\/h2>\n\n\n\n<p>While writing this blog post, I omitted two points:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When the database is deleted, it is necessary to take the volume dedicated to the StackOverflow database, Databases (D:), offline. Indeed, When you run a DROP DATABASE, SQL Server deletes the files from disk, and the database no longer exists. Then, if you perform a zfs rollback while Windows still sees the disk as online, you are effectively changing the disk \u201cunder Windows feet\u201d Windows may keep the previous NTFS state cached: an empty directory, MFT information, file handles, volume metadata, and so on. As a result, the ZFS rollback may have completed successfully, but Windows does not properly refresh its view of the disk.<\/li>\n\n\n\n<li>We did not make any calls to a REST API. Indeed, this functionality does not exist in my case, but it is possible to implement it.<\/li>\n<\/ul>\n\n\n\n<p>Thank you. <a href=\"https:\/\/www.linkedin.com\/in\/amine-haloui-76968056\/\">Amine Haloui<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are currently working with clients on migrations to SQL Server 2022 and SQL Server 2025. During a discussion with one client, we reviewed some of the benefits introduced in the latest SQL Server 2022 and 2025 releases. Among the available features, starting with SQL Server 2022, we have: Starting with SQL Server 2025: The [&hellip;]<\/p>\n","protected":false},"author":147,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[198,199,42,99],"tags":[2974,35,935],"type_dbi":[2874],"class_list":["post-44439","post","type-post","status-publish","format-standard","hentry","category-database-management","category-hardware-storage","category-operating-systems","category-sql-server","tag-proxmox","tag-storage","tag-zfs","type-sql-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\/3) - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\/3)\" \/>\n<meta property=\"og:description\" content=\"We are currently working with clients on migrations to SQL Server 2022 and SQL Server 2025. During a discussion with one client, we reviewed some of the benefits introduced in the latest SQL Server 2022 and 2025 releases. Among the available features, starting with SQL Server 2022, we have: Starting with SQL Server 2025: The [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-14T21:26:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-14T21:48:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1130\" \/>\n\t<meta property=\"og:image:height\" content=\"255\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Amine Haloui\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Amine Haloui\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/\"},\"author\":{\"name\":\"Amine Haloui\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/221331d69d49c63fca67069b49b813fe\"},\"headline\":\"SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\\\/3)\",\"datePublished\":\"2026-05-14T21:26:03+00:00\",\"dateModified\":\"2026-05-14T21:48:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/\"},\"wordCount\":1038,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/05\\\/image-36-1024x231.png\",\"keywords\":[\"proxmox\",\"Storage\",\"ZFS\"],\"articleSection\":[\"Database management\",\"Hardware &amp; Storage\",\"Operating systems\",\"SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/\",\"name\":\"SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\\\/3) - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/05\\\/image-36-1024x231.png\",\"datePublished\":\"2026-05-14T21:26:03+00:00\",\"dateModified\":\"2026-05-14T21:48:13+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/221331d69d49c63fca67069b49b813fe\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/05\\\/image-36.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/05\\\/image-36.png\",\"width\":1130,\"height\":255},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\\\/3)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/221331d69d49c63fca67069b49b813fe\",\"name\":\"Amine Haloui\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/64707272207cd8d2667aefcb212f3ff5d19a15813da5aad6553f109d1f1afec1?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/64707272207cd8d2667aefcb212f3ff5d19a15813da5aad6553f109d1f1afec1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/64707272207cd8d2667aefcb212f3ff5d19a15813da5aad6553f109d1f1afec1?s=96&d=mm&r=g\",\"caption\":\"Amine Haloui\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/aminehaloui\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\/3) - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/","og_locale":"en_US","og_type":"article","og_title":"SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\/3)","og_description":"We are currently working with clients on migrations to SQL Server 2022 and SQL Server 2025. During a discussion with one client, we reviewed some of the benefits introduced in the latest SQL Server 2022 and 2025 releases. Among the available features, starting with SQL Server 2022, we have: Starting with SQL Server 2025: The [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/","og_site_name":"dbi Blog","article_published_time":"2026-05-14T21:26:03+00:00","article_modified_time":"2026-05-14T21:48:13+00:00","og_image":[{"width":1130,"height":255,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36.png","type":"image\/png"}],"author":"Amine Haloui","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Amine Haloui","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/"},"author":{"name":"Amine Haloui","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/221331d69d49c63fca67069b49b813fe"},"headline":"SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\/3)","datePublished":"2026-05-14T21:26:03+00:00","dateModified":"2026-05-14T21:48:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/"},"wordCount":1038,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36-1024x231.png","keywords":["proxmox","Storage","ZFS"],"articleSection":["Database management","Hardware &amp; Storage","Operating systems","SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/","url":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/","name":"SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\/3) - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36-1024x231.png","datePublished":"2026-05-14T21:26:03+00:00","dateModified":"2026-05-14T21:48:13+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/221331d69d49c63fca67069b49b813fe"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/05\/image-36.png","width":1130,"height":255},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-snapshot-backup-and-restore-with-proxmox-zfs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL Server Snapshot Backup and Restore with Proxmox ZFS (1\/3)"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/221331d69d49c63fca67069b49b813fe","name":"Amine Haloui","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/64707272207cd8d2667aefcb212f3ff5d19a15813da5aad6553f109d1f1afec1?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/64707272207cd8d2667aefcb212f3ff5d19a15813da5aad6553f109d1f1afec1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/64707272207cd8d2667aefcb212f3ff5d19a15813da5aad6553f109d1f1afec1?s=96&d=mm&r=g","caption":"Amine Haloui"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/aminehaloui\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/44439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/147"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=44439"}],"version-history":[{"count":16,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/44439\/revisions"}],"predecessor-version":[{"id":44566,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/44439\/revisions\/44566"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=44439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=44439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=44439"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=44439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}