{"id":2364,"date":"2014-04-23T11:00:25","date_gmt":"2014-04-23T15:00:25","guid":{"rendered":"http:\/\/sqlity.net\/en\/?p=2364"},"modified":"2014-11-13T13:39:37","modified_gmt":"2014-11-13T18:39:37","slug":"sgam","status":"publish","type":"post","link":"https:\/\/sqlity.net\/en\/2364\/sgam\/","title":{"rendered":"The Shared Global Allocation Map (SGAM)"},"content":{"rendered":"<div>\n<h3>Introduction<\/h3>\n<p>\nLast week we talked about the <a href=\"http:\/\/sqlity.net\/en\/2351\/gam\/\">Global Allocation Map (GAM)<\/a>. The GAM tracks if an extent is still available to be used, or if it is allocated already. However, the GAM cannot tell us if there is still a page free within that extent. This information is particularly important when SQL Server needs to find an available page within a <a href=\"http:\/\/sqlity.net\/en\/2265\/extent\/\">mixed extend<\/a>. Therefore, an additional mechanism exists that identifies mixed extents that still have at least one free page available. This mechanism is called the Shared Global Allocation Map or SGAM.\n<\/p>\n<h3>The Shared Global Allocation Map (SGAM)<\/h3>\n<p>\nAn SGAM page is organized the same way as a GAM page. For every <a href=\"http:\/\/sqlity.net\/en\/2331\/gam-interval\/\">GAM Interval<\/a>, exactly one GAM and one SGAM page exists. Both are located within the GAM Extent, the first extent of each GAM Interval.\n<\/p>\n<p>\nEach extent within a GAM Interval is associated with a single bit in the respective GAM as well as SGAM page. Like a GAM page, an SGAM page also starts out with an area big enough to hold eight page addresses. This area is used for neither GAM nor SGAM pages.\n<\/p>\n<p>\nFollowing that area is the actual bit map. A set bit in a GAM page indicates that the extent associated with that bit is not yet allocated and therefore still available. The meaning of a set bit in an SGAM page is just a tad more complex. A set bit in an SGAM page indicates not only that the associated extent is a mixed extent, but also that there is still at least one page free within that extent. This means that an unset bit indicates one of three things: Either the extent is still available, or it is unified and allocated or it is mixed and completely full. The following table shows the four possible extent states and their respective GAM and SGAM bit settings:\n<\/p>\n<table>\n<tr>\n<th>Extent State<\/th>\n<th>GAM<\/th>\n<th>SGAM<\/th>\n<\/tr>\n<tr>\n<td>Available<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>Unified & Allocated<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>Mixed with Free Pages<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>Mixed & Full<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<\/table>\n<p>\nAs you can see, there is no way to distinguish between a full mixed extent and an allocated unified extent. However, that is not important to SQL Server, as both extents are not available to allocated new pages.\n<\/p>\n<p>\nThe combination in which the GAM and the SGAM bits for one extent are both set is invalid. If you encounter that combination, it indicates some kind of corruption.\n<\/p>\n<h3>An SGAM Example<\/h3>\n<p>\nSGAM pages are of page type 9 and the first SGAM page of a file is always page 3. To look at that page you can use <a href=\"http:\/\/sqlity.net\/en\/2033\/the-page\/\"><span class=\"tt\">DBCC PAGE<\/span><\/a> like this:\n<\/p>\n<p>\n<a href=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header.jpg\" alt=\"A Shared Global Allocation Map (SGAM) header.\" title=\"A Shared Global Allocation Map (SGAM) header.\" width=\"816\" height=\"483\" class=\"aligncenter size-full wp-image-2366\" srcset=\"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header.jpg 816w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header-300x177.jpg 300w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header-150x88.jpg 150w\" sizes=\"auto, (max-width: 816px) 100vw, 816px\" \/><\/a>\n<\/p>\n<p>\nMore of the output of that statement is below. Only rows without any set bits have been removed.\n<\/p>\n<div>\n[sourcecode]\nPAGE: (1:3)<\/p>\n<p>BUFFER:<\/p>\n<p>BUF @0x0000000004F48E80<\/p>\n<p>bpage = 0x00000001F523E000          bhash = 0x0000000000000000          bpageno = (1:3)<br \/>\nbdbid = 21                          breferences = 1                     bcputicks = 0<br \/>\nbsampleCount = 0                    bUse1 = 26902                       bstat = 0x9<br \/>\nblog = 0xa6ab215a                   bnext = 0x0000000000000000          <\/p>\n<p>PAGE HEADER:<\/p>\n<p>Page @0x00000001F523E000<\/p>\n<p>m_pageId = (1:3)                    m_headerVersion = 1                 m_type = 9<br \/>\nm_typeFlagBits = 0x0                m_level = 0                         m_flagBits = 0x200<br \/>\nm_objId (AllocUnitId.idObj) = 99    m_indexId (AllocUnitId.idInd) = 0   Metadata: AllocUnitId = 6488064<br \/>\nMetadata: PartitionId = 0           Metadata: IndexId = 0               Metadata: ObjectId = 99<br \/>\nm_prevPage = (0:0)                  m_nextPage = (0:0)                  pminlen = 90<br \/>\nm_slotCnt = 2                       m_freeCnt = 6                       m_freeData = 8182<br \/>\nm_reservedCnt = 0                   m_lsn = (40361:723:8)               m_xactReserved = 0<br \/>\nm_xdesId = (0:0)                    m_ghostRecCnt = 0                   m_tornBits = 1173753686<br \/>\nDB Frag ID = 1                      <\/p>\n<p>Allocation Status<\/p>\n<p>GAM (1:2) = ALLOCATED               SGAM (1:3) = NOT ALLOCATED          PFS (1:1) = 0x44 ALLOCATED 100_PCT_FULL<br \/>\nDIFF (1:6) = CHANGED                ML (1:7) = NOT MIN_LOGGED           <\/p>\n<p>DATA:<\/p>\n<p>Memory Dump @0x000000007329A000<\/p>\n<p>000000007329A000:   01090000 00020000 00000000 00005a00 00000000  .\t............Z.....<br \/>\n000000007329A014:   00000200 63000000 0600f61f 03000000 01000000  ....c.....\u00f6.........<br \/>\n000000007329A028:   a99d0000 d3020000 08000000 00000000 00000000  \u00a9...\u00d3...............<br \/>\n000000007329A03C:   560ff645 00000000 00000000 00000000 00000000  V.\u00f6E................<br \/>\n000000007329A050:   00000000 00000000 00000000 00000000 00005e00  ..................^.<br \/>\n000000007329A064:   00000000 00000000 00000000 00000000 00000000  ....................<br \/>\n000000007329A078:   00000000 00000000 00000000 00000000 00000000  ....................<br \/>\n000000007329A08C:   00000000 00000000 00000000 00000000 00000000  ....................<br \/>\n000000007329A0A0:   00000000 00000000 00000000 00000000 00000000  ....................<br \/>\n000000007329A0B4:   00000000 00000000 00000000 381f0000 00002000  ............8..... .<br \/>\n000000007329A0C8:   00000000 00000000 00000000 00000000 00000000  ....................<br \/>\n&lt;...&gt;<br \/>\n000000007329BFE0:   00000000 00000000 00000000 00000000 00000000  ....................<br \/>\n000000007329BFF4:   00000000 00000000 be006000                    ........\u00be.`.<\/p>\n<p>DBCC execution completed. If DBCC printed error messages, contact your system administrator.<br \/>\n[\/sourcecode]\n<\/p><\/div>\n<p>\nAs you can see, there is only a single bit set in the entire SGAM bit map. That bit is for the extent starting at page 296 as <span class=\"tt\">DBCC PAGE<\/span> with option 3 reveals:\n<\/p>\n<p>\n<a href=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_single_shared_extent_with_free_pages.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_single_shared_extent_with_free_pages.jpg\" alt=\"A single shared extent with free pages.\" title=\"A single shared extent with free pages.\" width=\"816\" height=\"483\" class=\"aligncenter size-full wp-image-2367\" srcset=\"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_single_shared_extent_with_free_pages.jpg 816w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_single_shared_extent_with_free_pages-300x177.jpg 300w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_single_shared_extent_with_free_pages-150x88.jpg 150w\" sizes=\"auto, (max-width: 816px) 100vw, 816px\" \/><\/a>\n<\/p>\n<p>\nHowever, that extent is not the only mixed extent in the database. Page 283 for example is an <a href=\"http:\/\/sqlity.net\/en\/2315\/index-allocation-map\/\">IAM page<\/a>. As IAM pages are always part of a mixed extent, the extent starting with page 280 must be mixed as well. A quick look at that very IAM page shows that this assumption is correct:\n<\/p>\n<p>\n<a href=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/an_AIM_page_is_always_part_of_a_mixed_extent.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/an_AIM_page_is_always_part_of_a_mixed_extent.jpg\" alt=\"An IAM page is always part of a mixed extent.\" title=\"An IAM page is always part of a mixed extent.\" width=\"816\" height=\"483\" class=\"aligncenter size-full wp-image-2365\" srcset=\"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/an_AIM_page_is_always_part_of_a_mixed_extent.jpg 816w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/an_AIM_page_is_always_part_of_a_mixed_extent-300x177.jpg 300w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/an_AIM_page_is_always_part_of_a_mixed_extent-150x88.jpg 150w\" sizes=\"auto, (max-width: 816px) 100vw, 816px\" \/><\/a>\n<\/p>\n<p>\nThis IAM page shows that page 282 and 284 amongst others have been allocated from a mixed extend. But the bit for that extent in above SGAM output is not set. The reason is that all pages within that mixed extent have been allocated already. Take a look back at the table above that shows the different GAM and SGAM bit combinations. A mixed extent that does not have a free page anymore is expected to have the SGAM bit (as well as the GAM bit) not set.\n<\/p>\n<h3>Summary<\/h3>\n<p>\nLike GAM pages, SGAM pages are used to track free space and they occur once for every GAM Interval within a database file. However, SGAM pages track only mixed extents that still have at least one free page available.\n<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Discover how SQL Server tracks mixed extents containing free pages using a Shared Global Allocation Map made up of one SGAM page per GAM Interval. <\/p>\n<p> <a href=\"https:\/\/sqlity.net\/en\/2364\/sgam\/\">[more&#8230;]<\/a><\/p>\n","protected":false},"author":3,"featured_media":2366,"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":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5,27,14,105],"tags":[111,158,160,159,165,155,107,114,168,169,15,108,109],"class_list":["post-2364","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general","category-series","category-sql-server-internals","category-storage-wednesday","tag-dbcc-page","tag-gam","tag-gam-extent","tag-gam-interval","tag-gam-page","tag-iam-page","tag-page","tag-page-header","tag-sgam","tag-sgam-page","tag-sql-server","tag-storage","tag-storage-engine"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Shared Global Allocation Map (SGAM) - sqlity.net<\/title>\n<meta name=\"description\" content=\"Discover how SQL Server tracks mixed extents containing free pages using a Shared Global Allocation Map made up of one SGAM page per GAM Interval.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sqlity.net\/en\/2364\/sgam\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Shared Global Allocation Map (SGAM) - sqlity.net\" \/>\n<meta property=\"og:description\" content=\"Discover how SQL Server tracks mixed extents containing free pages using a Shared Global Allocation Map made up of one SGAM page per GAM Interval.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sqlity.net\/en\/2364\/sgam\/\" \/>\n<meta property=\"og:site_name\" content=\"sqlity.net\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/sqlity.net\" \/>\n<meta property=\"article:published_time\" content=\"2014-04-23T15:00:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-11-13T18:39:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"816\" \/>\n\t<meta property=\"og:image:height\" content=\"483\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sebastian Meine\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@sqlity\" \/>\n<meta name=\"twitter:site\" content=\"@sqlity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sebastian Meine\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/\"},\"author\":{\"name\":\"Sebastian Meine\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\"},\"headline\":\"The Shared Global Allocation Map (SGAM)\",\"datePublished\":\"2014-04-23T15:00:25+00:00\",\"dateModified\":\"2014-11-13T18:39:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/\"},\"wordCount\":823,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/a_shared_global_allocation_map_or_SGAM_header.jpg\",\"keywords\":[\"DBCC PAGE\",\"GAM\",\"GAM Extent\",\"GAM Interval\",\"GAM page\",\"IAM page\",\"page\",\"Page Header\",\"SGAM\",\"SGAM page\",\"SQL Server\",\"storage\",\"storage engine\"],\"articleSection\":[\"General\",\"Series\",\"SQL Server Internals\",\"Storage Wednesday\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/\",\"url\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/\",\"name\":\"The Shared Global Allocation Map (SGAM) - sqlity.net\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/a_shared_global_allocation_map_or_SGAM_header.jpg\",\"datePublished\":\"2014-04-23T15:00:25+00:00\",\"dateModified\":\"2014-11-13T18:39:37+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\"},\"description\":\"Discover how SQL Server tracks mixed extents containing free pages using a Shared Global Allocation Map made up of one SGAM page per GAM Interval.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/a_shared_global_allocation_map_or_SGAM_header.jpg\",\"contentUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/a_shared_global_allocation_map_or_SGAM_header.jpg\",\"width\":816,\"height\":483,\"caption\":\"A Shared Global Allocation Map (SGAM) header.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2364\\\/sgam\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sqlity.net\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Shared Global Allocation Map (SGAM)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/sqlity.net\\\/en\\\/\",\"name\":\"sqlity.net\",\"description\":\"Quality for SQL\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sqlity.net\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\",\"name\":\"Sebastian Meine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"caption\":\"Sebastian Meine\"},\"sameAs\":[\"http:\\\/\\\/sqlity.net\",\"https:\\\/\\\/x.com\\\/sqlity\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Shared Global Allocation Map (SGAM) - sqlity.net","description":"Discover how SQL Server tracks mixed extents containing free pages using a Shared Global Allocation Map made up of one SGAM page per GAM Interval.","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:\/\/sqlity.net\/en\/2364\/sgam\/","og_locale":"en_US","og_type":"article","og_title":"The Shared Global Allocation Map (SGAM) - sqlity.net","og_description":"Discover how SQL Server tracks mixed extents containing free pages using a Shared Global Allocation Map made up of one SGAM page per GAM Interval.","og_url":"https:\/\/sqlity.net\/en\/2364\/sgam\/","og_site_name":"sqlity.net","article_publisher":"https:\/\/www.facebook.com\/sqlity.net","article_published_time":"2014-04-23T15:00:25+00:00","article_modified_time":"2014-11-13T18:39:37+00:00","og_image":[{"width":816,"height":483,"url":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header.jpg","type":"image\/jpeg"}],"author":"Sebastian Meine","twitter_card":"summary_large_image","twitter_creator":"@sqlity","twitter_site":"@sqlity","twitter_misc":{"Written by":"Sebastian Meine","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sqlity.net\/en\/2364\/sgam\/#article","isPartOf":{"@id":"https:\/\/sqlity.net\/en\/2364\/sgam\/"},"author":{"name":"Sebastian Meine","@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c"},"headline":"The Shared Global Allocation Map (SGAM)","datePublished":"2014-04-23T15:00:25+00:00","dateModified":"2014-11-13T18:39:37+00:00","mainEntityOfPage":{"@id":"https:\/\/sqlity.net\/en\/2364\/sgam\/"},"wordCount":823,"commentCount":0,"image":{"@id":"https:\/\/sqlity.net\/en\/2364\/sgam\/#primaryimage"},"thumbnailUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header.jpg","keywords":["DBCC PAGE","GAM","GAM Extent","GAM Interval","GAM page","IAM page","page","Page Header","SGAM","SGAM page","SQL Server","storage","storage engine"],"articleSection":["General","Series","SQL Server Internals","Storage Wednesday"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sqlity.net\/en\/2364\/sgam\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sqlity.net\/en\/2364\/sgam\/","url":"https:\/\/sqlity.net\/en\/2364\/sgam\/","name":"The Shared Global Allocation Map (SGAM) - sqlity.net","isPartOf":{"@id":"https:\/\/sqlity.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sqlity.net\/en\/2364\/sgam\/#primaryimage"},"image":{"@id":"https:\/\/sqlity.net\/en\/2364\/sgam\/#primaryimage"},"thumbnailUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header.jpg","datePublished":"2014-04-23T15:00:25+00:00","dateModified":"2014-11-13T18:39:37+00:00","author":{"@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c"},"description":"Discover how SQL Server tracks mixed extents containing free pages using a Shared Global Allocation Map made up of one SGAM page per GAM Interval.","breadcrumb":{"@id":"https:\/\/sqlity.net\/en\/2364\/sgam\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sqlity.net\/en\/2364\/sgam\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sqlity.net\/en\/2364\/sgam\/#primaryimage","url":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header.jpg","contentUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header.jpg","width":816,"height":483,"caption":"A Shared Global Allocation Map (SGAM) header."},{"@type":"BreadcrumbList","@id":"https:\/\/sqlity.net\/en\/2364\/sgam\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sqlity.net\/en\/"},{"@type":"ListItem","position":2,"name":"The Shared Global Allocation Map (SGAM)"}]},{"@type":"WebSite","@id":"https:\/\/sqlity.net\/en\/#website","url":"https:\/\/sqlity.net\/en\/","name":"sqlity.net","description":"Quality for SQL","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sqlity.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c","name":"Sebastian Meine","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","caption":"Sebastian Meine"},"sameAs":["http:\/\/sqlity.net","https:\/\/x.com\/sqlity"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/a_shared_global_allocation_map_or_SGAM_header.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/s2wXuw-sgam","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts\/2364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/comments?post=2364"}],"version-history":[{"count":0,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts\/2364\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/media\/2366"}],"wp:attachment":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/media?parent=2364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/categories?post=2364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/tags?post=2364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}