[AccessD] How does SQL Server do updates

Stuart McLachlan stuart at lexacorp.com.pg
Mon Oct 8 16:22:25 CDT 2012


Darn it,

I've just posted the same sort of info and the same link on rhe "correct" list.

Hey JC, please stop cross-posting.  I filter my mail into topic folders with a different folder for 
each list and having the same conversation in  different places is a PITA,

-- 
Stuart

On 8 Oct 2012 at 10:43, Jim Dettman wrote:

> John,
> 
> <<I am trying to visualize what goes on behind the scenes in SQL Server in
> the live database.  Most of 
> the data fields are varchar(), the hash fields are varbinary(200).  I assume
> that the data is moved 
> around inside of the dbf file, i.e. moved out to new space on the end if it
> can no longer fit in the 
> originally allocated space.  IOW of the town changed from 'Yuma' to 'Los
> Angeles', something has to 
> give.>>
> 
>   SQL Server like many other RDBMS manages things around a fixed page size,
> with a page header, some records, free space, etc.
> 
>   Tons of info on the net on this.  Here's one:
> 
> http://www.sqlskills.com/BLOGS/PAUL/post/Inside-the-Storage-Engine-Anatomy-o
> f-a-page.aspx
> 
> <<
> So as things move around, does SQL Server actually go back and reuse the
> pieces and parts of empty 
> space inside of the file?  Or does it just keep expanding the file and doing
> everything out at the 
> end of the file.
> >>
> 
>  Reuses space on a page, but there's no mechanisms in place to manage pages.
> It's optimized for speed, so if it needs a new page, it goes out and grabs a
> new one rather then trying to find an existing page with space.  That's a
> short explanation, but the jist of it (SQL server actually tracks extents,
> which are made up of pages and not actual pages).
> 
> Jim.
> 
> 
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
> Sent: Monday, October 08, 2012 06:37 AM
> To: Sqlserver-Dba; Access Developers discussion and problem solving
> Subject: [AccessD] How does SQL Server do updates
> 
> Every month I perform a process where name / address records are extracted
> from SQL Server, updated 
> by a third party app and then only changed data is updated back into SQL
> Server.  I take changed 
> addresses and write them to an 'old address' table and then literally update
> the existing record 
> with the changes.
> 
> The address table has an integer PK (which never changes) which came from
> and is related to another 
> table 1 to 1, and that PK is used by itself in a clustered index.  There are
> other indexes for 
> FName, LName Addr ect, my hash fields and so forth.
> 
> So, I pull the updated address info into a custom SQL Server DB created
> on-the-fly for this purpose, 
> and then only the changes are updated back into the live database.
> 
> The PK and Name fields never change but the address fields do change and
> other fields which capture 
> information about the address changes also change.  The hash fields are
> updated (in the temp db) and 
> written back into live etc.
> 
> I am trying to visualize what goes on behind the scenes in SQL Server in the
> live database.  Most of 
> the data fields are varchar(), the hash fields are varbinary(200).  I assume
> that the data is moved 
> around inside of the dbf file, i.e. moved out to new space on the end if it
> can no longer fit in the 
> originally allocated space.  IOW of the town changed from 'Yuma' to 'Los
> Angeles', something has to 
> give.
> 
> So as things move around, does SQL Server actually go back and reuse the
> pieces and parts of empty 
> space inside of the file?  Or does it just keep expanding the file and doing
> everything out at the 
> end of the file.
> 
> 
> So
> 
> -- 
> John W. Colby
> Colby Consulting
> 
> Reality is what refuses to go away
> when you do not believe in it
> 
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 




More information about the AccessD mailing list