{"id":3065,"date":"2013-02-22T17:39:24","date_gmt":"2013-02-22T16:39:24","guid":{"rendered":"http:\/\/andreas-wolter.com\/sperren-readonly-dateigruppen-vs-readonly-datenbanken\/"},"modified":"2017-10-09T18:30:44","modified_gmt":"2017-10-09T17:30:44","slug":"locking-readonly-filegroups-vs-readonly-databases","status":"publish","type":"post","link":"https:\/\/andreas-wolter.com\/en\/locking-readonly-filegroups-vs-readonly-databases\/","title":{"rendered":"Locking &#038; READONLY Filegroups vs READONLY Databases"},"content":{"rendered":"\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-av_heading-e8c317c39db04533e90f2f73b5223c52\">\n#top .av-special-heading.av-av_heading-e8c317c39db04533e90f2f73b5223c52{\npadding-bottom:10px;\n}\nbody .av-special-heading.av-av_heading-e8c317c39db04533e90f2f73b5223c52 .av-special-heading-tag .heading-char{\nfont-size:25px;\n}\n.av-special-heading.av-av_heading-e8c317c39db04533e90f2f73b5223c52 .av-subheading{\nfont-size:15px;\n}\n<\/style>\n<div  class='av-special-heading av-av_heading-e8c317c39db04533e90f2f73b5223c52 av-special-heading-h3 blockquote modern-quote  avia-builder-el-0  el_before_av_textblock  avia-builder-el-first '><h3 class='av-special-heading-tag'  itemprop=\"headline\"  >Locking <span class='special_amp'>&amp;<\/span> READONLY Filegroups vs READONLY Databases<\/h3><div class=\"special-heading-border\"><div class=\"special-heading-inner-border\"><\/div><\/div><\/div>\r\n\r\n<section  class='av_textblock_section av-av_textblock-2de302bf1aa3cf4c9157dbe6f50ac7eb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/BlogPosting\" itemprop=\"blogPost\" ><div class='avia_textblock'  itemprop=\"text\" ><p>The Topic Locking and Read-Only for filegroups and databases is one of the ongoing myths around SQL Server in forums \u2013 and at least half of the information unfortunately wrong. Since I recently fell into the trap myself, I want to write down, how it really is. To have a definite picture, I made 3 test series under 3 different isolation levels:<!--more--><\/p>\n<ul>\n<li>Read Commited (the default)<\/li>\n<li>Read Uncommitted (equal to the often misunderstood \u201cNOLOCK\u201d)<\/li>\n<li>Repeatable Read<\/li>\n<\/ul>\n<p><strong>The Setup:<\/strong><\/p>\n<p>Tested under: Microsoft SQL Server 2012 &#8211; 11.0.2376 A Test using SQL Server 2008 R2 produced identical results The base is a simple table, which has a Clustered Index. Altogether it consists of 36 pages (In case you wonder about the name \u2013 I had also tested with a single-Page table)<\/p>\n<\/div><\/section>\r\n\r\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-av_image-a10600baf688ffbb3c896f6c80c22924\">\n.avia-image-container.av-av_image-a10600baf688ffbb3c896f6c80c22924 img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-av_image-a10600baf688ffbb3c896f6c80c22924 .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-av_image-a10600baf688ffbb3c896f6c80c22924 av-styling- avia-align-center  avia-builder-el-2  el_after_av_textblock  el_before_av_image '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><img decoding=\"async\" class='wp-image-3037 avia-img-lazy-loading-not-3037 avia_image ' src=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locking_demo.png\" alt='' title='Locking_demo'  height=\"62\" width=\"231\"  itemprop=\"thumbnailUrl\"  \/><\/div><\/div><\/div>\r\n\r\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-av_image-3b3b288be985891dbd0d6dcb067106f9\">\n.avia-image-container.av-av_image-3b3b288be985891dbd0d6dcb067106f9 img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-av_image-3b3b288be985891dbd0d6dcb067106f9 .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-av_image-3b3b288be985891dbd0d6dcb067106f9 av-styling- avia-align-center  avia-builder-el-3  el_after_av_image  el_before_av_image '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><img decoding=\"async\" class='wp-image-3035 avia-img-lazy-loading-not-3035 avia_image ' src=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Database_properties.png\" alt='' title='Database_properties'  height=\"113\" width=\"268\"  itemprop=\"thumbnailUrl\"  \/><\/div><\/div><\/div>\r\n\r\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-av_image-e5493a77eeb63902d62a7a97adb66912\">\n.avia-image-container.av-av_image-e5493a77eeb63902d62a7a97adb66912 img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-av_image-e5493a77eeb63902d62a7a97adb66912 .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-av_image-e5493a77eeb63902d62a7a97adb66912 av-styling- avia-align-left  avia-builder-el-4  el_after_av_image  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><img decoding=\"async\" class='wp-image-3040 avia-img-lazy-loading-not-3040 avia_image ' src=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot1.png\" alt='' title='Demo_Screenshot1'  height=\"320\" width=\"512\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot1.png 512w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot1-300x188.png 300w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot1-450x281.png 450w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/div><\/div><\/div>\r\n\r\n<section  class='av_textblock_section av-av_textblock-2de302bf1aa3cf4c9157dbe6f50ac7eb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/BlogPosting\" itemprop=\"blogPost\" ><div class='avia_textblock'  itemprop=\"text\" ><p>Identical structure so far except the database LockingDemo_RW_FG_RO \u2013 here the Table resides on filegroup FG_RO <img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-3041\" src=\"http:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot2.png\" alt=\"\" width=\"552\" height=\"150\" srcset=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot2.png 552w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot2-300x82.png 300w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot2-450x122.png 450w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/p>\n<\/div><\/section>\r\n\r\n<section  class='av_textblock_section av-av_textblock-2de302bf1aa3cf4c9157dbe6f50ac7eb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/BlogPosting\" itemprop=\"blogPost\" ><div class='avia_textblock'  itemprop=\"text\" ><p>The first\/upper query shows the total amount of data, the lower is used as the test query: <img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-3043\" src=\"http:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot3.png\" alt=\"\" width=\"552\" height=\"343\" srcset=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot3.png 552w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot3-300x186.png 300w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Demo_Screenshot3-450x280.png 450w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/p>\n<\/div><\/section>\r\n\r\n<section  class='av_textblock_section av-av_textblock-2de302bf1aa3cf4c9157dbe6f50ac7eb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/BlogPosting\" itemprop=\"blogPost\" ><div class='avia_textblock'  itemprop=\"text\" ><p>This is what the test looked like (abbreviated):<\/p>\n<\/div><\/section>\r\n\r\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-av_image-fbbdcb160342c3e1701c84d89ae16b37\">\n.avia-image-container.av-av_image-fbbdcb160342c3e1701c84d89ae16b37 img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-av_image-fbbdcb160342c3e1701c84d89ae16b37 .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-av_image-fbbdcb160342c3e1701c84d89ae16b37 av-styling- avia-align-left  avia-builder-el-8  el_after_av_textblock  el_before_av_image '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><img decoding=\"async\" class='wp-image-3049 avia-img-lazy-loading-not-3049 avia_image ' src=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Test_Screenshot1.png\" alt='' title='Test_Screenshot1'  height=\"896\" width=\"398\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Test_Screenshot1.png 398w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Test_Screenshot1-133x300.png 133w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Test_Screenshot1-313x705.png 313w\" sizes=\"(max-width: 398px) 100vw, 398px\" \/><\/div><\/div><\/div>\r\n\r\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-av_image-a7ce98617a7f73089ee83810b5e995de\">\n.avia-image-container.av-av_image-a7ce98617a7f73089ee83810b5e995de img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-av_image-a7ce98617a7f73089ee83810b5e995de .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-av_image-a7ce98617a7f73089ee83810b5e995de av-styling- avia-align-left  avia-builder-el-9  el_after_av_image  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><img decoding=\"async\" class='wp-image-3051 avia-img-lazy-loading-not-3051 avia_image ' src=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Test_Screenshot2.png\" alt='' title='Test_Screenshot2'  height=\"294\" width=\"427\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Test_Screenshot2.png 427w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Test_Screenshot2-300x207.png 300w\" sizes=\"(max-width: 427px) 100vw, 427px\" \/><\/div><\/div><\/div>\r\n\r\n<section  class='av_textblock_section av-av_textblock-2de302bf1aa3cf4c9157dbe6f50ac7eb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/BlogPosting\" itemprop=\"blogPost\" ><div class='avia_textblock'  itemprop=\"text\" ><p>Parallel to that, an extended events session was running (<em>Lock-escalation<\/em> isn\u2019t happening in this scenario)<\/p>\n<\/div><\/section>\r\n\r\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-av_image-54ef154f99c2084982f5ea9b67a5539b\">\n.avia-image-container.av-av_image-54ef154f99c2084982f5ea9b67a5539b img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-av_image-54ef154f99c2084982f5ea9b67a5539b .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-av_image-54ef154f99c2084982f5ea9b67a5539b av-styling- avia-align-left  avia-builder-el-11  el_after_av_textblock  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><img decoding=\"async\" class='wp-image-3047 avia-img-lazy-loading-not-3047 avia_image ' src=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Create_Eventsession_Screenshot.png\" alt='' title='Create_Eventsession_Screenshot'  height=\"247\" width=\"942\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Create_Eventsession_Screenshot.png 942w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Create_Eventsession_Screenshot-600x157.png 600w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Create_Eventsession_Screenshot-300x79.png 300w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Create_Eventsession_Screenshot-768x201.png 768w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Create_Eventsession_Screenshot-705x185.png 705w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Create_Eventsession_Screenshot-450x118.png 450w\" sizes=\"(max-width: 942px) 100vw, 942px\" \/><\/div><\/div><\/div>\r\n\r\n<section  class='av_textblock_section av-av_textblock-2de302bf1aa3cf4c9157dbe6f50ac7eb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/BlogPosting\" itemprop=\"blogPost\" ><div class='avia_textblock'  itemprop=\"text\" ><p><strong>Results<\/strong><\/p>\n<p>(Locks with granularity \/ resource_type = DATABASE left out)<\/p>\n<p><strong>1. Read Committed<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-3052\" src=\"http:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_read_committed.png\" alt=\"\" width=\"544\" height=\"182\" srcset=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_read_committed.png 544w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_read_committed-300x100.png 300w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_read_committed-450x151.png 450w\" sizes=\"auto, (max-width: 544px) 100vw, 544px\" \/><\/p>\n<\/div><\/section>\r\n\r\n<section  class='av_textblock_section av-av_textblock-2de302bf1aa3cf4c9157dbe6f50ac7eb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/BlogPosting\" itemprop=\"blogPost\" ><div class='avia_textblock'  itemprop=\"text\" ><p><strong>2. Read Uncommitted<\/strong><\/p>\n<p>(for obvious reason I left out the sub-totals \ud83d\ude42<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-3054\" src=\"http:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_read_uncommitted.png\" alt=\"\" width=\"544\" height=\"56\" srcset=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_read_uncommitted.png 544w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_read_uncommitted-300x31.png 300w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_read_uncommitted-450x46.png 450w\" sizes=\"auto, (max-width: 544px) 100vw, 544px\" \/><\/p>\n<\/div><\/section>\r\n\r\n<section  class='av_textblock_section av-av_textblock-2de302bf1aa3cf4c9157dbe6f50ac7eb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/BlogPosting\" itemprop=\"blogPost\" ><div class='avia_textblock'  itemprop=\"text\" ><p><strong>3. Repeatable Read<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-3056\" src=\"http:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_repeatable_read.png\" alt=\"\" width=\"544\" height=\"162\" srcset=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_repeatable_read.png 544w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_repeatable_read-300x89.png 300w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Locks_under_repeatable_read-450x134.png 450w\" sizes=\"auto, (max-width: 544px) 100vw, 544px\" \/><\/p>\n<\/div><\/section>\r\n\r\n<section  class='av_textblock_section av-av_textblock-2de302bf1aa3cf4c9157dbe6f50ac7eb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/BlogPosting\" itemprop=\"blogPost\" ><div class='avia_textblock'  itemprop=\"text\" ><p><strong>A note about Statistics und eXclusive Locks on ReadOnly-Databases:<\/strong><\/p>\n<p>Yes, one can indeed watch X-Locks on Read-Only databases. And this happens when auto-created stats jump in. This works only starting with SQL Server 2012. The statistics themselves are stored in Tempdb. In order to create those, SQL Server generates SCH_S and METADATA locks on several system objects (here: sysallocunits, sysschobjs, sysobjvalues, syssingleobjrefs, sysobjkeycrypts):<\/p>\n<\/div><\/section>\r\n\r\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-av_image-75f9b7c5ef3ff6f54f7c59a504fb14cc\">\n.avia-image-container.av-av_image-75f9b7c5ef3ff6f54f7c59a504fb14cc img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-av_image-75f9b7c5ef3ff6f54f7c59a504fb14cc .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-av_image-75f9b7c5ef3ff6f54f7c59a504fb14cc av-styling- avia-align-left  avia-builder-el-16  el_after_av_textblock  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><img decoding=\"async\" class='wp-image-3059 avia-img-lazy-loading-not-3059 avia_image ' src=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Image_tempdb.png\" alt='' title='Image_tempdb'  height=\"173\" width=\"544\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Image_tempdb.png 544w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Image_tempdb-300x95.png 300w, https:\/\/andreas-wolter.com\/wp-content\/uploads\/2017\/10\/Image_tempdb-450x143.png 450w\" sizes=\"(max-width: 544px) 100vw, 544px\" \/><\/div><\/div><\/div>\r\n\r\n<section  class='av_textblock_section av-av_textblock-2de302bf1aa3cf4c9157dbe6f50ac7eb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/BlogPosting\" itemprop=\"blogPost\" ><div class='avia_textblock'  itemprop=\"text\" ><p>This is of course not the most common scenario, but it does happen (especially in <strong><em>AlwaysOn<\/em><\/strong> scenarios with <strong><em>read-only secondaries<\/em><\/strong> involved) and belongs to a complete picture.<\/p>\n<p>&#8211;<\/p>\n<p>Besides that one can see on first sight that there is no diffference in the Locking behaviour beetween the table on a ReadWrite Filegroup (here <em>Primary<\/em>) and the table on the ReadOnly filegroup.<\/p>\n<p>Only if the whole database is <em>ReadOnly<\/em>, SQL Server\u00a0saves himself the Page- and Key- locks. Even there an Intent shared Lock is placed on the table.<\/p>\n<p><strong>Conclusion:<\/strong><\/p>\n<p>Putting Tables onto a ReadOnly-Filegroup does not save Locks. But it often does make a lot of sense to break up databases in this manner. Just thinking of: less backup, faster restore, NTFS-compression etc.<\/p>\n<p>Andreas<\/p>\n<\/div><\/section>\r\n\r\n<div  class='hr av-av_hr-0ff602b3e980a3377077ff3c1c834df6 hr-default  avia-builder-el-18  el_after_av_textblock  el_before_av_social_share '><span class='hr-inner '><span class=\"hr-inner-style\"><\/span><\/span><\/div>\r\n\r\n<div  class='av-social-sharing-box av-av_social_share-8644d330ffb238fff0cfa858c5295467 av-social-sharing-box-default  avia-builder-el-19  el_after_av_hr  el_before_av_comments_list  av-social-sharing-box-fullwidth'><div class=\"av-share-box\"><h5 class='av-share-link-description av-no-toc '>Share<\/h5><ul class=\"av-share-box-list noLightbox\"><li class='av-share-link av-social-link-facebook' ><a target=\"_blank\" aria-label=\"Share on Facebook\" href='https:\/\/www.facebook.com\/sharer.php?u=https:\/\/andreas-wolter.com\/en\/locking-readonly-filegroups-vs-readonly-databases\/&#038;t=Locking%20%26%20READONLY%20Filegroups%20vs%20READONLY%20Databases' aria-hidden='false' data-av_icon='\ue8f3' data-av_iconfont='entypo-fontello' title='' data-avia-related-tooltip='Share on Facebook' rel=\"noopener\"><span class='avia_hidden_link_text'>Share on Facebook<\/span><\/a><\/li><li class='av-share-link av-social-link-twitter' ><a target=\"_blank\" aria-label=\"Share on Twitter\" href='https:\/\/twitter.com\/share?text=Locking%20%26%20READONLY%20Filegroups%20vs%20READONLY%20Databases&#038;url=https:\/\/andreas-wolter.com\/en\/?p=3065' aria-hidden='false' data-av_icon='\ue8f1' data-av_iconfont='entypo-fontello' title='' data-avia-related-tooltip='Share on Twitter' rel=\"noopener\"><span class='avia_hidden_link_text'>Share on Twitter<\/span><\/a><\/li><li class='av-share-link av-social-link-linkedin' ><a target=\"_blank\" aria-label=\"Share on LinkedIn\" href='https:\/\/linkedin.com\/shareArticle?mini=true&#038;title=Locking%20%26%20READONLY%20Filegroups%20vs%20READONLY%20Databases&#038;url=https:\/\/andreas-wolter.com\/en\/locking-readonly-filegroups-vs-readonly-databases\/' aria-hidden='false' data-av_icon='\ue8fc' data-av_iconfont='entypo-fontello' title='' data-avia-related-tooltip='Share on LinkedIn' rel=\"noopener\"><span class='avia_hidden_link_text'>Share on LinkedIn<\/span><\/a><\/li><\/ul><\/div><\/div>\r\n\r\n<div  class='av-buildercomment av-av_comments_list-88ce68e426f11248fa394058a3de040f  av-blog-meta-author-disabled av-blog-meta-html-info-disabled'><\/div>","protected":false},"excerpt":{"rendered":"The Topic Locking and Read-Only for filegroups and databases is one of the ongoing myths around SQL Server in forums \u2013 and at least half of the information unfortunately wrong. Since I recently fell into the trap myself, I want to write down, how it really is. To have a definite picture, I made 3 [&hellip;]","protected":false},"author":4,"featured_media":3037,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55,42,43],"tags":[170,197,198,199,182],"class_list":["post-3065","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-extended-events-en","category-locking-blocking","category-performance","tag-alwayson-en","tag-filegroup-en","tag-locking_blocking-en","tag-statistics-en","tag-tracing-en"],"_links":{"self":[{"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/posts\/3065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/comments?post=3065"}],"version-history":[{"count":5,"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/posts\/3065\/revisions"}],"predecessor-version":[{"id":3066,"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/posts\/3065\/revisions\/3066"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/media\/3037"}],"wp:attachment":[{"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/media?parent=3065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/categories?post=3065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/andreas-wolter.com\/en\/wp-json\/wp\/v2\/tags?post=3065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}