{"id":1013,"date":"2025-04-29T08:00:00","date_gmt":"2025-04-29T13:00:00","guid":{"rendered":"https:\/\/www.sqltabletalk.com\/?p=1013"},"modified":"2025-04-28T21:35:54","modified_gmt":"2025-04-29T02:35:54","slug":"sql-server-database-snapshots","status":"publish","type":"post","link":"https:\/\/www.sqltabletalk.com\/?p=1013","title":{"rendered":"Working with Database Snapshots in SQL Server"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>Database snapshots are one of those features that&#8217;s been around forever, but still solves real-world problems with very little setup. In a single statement you can capture a point-in-time, read-only copy of any user database, use it for reporting or off-load testing, and\u2014if disaster strikes\u2014revert the source back to that snapshot in minutes. This guide explains how snapshots work under the hood, walks through day-to-day tasks (including creating the original database), and highlights the pitfalls you should plan for before using them in production.<\/p>\n<h3>What a Database Snapshot Really Is<\/h3>\n<p>When you create a snapshot, SQL Server adds a <strong>sparse file<\/strong> for every data file in the source database.<\/p>\n<ul>\n<li>At the moment of creation, the sparse file is almost empty.<\/li>\n<li>As new changes hit the source, SQL Server copies each original 8-KB page into the sparse file the first time it is modified. This <strong>copy-on-write (CoW)<\/strong> mechanism preserves the precise state of the page when the snapshot was taken.<\/li>\n<li>Reads against the snapshot come from the sparse file when a page has diverged, or from the source file when it hasn\u2019t.<\/li>\n<\/ul>\n<p>Because only changed pages consume space, snapshots usually start small and grow with workload churn. The sparse files are ordinary NTFS files, so they can live on cheaper storage tiers, but they must reside on the <strong>same server instance<\/strong> as the source database.<\/p>\n<h3>Creating the Source Database<\/h3>\n<p>Before you take a snapshot, you need a user database to snapshot. Here\u2019s a simple example to create a sample <code>SalesDB<\/code>:<\/p>\n<pre><code>-- Create a sample database with a data and log file\nCREATE DATABASE SalesDB\nON PRIMARY\n(\n    NAME = SalesData,\n    FILENAME = 'E:\\\\Data\\\\SalesData.mdf',\n    SIZE = 100MB,\n    MAXSIZE = 500MB,\n    FILEGROWTH = 50MB\n)\nLOG ON\n(\n    NAME = SalesLog,\n    FILENAME = 'E:\\\\Logs\\\\SalesLog.ldf',\n    SIZE = 50MB,\n    MAXSIZE = 250MB,\n    FILEGROWTH = 25MB\n);\nGO\n\n-- Create a sample table and insert data\nUSE SalesDB;\nGO\nCREATE TABLE dbo.Orders\n(\n    OrderID INT IDENTITY PRIMARY KEY,\n    OrderDate DATE NOT NULL,\n    CustomerName NVARCHAR(100),\n    Amount DECIMAL(10,2)\n);\nGO\n\n-- Insert sample rows\nINSERT INTO dbo.Orders (OrderDate, CustomerName, Amount)\nVALUES\n('2025-04-28', 'Contoso', 250.00),\n('2025-04-28', 'Fabrikam', 175.50);\nGO<\/code><\/pre>\n<h3>Hands-On: Creating, Using, and Dropping Snapshots<\/h3>\n<h4>Create<\/h4>\n<pre><code>CREATE DATABASE SalesSnap_2025_04_28\nON\n(\n    NAME = SalesData,\n    FILENAME = 'E:\\\\Snapshots\\\\SalesData_Snap.ss'\n)\nAS SNAPSHOT OF SalesDB;<\/code><\/pre>\n<p><em>Give snapshots a timestamp in the name so it\u2019s obvious when they were taken.<\/em><\/p>\n<h4>Query<\/h4>\n<pre><code>SELECT *\nFROM SalesSnap_2025_04_28.dbo.Orders\nWHERE OrderDate = '2025-04-28';<\/code><\/pre>\n<p>Permissions flow from the source. Grant read rights if needed.<\/p>\n<h4>Revert<\/h4>\n<pre><code>ALTER DATABASE SalesDB\nSET SINGLE_USER WITH ROLLBACK IMMEDIATE;\nRESTORE DATABASE SalesDB\n    FROM DATABASE_SNAPSHOT = 'SalesSnap_2025_04_28';\nGO\nDROP DATABASE SalesSnap_2025_04_28;<\/code><\/pre>\n<h4>Drop<\/h4>\n<pre><code>DROP DATABASE SalesSnap_2025_04_28;<\/code><\/pre>\n<h3>Monitoring Space Usage<\/h3>\n<p>Track how much of each sparse file is used:<\/p>\n<pre><code>SELECT\n    d.name                    AS SnapshotName,\n    mf.physical_name,\n    mf.size * 8 \/ 1024.0      AS SizeMB,\n    FILEPROPERTY(mf.name, 'SpaceUsed') * 8 \/ 1024.0 AS UsedMB\nFROM sys.master_files AS mf\nJOIN sys.databases      AS d\n    ON d.database_id = mf.database_id\nWHERE mf.source_database_id IS NOT NULL;<\/code><\/pre>\n<p>Automate alerts when <code>UsedMB<\/code> approaches disk capacity.<\/p>\n<h3>Limitations and Gotchas<\/h3>\n<ul>\n<li><strong>Performance overhead:<\/strong> The first write to any page triggers a copy into the sparse file, adding a small I\/O cost.<\/li>\n<li><strong>Not a backup:<\/strong> Snapshots live on the same storage array as the source. If that array fails, snapshots are lost. Keep regular backups.<\/li>\n<li><strong>Edition requirement:<\/strong> Enterprise (or Developer\/Evaluation) Edition only. No Standard support.<\/li>\n<li><strong>Sparse file growth:<\/strong> Each snapshot is a database; excessive snapshots can bloat MSDB history and slow SSMS lists.<\/li>\n<li><strong>No system database snapshots:<\/strong> Model, msdb, and tempdb cannot be snapshotted; master can be, but MS recommends against it.<\/li>\n<li><strong>Compression loss:<\/strong> Data moved into sparse files loses PAGE compression savings.<\/li>\n<li><strong>Replication limitation:<\/strong> A snapshot cannot act as a replication publisher, though snapshots of published databases are allowed.<\/li>\n<\/ul>\n<h3>Best Practices<\/h3>\n<ul>\n<li><strong>Consistent naming:<\/strong> <code>&lt;DB&gt;_Snap_YYYYMMDD_HHMM<\/code><\/li>\n<li><strong>Separate storage:<\/strong> Host sparse files on a less-busy volume if possible.<\/li>\n<li><strong>Automate cleanup:<\/strong> Use a SQL Agent job to drop snapshots older than <em>N<\/em> days.<\/li>\n<li><strong>Include in maintenance:<\/strong> Take snapshots before patches, schema changes, or large ETL loads.<\/li>\n<li><strong>Test restore process:<\/strong> Regularly verify your ability to revert on a staging system.<\/li>\n<li><strong>Alert on growth:<\/strong> Trigger warnings at 70% of allocated snapshot storage.<\/li>\n<\/ul>\n<h4>Conclusion<\/h4>\n<p>Database snapshots give DBAs instant, storage-efficient checkpoints for reporting and rollback scenarios. They rely on simple copy-on-write mechanics, making them easy to create and fast to revert, but they are <strong>not<\/strong> a substitute for real backups and they add write overhead as the sparse files grow. By following the sizing, monitoring, and clean-up practices above, you can use snapshots confidently to protect data and streamline day-to-day operations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Database snapshots are one of those features that&#8217;s been around forever, but still solves real-world problems with very little setup. In a single statement you can capture a point-in-time, read-only copy of any user database, use it for reporting or off-load testing, and\u2014if disaster strikes\u2014revert the source back to that snapshot in minutes. This guide explains how snapshots work under the hood, walks through day-to-day tasks (including creating the original database), and highlights the pitfalls you should plan for before using them in production.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[35,13,78,21],"tags":[526,529,530,131,531],"class_list":["post-1013","post","type-post","status-publish","format-standard","hentry","category-data-integrity","category-storage-engine","category-tsql","category-tutorial","tag-backup-and-restore","tag-database-snapshots","tag-snapshot-management","tag-sql-server","tag-storage-management"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Working with Database Snapshots in SQL Server - SQL Table Talk<\/title>\n<meta name=\"description\" content=\"Database snapshots are one of those features that&#039;s been around forever, but still solves real-world problems with very little setup. In a single statement you can capture a point-in-time, read-only copy of any user database, use it for reporting or off-load testing, and\u2014if disaster strikes\u2014revert the source back to that snapshot in minutes. This guide explains how snapshots work under the hood, walks through day-to-day tasks (including creating the original database), and highlights the pitfalls you should plan for before using them in production.\" \/>\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.sqltabletalk.com\/?p=1013\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Working with Database Snapshots in SQL Server - SQL Table Talk\" \/>\n<meta property=\"og:description\" content=\"Database snapshots are one of those features that&#039;s been around forever, but still solves real-world problems with very little setup. In a single statement you can capture a point-in-time, read-only copy of any user database, use it for reporting or off-load testing, and\u2014if disaster strikes\u2014revert the source back to that snapshot in minutes. This guide explains how snapshots work under the hood, walks through day-to-day tasks (including creating the original database), and highlights the pitfalls you should plan for before using them in production.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqltabletalk.com\/?p=1013\" \/>\n<meta property=\"og:site_name\" content=\"SQL Table Talk\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-29T13:00:00+00:00\" \/>\n<meta name=\"author\" content=\"Stephen Planck\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Stephen Planck\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=1013#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=1013\"},\"author\":{\"name\":\"Stephen Planck\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\"},\"headline\":\"Working with Database Snapshots in SQL Server\",\"datePublished\":\"2025-04-29T13:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=1013\"},\"wordCount\":569,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\"},\"keywords\":[\"Backup and Restore\",\"Database Snapshots\",\"Snapshot Management\",\"SQL Server\",\"Storage Management\"],\"articleSection\":[\"Data Integrity\",\"Storage Engine\",\"TSQL\",\"Tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.sqltabletalk.com\/?p=1013#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=1013\",\"url\":\"https:\/\/www.sqltabletalk.com\/?p=1013\",\"name\":\"Working with Database Snapshots in SQL Server - SQL Table Talk\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#website\"},\"datePublished\":\"2025-04-29T13:00:00+00:00\",\"description\":\"Database snapshots are one of those features that's been around forever, but still solves real-world problems with very little setup. In a single statement you can capture a point-in-time, read-only copy of any user database, use it for reporting or off-load testing, and\u2014if disaster strikes\u2014revert the source back to that snapshot in minutes. This guide explains how snapshots work under the hood, walks through day-to-day tasks (including creating the original database), and highlights the pitfalls you should plan for before using them in production.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=1013#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqltabletalk.com\/?p=1013\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=1013#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqltabletalk.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Working with Database Snapshots in SQL Server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#website\",\"url\":\"https:\/\/www.sqltabletalk.com\/\",\"name\":\"SQL Table Talk\",\"description\":\"Breaking Down SQL Server, One Post at a Time.\",\"publisher\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqltabletalk.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\",\"name\":\"Stephen Planck\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g\",\"caption\":\"Stephen Planck\"},\"logo\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/dexterwiki.com\",\"https:\/\/www.linkedin.com\/in\/stephen-planck-4611b692?trk=people-guest_people_search-card&challengeId=AQErf8gbBmcVMwAAAYsyIsxO-0UvU8z7cHrBpZoo_n3xt9qEKpRN5B_jd_LmAMu-OfeArkQ7GDjobJ2uRoQQV35EQdh_rR6kxA&submissionId=09de7067-c335-8e17-40b8-8dc32b60ed6c&challengeSource=AgEcUCw35zpPmAAAAYsyI4vAWhJTV7Nt4vZYKc3V1qiDBpCkKgUvtlOBgYXcE84&challegeType=AgE_wZiTT09IAQAAAYsyI4vDmNvbZIYe6XHju5V2bXVvM3IVxnJslgY&memberId=AgESFTkUShzs_gAAAYsyI4vGYk0Gic1uc5kB6cKOABA26Gw&recognizeDevice=AgHdSZyUSI5CEwAAAYsyI4vKd_koF9JgpsCJShT8QfbK1QMiv8SI\",\"https:\/\/www.youtube.com\/linuxmate\"],\"url\":\"https:\/\/www.sqltabletalk.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Working with Database Snapshots in SQL Server - SQL Table Talk","description":"Database snapshots are one of those features that's been around forever, but still solves real-world problems with very little setup. In a single statement you can capture a point-in-time, read-only copy of any user database, use it for reporting or off-load testing, and\u2014if disaster strikes\u2014revert the source back to that snapshot in minutes. This guide explains how snapshots work under the hood, walks through day-to-day tasks (including creating the original database), and highlights the pitfalls you should plan for before using them in production.","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.sqltabletalk.com\/?p=1013","og_locale":"en_US","og_type":"article","og_title":"Working with Database Snapshots in SQL Server - SQL Table Talk","og_description":"Database snapshots are one of those features that's been around forever, but still solves real-world problems with very little setup. In a single statement you can capture a point-in-time, read-only copy of any user database, use it for reporting or off-load testing, and\u2014if disaster strikes\u2014revert the source back to that snapshot in minutes. This guide explains how snapshots work under the hood, walks through day-to-day tasks (including creating the original database), and highlights the pitfalls you should plan for before using them in production.","og_url":"https:\/\/www.sqltabletalk.com\/?p=1013","og_site_name":"SQL Table Talk","article_published_time":"2025-04-29T13:00:00+00:00","author":"Stephen Planck","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Stephen Planck","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqltabletalk.com\/?p=1013#article","isPartOf":{"@id":"https:\/\/www.sqltabletalk.com\/?p=1013"},"author":{"name":"Stephen Planck","@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0"},"headline":"Working with Database Snapshots in SQL Server","datePublished":"2025-04-29T13:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqltabletalk.com\/?p=1013"},"wordCount":569,"commentCount":0,"publisher":{"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0"},"keywords":["Backup and Restore","Database Snapshots","Snapshot Management","SQL Server","Storage Management"],"articleSection":["Data Integrity","Storage Engine","TSQL","Tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqltabletalk.com\/?p=1013#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqltabletalk.com\/?p=1013","url":"https:\/\/www.sqltabletalk.com\/?p=1013","name":"Working with Database Snapshots in SQL Server - SQL Table Talk","isPartOf":{"@id":"https:\/\/www.sqltabletalk.com\/#website"},"datePublished":"2025-04-29T13:00:00+00:00","description":"Database snapshots are one of those features that's been around forever, but still solves real-world problems with very little setup. In a single statement you can capture a point-in-time, read-only copy of any user database, use it for reporting or off-load testing, and\u2014if disaster strikes\u2014revert the source back to that snapshot in minutes. This guide explains how snapshots work under the hood, walks through day-to-day tasks (including creating the original database), and highlights the pitfalls you should plan for before using them in production.","breadcrumb":{"@id":"https:\/\/www.sqltabletalk.com\/?p=1013#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqltabletalk.com\/?p=1013"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqltabletalk.com\/?p=1013#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqltabletalk.com\/"},{"@type":"ListItem","position":2,"name":"Working with Database Snapshots in SQL Server"}]},{"@type":"WebSite","@id":"https:\/\/www.sqltabletalk.com\/#website","url":"https:\/\/www.sqltabletalk.com\/","name":"SQL Table Talk","description":"Breaking Down SQL Server, One Post at a Time.","publisher":{"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqltabletalk.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0","name":"Stephen Planck","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g","caption":"Stephen Planck"},"logo":{"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/dexterwiki.com","https:\/\/www.linkedin.com\/in\/stephen-planck-4611b692?trk=people-guest_people_search-card&challengeId=AQErf8gbBmcVMwAAAYsyIsxO-0UvU8z7cHrBpZoo_n3xt9qEKpRN5B_jd_LmAMu-OfeArkQ7GDjobJ2uRoQQV35EQdh_rR6kxA&submissionId=09de7067-c335-8e17-40b8-8dc32b60ed6c&challengeSource=AgEcUCw35zpPmAAAAYsyI4vAWhJTV7Nt4vZYKc3V1qiDBpCkKgUvtlOBgYXcE84&challegeType=AgE_wZiTT09IAQAAAYsyI4vDmNvbZIYe6XHju5V2bXVvM3IVxnJslgY&memberId=AgESFTkUShzs_gAAAYsyI4vGYk0Gic1uc5kB6cKOABA26Gw&recognizeDevice=AgHdSZyUSI5CEwAAAYsyI4vKd_koF9JgpsCJShT8QfbK1QMiv8SI","https:\/\/www.youtube.com\/linuxmate"],"url":"https:\/\/www.sqltabletalk.com\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/1013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1013"}],"version-history":[{"count":1,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/1013\/revisions"}],"predecessor-version":[{"id":1014,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/1013\/revisions\/1014"}],"wp:attachment":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}