Database Research & Development

  • Home
  • NoSQL
    • NoSQL
    • Cassandra
  • Databases
    • Database Theory
    • Database Designing
    • SQL Server Coding Standards
    • SQL Server
    • PostgreSQL
    • MySQL
    • Greenplum
    • Linux
  • Interviews
    • SQL Server Interviews
    • MySQL Interviews
    • SQL Puzzles
  • DBA Scripts
    • SQL Server DBA Scripts
    • PostgreSQL DBA Scripts
    • MySQL DBA Scripts
    • Greenplum DBA Scripts
  • Home
  • Blog Archives !
  • (: Laugh@dbrnd :)
  • Contact Me !
sqlserverinterviews
Home 2016 April SQL Server: GAM and SGAM Pages to find the Extent Space Information

SQL Server: GAM and SGAM Pages to find the Extent Space Information

This article is half-done without your Comment! *** Please share your thoughts via Comment ***

In the previous article, I shared information about the SQL Server Extent which is storing eight data pages.

The SQL Server manages two important pages to store information about occupied and free space of each extent.

GAM: Stands for Global Allocation Map.
SGAM: Stands for Shared Global Allocation Map.

Global Allocation Map (GAM):

GAM has a bit for every extent, and it records what extents have been allocated for any use.

It stores information about both Uniform and Mixed extents.

If the bit value is 0, extent is in use, and If the bit value is 1, extent is free.
It can hold information about the total 64000 extents, and approximately size is 4000 MB.

When a new page needs to be allocated, SQL Server finds available extent into GAM pages. When an extent is de-allocated, the bit for this extent is reset in GAM and it makes an available for future allocations.

Shared Global Allocation Map (SGAM):

SGAM has a bit for every extent, and it records what extents are currently being used as mixed extent and have at least one unused page.

If the bit value is 0, either extent is not a mixed extent, or it is a mixed extent and all its pages being used.
If the bit value is 1, it is a mixed extent and having an at least one unused page.

It can hold information about the total 64000 extents and approximately size is 4000 MB.

When almost all extents are full and SQL Server unable to find free extent information from the GAM page, it uses the SGAM page to find the information about the free extent.

DBCC PAGE to check Allocation Status:

1
2
3
4
5
6
7
/*
FileID: 1
PageID: 296
*/
DBCC TRACEON(3604)
GO
DBCC PAGE('database_name',1,296,3)

SQL Server GAM Page

Apr 17, 2016Anvesh Patel
SQL Server: Understanding the role of ExtentDatabase Theory: Table Scan vs Index Scan vs Index Seek
Anvesh Patel
Anvesh Patel

Database Engineer

April 17, 2016 SQL ServerAnvesh Patel, database, database research and development, dbrnd, extent, GAM, Global Allocation Map, SGAM, Shared Global Allocation Map, SQL Query, SQL Server, SQL Server Administrator, SQL Server Monitoring, SQL Server Performance Tunning, SQL Server Tips and Tricks, TSQL
About Me!

I'm Anvesh Patel, a Database Engineer certified by Oracle and IBM. I'm working as a Database Architect, Database Optimizer, Database Administrator, Database Developer. Providing the best articles and solutions for different problems in the best manner through my blogs is my passion. I have more than six years of experience with various RDBMS products like MSSQL Server, PostgreSQL, MySQL, Greenplum and currently learning and doing research on BIGData and NoSQL technology. -- Hyderabad, India.

About DBRND !

dbrnd

This is a personal blog (www.dbrnd.com).

Any views or opinions represented in this blog are personal and belong solely to the blog owner and do not represent those of people, institutions or organizations that the owner may or may not be associated with in professional or personal capacity, unless explicitly stated.

Feel free to challenge me, disagree with me, or tell me I’m completely nuts in the comments section of each blog entry, but I reserve the right to delete any comment for any reason whatsoever (abusive, profane, rude, or anonymous comments) - so keep it polite.

The content of this website is protected by copyright. No portion of this website may be copied or replicated in any form without the written consent of the website owner.

Recent Comments !
  • Anvesh Patel { Sure will do... } – May 27, 12:43 PM
  • Anvesh Patel { Great... } – May 27, 12:41 PM
  • Anvesh Patel { Great... } – May 27, 12:39 PM
  • Anvesh Patel { Great... } – May 27, 12:36 PM
  • Anvesh Patel { Great... } – May 27, 12:28 PM
  • Anvesh Patel { Great... } – May 27, 12:27 PM
  • Anvesh Patel { Great... } – May 27, 12:16 PM
  • Older »
Follow Me !
  • facebook
  • linkedin
  • twitter
  • youtube
  • google
  • flickr
© 2015 – 2019 All rights reserved. Database Research & Development (dbrnd.com)
Posting....