<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Blogs from Suhas</title><subtitle type="html">Dirtying my hands in SQL Server</subtitle><id>http://blogs.msdn.com/b/suhde/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/suhde/atom.aspx" /><generator uri="http://telligent.com" version="5.6.583.17018">Telligent Community 5.6.583.17018 (Build: 5.6.583.17018)</generator><updated>2009-04-05T08:55:00Z</updated><entry><title>Internals of Database Snapshot – Part 3: Snapshot and Mirroring</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2011/08/15/internals-of-database-snapshot-part-3-snapshot-and-mirroring.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2011/08/15/internals-of-database-snapshot-part-3-snapshot-and-mirroring.aspx</id><published>2011-08-15T13:25:32Z</published><updated>2011-08-15T13:25:32Z</updated><content type="html">In my earlier posts, we have seen how database snapshots work, and how the Buffer Pool is used when we query Snapshot Databases. In this post, we will see how Database Snapshots work, when they are created against Mirrored Databases. Let us assume we have a mirroring setup, as described in the below image. SQLServer1 hosts the Principal Database (MyDB) while the same database on SQLServer2 is the Mirror Database. It is possible to create a Snapshot of the Mirrored Database (MyDB on SQLServer2), in...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2011/08/15/internals-of-database-snapshot-part-3-snapshot-and-mirroring.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10195695" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Database Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Mirroring/" /><category term="Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mirroring/" /><category term="Configure" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Configure/" /><category term="Witness" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Witness/" /><category term="Mirror" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mirror/" /><category term="DBMirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBMirroring/" /><category term="Buffer Pool" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Buffer+Pool/" /><category term="Data File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Data+File/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="NoRecovery" scheme="http://blogs.msdn.com/b/suhde/archive/tags/NoRecovery/" /><category term="DBCC" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBCC/" /><category term="Recovery" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recovery/" /><category term="Database Snapshot" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Snapshot/" /><category term="Copy On Write" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Copy+On+Write/" /><category term="Snapshot" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Snapshot/" /><category term="COW" scheme="http://blogs.msdn.com/b/suhde/archive/tags/COW/" /></entry><entry><title>Internals of Database Snapshot – Part 2: Snapshot and the Buffer Pool</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2011/08/02/internals-of-database-snapshot-part-2-snapshot-and-the-buffer-pool.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2011/08/02/internals-of-database-snapshot-part-2-snapshot-and-the-buffer-pool.aspx</id><published>2011-08-02T12:46:32Z</published><updated>2011-08-02T12:46:32Z</updated><content type="html">In my earlier post, we have seen what Database Snapshots are, and how the Database Snapshots are maintained by the SQL Server Database Engine. In this post we will see how the data and index pages, belonging to the Snapshot, are managed in the Buffer Pool. Before we start drilling down further, let me take a while to explain how we will pull up details about pages in the Buffer Pool. We have a DMV and a few Catalog Views that we can use: sys.dm_os_buffer_descriptors : This DMV returns information...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2011/08/02/internals-of-database-snapshot-part-2-snapshot-and-the-buffer-pool.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10192006" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="Size" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Size/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Checkpoint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Checkpoint/" /><category term="Database Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Mirroring/" /><category term="Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mirroring/" /><category term="Database" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database/" /><category term="Log" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log/" /><category term="Log File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+File/" /><category term="Checkpointing" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Checkpointing/" /><category term="Monitor" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Monitor/" /><category term="Mirror" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mirror/" /><category term="Buffer Pool" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Buffer+Pool/" /><category term="Memory" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Memory/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="DBCC" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBCC/" /><category term="Guide" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guide/" /><category term="Performance" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Performance/" /><category term="Database Snapshot" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Snapshot/" /><category term="Copy On Write" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Copy+On+Write/" /><category term="Snapshot" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Snapshot/" /><category term="Replica" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Replica/" /><category term="sparse" scheme="http://blogs.msdn.com/b/suhde/archive/tags/sparse/" /><category term="COW" scheme="http://blogs.msdn.com/b/suhde/archive/tags/COW/" /><category term="sys.allocation_units" scheme="http://blogs.msdn.com/b/suhde/archive/tags/sys-allocation_5F00_units/" /><category term="hobt_id" scheme="http://blogs.msdn.com/b/suhde/archive/tags/hobt_5F00_id/" /><category term="sys.dm_os_buffer_descriptors" scheme="http://blogs.msdn.com/b/suhde/archive/tags/sys-dm_5F00_os_5F00_buffer_5F00_descriptors/" /><category term="DropCleanBuffers" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DropCleanBuffers/" /><category term="sys.partitions" scheme="http://blogs.msdn.com/b/suhde/archive/tags/sys-partitions/" /><category term="partition_id" scheme="http://blogs.msdn.com/b/suhde/archive/tags/partition_5F00_id/" /><category term="allocation_unit_id" scheme="http://blogs.msdn.com/b/suhde/archive/tags/allocation_5F00_unit_5F00_id/" /></entry><entry><title>Internals of Database Snapshot</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2011/07/31/internals-of-database-snapshot.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2011/07/31/internals-of-database-snapshot.aspx</id><published>2011-07-31T08:09:30Z</published><updated>2011-07-31T08:09:30Z</updated><content type="html">In this post, we will explore the internals of Database Snapshot. Most of this information is already available in the Internet, in the posts authored by the SQL Server Development Team and the CSS Escalation Team; however, through this post we will attempt to consolidate all of these information for the benefit of everybody. All credit for this post goes to my colleague, Mohammad Sufian , without whose help, this post may have not been possible. So, what are Database Snapshots? According to the...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2011/07/31/internals-of-database-snapshot.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10191449" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="Size" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Size/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Database Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Mirroring/" /><category term="Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mirroring/" /><category term="Database" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database/" /><category term="Log" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log/" /><category term="Log File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+File/" /><category term="Monitor" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Monitor/" /><category term="Mirror" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mirror/" /><category term="Buffer Pool" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Buffer+Pool/" /><category term="Memory" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Memory/" /><category term="Recover" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recover/" /><category term="Data File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Data+File/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="Consistency" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Consistency/" /><category term="DBCC" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBCC/" /><category term="Guide" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guide/" /><category term="Performance" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Performance/" /><category term="Database Snapshot" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Snapshot/" /><category term="Copy On Write" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Copy+On+Write/" /><category term="Snapshot" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Snapshot/" /><category term="Replica" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Replica/" /><category term="sparse" scheme="http://blogs.msdn.com/b/suhde/archive/tags/sparse/" /><category term="offset" scheme="http://blogs.msdn.com/b/suhde/archive/tags/offset/" /><category term="COW" scheme="http://blogs.msdn.com/b/suhde/archive/tags/COW/" /></entry><entry><title>Advanced Performance Tuning – 4 :: Designing for better performance contd…</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2011/07/15/advanced-performance-tuning-4-designing-for-better-performance-contd.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2011/07/15/advanced-performance-tuning-4-designing-for-better-performance-contd.aspx</id><published>2011-07-15T14:46:01Z</published><updated>2011-07-15T14:46:01Z</updated><content type="html">Few months back, I was working with one of my customers, who was engaged by his client to design a Survey Module. Nothing very fancy about the module, but the kind of reports that were to be delivered made it really tricky. Let me explain the requirements first: When customers click on a Survey Link, they are redirected to a web page. This page has 20 questions; for each question, customers are supposed to provide a rating between 1 and 5, both inclusive. Of course, customers can skip any question...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2011/07/15/advanced-performance-tuning-4-designing-for-better-performance-contd.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10186920" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="Table" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Table/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Database" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database/" /><category term="IO" scheme="http://blogs.msdn.com/b/suhde/archive/tags/IO/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="Input Output" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Input+Output/" /><category term="SQLPerf" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQLPerf/" /><category term="Constraint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Constraint/" /><category term="Timeout expired" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Timeout+expired/" /><category term="Blocking" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Blocking/" /><category term="Timeout" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Timeout/" /><category term="SQLDiag" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQLDiag/" /><category term="Query Timeout" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Query+Timeout/" /><category term="Constraints" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Constraints/" /><category term="Performance" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Performance/" /><category term="Index" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index/" /><category term="Index Scan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index+Scan/" /><category term="Index Seek" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index+Seek/" /><category term="Execution Plan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Execution+Plan/" /><category term="Datatypes" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Datatypes/" /><category term="Scan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Scan/" /><category term="Seek" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Seek/" /><category term="Plan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Plan/" /></entry><entry><title>Advanced Performance Tuning – 3 :: Designing for better performance</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2011/07/14/advanced-performance-tuning-3-designing-for-better-performance.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2011/07/14/advanced-performance-tuning-3-designing-for-better-performance.aspx</id><published>2011-07-14T16:09:16Z</published><updated>2011-07-14T16:09:16Z</updated><content type="html">If you have read my earlier post , you might be saying “Heck! This guy loves to post questions without providing proper answers!” Believe me, that is not my intention. My intention here is to help you understand common mistakes that people make, so that you can avoid them in your projects. The biggest challenge for a SQL Server Developer is to write efficient code. The expectations are that the code must complete in the least possible time, produce correct results and use minimum resources possible...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2011/07/14/advanced-performance-tuning-3-designing-for-better-performance.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10186549" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="Table" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Table/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Resource" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Resource/" /><category term="Trace Flag" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Trace+Flag/" /><category term="IO" scheme="http://blogs.msdn.com/b/suhde/archive/tags/IO/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="SQLPerf" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQLPerf/" /><category term="TABLOCK" scheme="http://blogs.msdn.com/b/suhde/archive/tags/TABLOCK/" /><category term="NOINDEX" scheme="http://blogs.msdn.com/b/suhde/archive/tags/NOINDEX/" /><category term="Guide" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guide/" /><category term="Timeout expired" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Timeout+expired/" /><category term="blocked" scheme="http://blogs.msdn.com/b/suhde/archive/tags/blocked/" /><category term="Blocking" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Blocking/" /><category term="Timeout" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Timeout/" /><category term="SQLDiag" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQLDiag/" /><category term="Query Timeout" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Query+Timeout/" /><category term="Performance" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Performance/" /><category term="Index" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index/" /><category term="Index Scan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index+Scan/" /><category term="Index Seek" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index+Seek/" /><category term="Execution Plan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Execution+Plan/" /><category term="Data types" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Data+types/" /><category term="Scan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Scan/" /><category term="Implicit Conversion" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Implicit+Conversion/" /><category term="Seek" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Seek/" /><category term="Plan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Plan/" /></entry><entry><title>Advanced Performance Tuning – 2 :: Which side of the operator</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2011/07/13/advanced-performance-tuning-2-which-side-of-the-operator.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2011/07/13/advanced-performance-tuning-2-which-side-of-the-operator.aspx</id><published>2011-07-13T13:14:40Z</published><updated>2011-07-13T13:14:40Z</updated><content type="html">If you have read my earlier blog post on the Importance of data-types , you might be wondering, “What the heck is going on here?” I had already written in that post the reason behind the slow performance – the EmpCountry column in the Employee table is CHAR(2) which cannot be directly compared with NCHAR(2); hence, SQL Server is forced to CONVERT the EmpCountry column values to NCHAR(2) before it can perform the comparison. Again, SQL Server does not know what the column values will look like after...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2011/07/13/advanced-performance-tuning-2-which-side-of-the-operator.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10186036" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="Table" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Table/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Database" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="SQLPerf" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQLPerf/" /><category term="Performance" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Performance/" /><category term="Unicode" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Unicode/" /><category term="Index" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index/" /><category term="Index Scan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index+Scan/" /><category term="Index Seek" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index+Seek/" /><category term="Execution Plan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Execution+Plan/" /><category term="nchar" scheme="http://blogs.msdn.com/b/suhde/archive/tags/nchar/" /><category term="char" scheme="http://blogs.msdn.com/b/suhde/archive/tags/char/" /><category term="Datatypes" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Datatypes/" /><category term="Scan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Scan/" /><category term="Implicit Conversion" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Implicit+Conversion/" /><category term="Conversion" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Conversion/" /><category term="Seek" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Seek/" /><category term="Non Unicode" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Non+Unicode/" /><category term="Plan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Plan/" /><category term="Operator" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Operator/" /></entry><entry><title>Transaction Log Backup Size in Bulk Logged Recovery Model</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2010/12/29/transaction-log-backup-size-in-bulk-logged-recovery-model.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2010/12/29/transaction-log-backup-size-in-bulk-logged-recovery-model.aspx</id><published>2010-12-29T11:29:00Z</published><updated>2010-12-29T11:29:00Z</updated><content type="html">Assume that I have a database in Bulk Logged Recovery Model, and I perform a bulk operation that is minimally logged. Now, if I take a Log Backup, should not my Log Backup File Size be smaller than if I had performed the same operation in Full Recovery Model? I have seen many people confused by this question. When I say, “No, please do not expect this”, I am thrown back another question – what, then, is the purpose of having the Bulk Logged Recovery Model? Let’s first have a look at an extract from...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2010/12/29/transaction-log-backup-size-in-bulk-logged-recovery-model.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10109848" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="Transaction Log" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Transaction+Log/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Log" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log/" /><category term="Log File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+File/" /><category term="Monitor" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Monitor/" /><category term="Log Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+Backup/" /><category term="Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Backup/" /><category term="Recover" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recover/" /><category term="Log Shipping" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+Shipping/" /><category term="Recovery Model" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recovery+Model/" /><category term="Backup Log" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Backup+Log/" /><category term="DBCC LOGINFO" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBCC+LOGINFO/" /><category term="DBCC LOG" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBCC+LOG/" /><category term="Recovery" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recovery/" /></entry><entry><title>Advanced Performance Tuning – 1 :: Importance of data-types</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2010/09/12/advanced-performance-tuning-i-importance-of-data-types.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2010/09/12/advanced-performance-tuning-i-importance-of-data-types.aspx</id><published>2010-09-12T10:10:00Z</published><updated>2010-09-12T10:10:00Z</updated><content type="html">Why did we develop DBMS systems? Not just for storing data &amp;ndash; but also to be able to search for and retrieve stored data, and we define what our search criteria should be. 
 This was probably true a couple of decades back, but we have come a long way now. With the huge advancement of technology and the computing powers being doubled probably a few hundred times, we are now not satisfied with just being able to retrieve stored data; we want to retrieve data faster, we want our operations to...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2010/09/12/advanced-performance-tuning-i-importance-of-data-types.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10060851" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Database" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database/" /><category term="int" scheme="http://blogs.msdn.com/b/suhde/archive/tags/int/" /><category term="bigint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/bigint/" /><category term="Performance" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Performance/" /><category term="Unicode" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Unicode/" /><category term="Index" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index/" /><category term="Index Scan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index+Scan/" /><category term="decimal" scheme="http://blogs.msdn.com/b/suhde/archive/tags/decimal/" /><category term="Index Seek" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Index+Seek/" /><category term="Execution Plan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Execution+Plan/" /><category term="numeric" scheme="http://blogs.msdn.com/b/suhde/archive/tags/numeric/" /><category term="nchar" scheme="http://blogs.msdn.com/b/suhde/archive/tags/nchar/" /><category term="Data types" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Data+types/" /><category term="char" scheme="http://blogs.msdn.com/b/suhde/archive/tags/char/" /><category term="Datatypes" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Datatypes/" /><category term="Scan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Scan/" /><category term="Implicit Conversion" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Implicit+Conversion/" /><category term="Conversion" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Conversion/" /><category term="Seek" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Seek/" /><category term="Non Unicode" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Non+Unicode/" /><category term="Plan" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Plan/" /></entry><entry><title>INF: How to re-setup Database Mirroring In SQL Server</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2010/08/25/inf-how-to-re-setup-database-mirroring-in-sql-server.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2010/08/25/inf-how-to-re-setup-database-mirroring-in-sql-server.aspx</id><published>2010-08-25T17:08:04Z</published><updated>2010-08-25T17:08:04Z</updated><content type="html">One of my friends was asking this to me offline the other day: &amp;quot;I have Database in SQL Server, which is both Mirrored as well as Log Shipped. Log backups happen every 15 minutes; Mirroring happens in Synchronous mode and does not involve a witness. I want to break Mirroring (Remove Mirroring) and then want to re-setup the Mirroring configuration after about 30 minutes; what is the easiest way to achieve this?&amp;quot; I constructed a small diagram for better understanding: I said, &amp;quot;What is...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2010/08/25/inf-how-to-re-setup-database-mirroring-in-sql-server.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10054215" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="Transaction Log" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Transaction+Log/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Database Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Mirroring/" /><category term="Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mirroring/" /><category term="Mirror" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mirror/" /><category term="DBMirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBMirroring/" /></entry><entry><title>INF: Automatic Identity Range Management with Merge Replication in Microsoft SQL Server 2005 / 2008</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2010/03/21/inf-automatic-identity-range-management-with-merge-replication-in-microsoft-sql-server-2005-2008.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2010/03/21/inf-automatic-identity-range-management-with-merge-replication-in-microsoft-sql-server-2005-2008.aspx</id><published>2010-03-22T06:41:37Z</published><updated>2010-03-22T06:41:37Z</updated><content type="html">I have been working with SQL Server Replication for over 4 years now; and till now each case that I work on gives me something new to learn. At the same time, every case amazes me by the intricate design that has gone into implementation of SQL Server Replication. With the wonderful GUI design, replication seems so easy to configure and monitor; however, when I start troubleshooting an issue and I look into the metadata to understand the cause of the issue, I am faced with new challenges every day...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2010/03/21/inf-automatic-identity-range-management-with-merge-replication-in-microsoft-sql-server-2005-2008.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9982779" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Replication" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Replication/" /><category term="NFR" scheme="http://blogs.msdn.com/b/suhde/archive/tags/NFR/" /><category term="Constraint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Constraint/" /><category term="Identity" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Identity/" /><category term="Not For Replication" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Not+For+Replication/" /><category term="int" scheme="http://blogs.msdn.com/b/suhde/archive/tags/int/" /><category term="Distribution" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Distribution/" /><category term="Constraints" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Constraints/" /><category term="smallint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/smallint/" /><category term="MSmerge_identity_range" scheme="http://blogs.msdn.com/b/suhde/archive/tags/MSmerge_5F00_identity_5F00_range/" /><category term="bigint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/bigint/" /><category term="Identity Range Management" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Identity+Range+Management/" /><category term="MSmerge_identity_range_allocations" scheme="http://blogs.msdn.com/b/suhde/archive/tags/MSmerge_5F00_identity_5F00_range_5F00_allocations/" /><category term="Identity Range" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Identity+Range/" /></entry><entry><title>INF: A missing exception handler can cause blocking and eventual application hang.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2010/03/17/inf-a-missing-exception-handler-can-cause-blocking-and-eventual-application-hang.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2010/03/17/inf-a-missing-exception-handler-can-cause-blocking-and-eventual-application-hang.aspx</id><published>2010-03-18T05:45:24Z</published><updated>2010-03-18T05:45:24Z</updated><content type="html">Very recently, I had the opportunity to help troubleshoot a Blocking issue that one of our customer's was experiencing. In my experience, this is a very common scenario that I have seen. However, while troubleshooting this issue, and more so, while we wrote code to reproduce the issue at our end, we gained a lot of knowledge on how an inaccurate exception handling in code can affect the overall performance of the system in a negative way. I wanted to share my new gained knowledge with my readers...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2010/03/17/inf-a-missing-exception-handler-can-cause-blocking-and-eventual-application-hang.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9980933" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Database" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database/" /><category term="Timeout expired" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Timeout+expired/" /><category term="blocked" scheme="http://blogs.msdn.com/b/suhde/archive/tags/blocked/" /><category term="Blocking" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Blocking/" /><category term="SET XACT_ABORT ON" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SET+XACT_5F00_ABORT+ON/" /><category term="80040e31" scheme="http://blogs.msdn.com/b/suhde/archive/tags/80040e31/" /><category term="Timeout" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Timeout/" /><category term="SQLDiag" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQLDiag/" /><category term="Query Timeout" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Query+Timeout/" /><category term="XACT_ABORT" scheme="http://blogs.msdn.com/b/suhde/archive/tags/XACT_5F00_ABORT/" /><category term="Exception Handler" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Exception+Handler/" /></entry><entry><title>Is NFR set?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2010/03/12/is-nfr-set.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2010/03/12/is-nfr-set.aspx</id><published>2010-03-12T20:01:08Z</published><updated>2010-03-12T20:01:08Z</updated><content type="html">Hi Friends, After a long break of about 8 months, I am back again!! Many things changed recently, and I was quite busy adopting to the changes – the most challenging was, of course, adopting myself to new parenthood. However, I am back again, with some new topics – topics that I have learnt or experienced during the long absence. I was working on a case very recently – my customer was trying to setup Transactional Replication, and while applying the snapshot, he was receiving an error message: &amp;quot;Cannot...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2010/03/12/is-nfr-set.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9977722" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Database" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database/" /><category term="Replication" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Replication/" /><category term="NFR" scheme="http://blogs.msdn.com/b/suhde/archive/tags/NFR/" /><category term="Check Constraint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Check+Constraint/" /><category term="Trigger" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Trigger/" /><category term="Constraint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Constraint/" /><category term="Identity" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Identity/" /><category term="Not For Replication" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Not+For+Replication/" /><category term="Foreign Key" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Foreign+Key/" /></entry><entry><title>Revealing the secrets - Truncating a Transaction Log File</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/07/18/revealing-the-secrets-truncating-a-transaction-log-file.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/07/18/revealing-the-secrets-truncating-a-transaction-log-file.aspx</id><published>2009-07-18T15:34:46Z</published><updated>2009-07-18T15:34:46Z</updated><content type="html">In my earlier blog post on Shrinking the Transaction Log files in SQL Server , I had mentioned that a VLF can be truncated only when all transactions, that have at least one command written into the specified VLF have either been committed or rolled back. While this is true, I understand that it might create a bit of confusion around how the truncation actually happens behind the covers. In his comment, David writes: Also, I have read in the documentation (Transaction Log Physical Architecture) that...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/07/18/revealing-the-secrets-truncating-a-transaction-log-file.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9838576" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="Transaction Log" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Transaction+Log/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Checkpoint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Checkpoint/" /><category term="Configuration" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Configuration/" /><category term="Database" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database/" /><category term="DBRecover" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBRecover/" /><category term="Log" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log/" /><category term="Log File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+File/" /><category term="Log Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+Backup/" /><category term="Tail Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Tail+Backup/" /><category term="Replication" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Replication/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="Truncate" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Truncate/" /><category term="SQLPerf" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQLPerf/" /><category term="LogInfo" scheme="http://blogs.msdn.com/b/suhde/archive/tags/LogInfo/" /><category term="VLF" scheme="http://blogs.msdn.com/b/suhde/archive/tags/VLF/" /><category term="LogSpace" scheme="http://blogs.msdn.com/b/suhde/archive/tags/LogSpace/" /><category term="Recovery Model" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recovery+Model/" /><category term="Virtual Log File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Virtual+Log+File/" /><category term="DBCC" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBCC/" /><category term="Backup Log" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Backup+Log/" /><category term="DBCC LOGINFO" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBCC+LOGINFO/" /><category term="DBCC LOG" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBCC+LOG/" /><category term="LSN" scheme="http://blogs.msdn.com/b/suhde/archive/tags/LSN/" /><category term="Log Sequence Number" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+Sequence+Number/" /><category term="Recovery" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recovery/" /><category term="MinLSN" scheme="http://blogs.msdn.com/b/suhde/archive/tags/MinLSN/" /><category term="Minimum Recovery LSN" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Minimum+Recovery+LSN/" /></entry><entry><title>Step-by-step guide to configure Database Mirroring between SQL Server Instances in a Workgroup</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/07/13/step-by-step-guide-to-configure-database-mirroring-between-sql-server-instances-in-a-workgroup.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/07/13/step-by-step-guide-to-configure-database-mirroring-between-sql-server-instances-in-a-workgroup.aspx</id><published>2009-07-13T16:34:00Z</published><updated>2009-07-13T16:34:00Z</updated><content type="html">This post is again in response to requests from customers who want to know how to configure Database Mirroring between instances of SQL Server 2005 in a WORKGROUP. 
 As you might have noticed, while configuring Database Mirroring using the GUI, it requires us to enter FQDNs of the servers; hence using the GUI, we can configure Database Mirroring between instances of SQL Server in a domain environment. 
 All credit goes to Varun for creating this step-by-step guide. I take the liberty to post it...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/07/13/step-by-step-guide-to-configure-database-mirroring-between-sql-server-instances-in-a-workgroup.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9831906" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="Database Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Mirroring/" /><category term="Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mirroring/" /><category term="Configure" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Configure/" /><category term="Configuration" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Configuration/" /><category term="Witness" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Witness/" /><category term="Monitor" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Monitor/" /><category term="Step by step" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Step+by+step/" /><category term="Workgroup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Workgroup/" /><category term="Mirror" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mirror/" /><category term="DBMirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBMirroring/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="Certificate" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Certificate/" /><category term="NoRecovery" scheme="http://blogs.msdn.com/b/suhde/archive/tags/NoRecovery/" /><category term="Principal" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Principal/" /><category term="Guide" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guide/" /></entry><entry><title>How to configure SQL Server Database Mail to send email using your Windows Live Mail Account or your GMail Account</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/07/12/how-to-configure-sql-server-database-mail-to-send-email-using-your-windows-live-mail-account-or-your-gmail-account.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/07/12/how-to-configure-sql-server-database-mail-to-send-email-using-your-windows-live-mail-account-or-your-gmail-account.aspx</id><published>2009-07-12T10:33:00Z</published><updated>2009-07-12T10:33:00Z</updated><content type="html">Hi Friends, This post comes as a response to requests from many of our customers, who want to know the step by step process on how to configure SQL Server Database Mail to send emails using their Windows Live Mail Account or their Gmail Account. If you are using SQL Server 2005 or higher, you might have noticed that there is now a “Database Mail” (DB Mail) option under “Management” . This is very different from the “SQL Mail” that we had on previous versions (it still exists under Management\Legacy...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/07/12/how-to-configure-sql-server-database-mail-to-send-email-using-your-windows-live-mail-account-or-your-gmail-account.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9829980" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Database Mail" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Mail/" /><category term="Mail" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mail/" /><category term="Configure" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Configure/" /><category term="DBMail" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBMail/" /><category term="Configuration" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Configuration/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="Mail Account" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mail+Account/" /><category term="Profile" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Profile/" /><category term="GMail" scheme="http://blogs.msdn.com/b/suhde/archive/tags/GMail/" /><category term="Mail Profile" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Mail+Profile/" /><category term="SQL Mail" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Mail/" /><category term="SSL" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SSL/" /><category term="Live" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Live/" /><category term="SMTP" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SMTP/" /></entry><entry><title>Database Corruption Part 5 :: Dealing with Log File Corruption</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/07/11/database-corruption-part-5-dealing-with-log-file-corruption.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/07/11/database-corruption-part-5-dealing-with-log-file-corruption.aspx</id><published>2009-07-11T18:15:00Z</published><updated>2009-07-11T18:15:00Z</updated><content type="html">Hi Friends, I am back again after a long time. Last month was the end of yet another financial year, and all of us were very busy with the processes involved with each year-end. Now that all those are completed, I could find some time for my next blog post on database corruption. Here, I will be targeting issues related to corruption in the database log files. As we all know, the Transaction Log File(s) of a database (*.ldf files) are essential for maintaining transactional consistency in the databases...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/07/11/database-corruption-part-5-dealing-with-log-file-corruption.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9829676" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Corruption/" /><category term="Database Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Corruption/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Log File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+File/" /><category term="Log Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+Backup/" /><category term="Recovering" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recovering/" /><category term="No_Truncate" scheme="http://blogs.msdn.com/b/suhde/archive/tags/No_5F00_Truncate/" /><category term="Headeronly" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Headeronly/" /><category term="Suspect" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Suspect/" /><category term="Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Backup/" /><category term="Tail Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Tail+Backup/" /><category term="Recover" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recover/" /><category term="Data File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Data+File/" /><category term="Antivirus" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Antivirus/" /><category term="Disk Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Disk+Corruption/" /><category term="Page Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Page+Corruption/" /><category term="Disk" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Disk/" /><category term="IO" scheme="http://blogs.msdn.com/b/suhde/archive/tags/IO/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="Input Output" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Input+Output/" /><category term="Suspect_Pages" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Suspect_5F00_Pages/" /><category term="Log File Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+File+Corruption/" /></entry><entry><title>Registry check-pointing on a Windows Cluster</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/05/26/registry-check-pointing-on-a-windows-cluster.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/05/26/registry-check-pointing-on-a-windows-cluster.aspx</id><published>2009-05-26T23:07:00Z</published><updated>2009-05-26T23:07:00Z</updated><content type="html">Over the last few years that I have been in Microsoft, I have come across multiple issues where database administrators have mistakenly made inappropriate changes to the clustered SQL Server registry hives. Later, when SQL Server restarts (either due to manual intervention or during a failover), SQL Server can no longer come online on the cluster. Additionally, the registry changes cannot be reverted back; and SQL Server remains in the failed state despite all efforts to bring it online. 
 This...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/05/26/registry-check-pointing-on-a-windows-cluster.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9642055" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="Checkpoint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Checkpoint/" /><category term="Cluster" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Cluster/" /><category term="Quorum" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Quorum/" /><category term="Registry" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Registry/" /><category term="Resource" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Resource/" /><category term="Revert" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Revert/" /><category term="MSCS" scheme="http://blogs.msdn.com/b/suhde/archive/tags/MSCS/" /><category term="CPT Files" scheme="http://blogs.msdn.com/b/suhde/archive/tags/CPT+Files/" /><category term="RegSync" scheme="http://blogs.msdn.com/b/suhde/archive/tags/RegSync/" /><category term="Checkpointing" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Checkpointing/" /></entry><entry><title>Lock pages in memory now available for 64 bit Standard Edition of SQL Server</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/05/20/lock-pages-in-memory-now-available-for-standard-edition-of-sql-server.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/05/20/lock-pages-in-memory-now-available-for-standard-edition-of-sql-server.aspx</id><published>2009-05-21T08:42:00Z</published><updated>2009-05-21T08:42:00Z</updated><content type="html">Great news!!! Due to over-whelming customer demand for the &amp;quot; Lock pages in memory &amp;quot; support for the Standard Edition of SQL Server 2005 and 2008 , Microsoft has released Cumulative Updates that will help SQL Server 64 bit Standard Edition to &amp;quot;lock pages&amp;quot; . This feature was already available on the Enterprise and Developer Edition. Enabling &amp;quot;Lock pages in memory&amp;quot; enables the SQL Server to use the AWE APIs, thereby avoiding potential performance issues due to trimming...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/05/20/lock-pages-in-memory-now-available-for-standard-edition-of-sql-server.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9633355" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="Lock Pages in Memory" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Lock+Pages+in+Memory/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="SQL Server 2008" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2008/" /><category term="Buffer Pool" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Buffer+Pool/" /><category term="x64" scheme="http://blogs.msdn.com/b/suhde/archive/tags/x64/" /><category term="-T845" scheme="http://blogs.msdn.com/b/suhde/archive/tags/_2D00_T845/" /><category term="Memory" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Memory/" /><category term="Paging" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Paging/" /><category term="Working Set" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Working+Set/" /><category term="Trace Flag" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Trace+Flag/" /><category term="845" scheme="http://blogs.msdn.com/b/suhde/archive/tags/845/" /><category term="Standard Edition" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Standard+Edition/" /><category term="64bit" scheme="http://blogs.msdn.com/b/suhde/archive/tags/64bit/" /></entry><entry><title>Database Corruption Part 4 :: Recovering from a failed disk</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/05/18/database-corruption-part-4-recovering-from-a-failed-disk.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/05/18/database-corruption-part-4-recovering-from-a-failed-disk.aspx</id><published>2009-05-18T19:22:38Z</published><updated>2009-05-18T19:22:38Z</updated><content type="html">It was a nice day a few days back - nice sunny day, with moderate temperatures. I got up early and after spending some time reading my favorite articles, made my way to office. In office, I realized I hadn't much work lying ahead; so sat down wondering how to account for my day. Suddenly the phone on my desk rang - tring! tring! &amp;quot;Hi, this is Suhas. How can I help you?&amp;quot; &amp;quot;I... I lost my disk...!&amp;quot; &amp;quot;What!&amp;quot; &amp;quot;My disk crashed. It had my database...&amp;quot; &amp;quot;You mean...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/05/18/database-corruption-part-4-recovering-from-a-failed-disk.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9625486" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Corruption/" /><category term="Database Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Corruption/" /><category term="Log File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+File/" /><category term="Log Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+Backup/" /><category term="Recovering" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recovering/" /><category term="No_Truncate" scheme="http://blogs.msdn.com/b/suhde/archive/tags/No_5F00_Truncate/" /><category term="Headeronly" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Headeronly/" /><category term="Suspect" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Suspect/" /><category term="Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Backup/" /><category term="Tail Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Tail+Backup/" /><category term="Recover" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recover/" /></entry><entry><title>Server Side Encryption in SQL Server</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/05/15/server-side-encryption-in-sql-server.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/05/15/server-side-encryption-in-sql-server.aspx</id><published>2009-05-15T17:31:00Z</published><updated>2009-05-15T17:31:00Z</updated><content type="html">Hi Friends, 
 After 3 posts on Database Corruption, I hope you would not mind if I divert my attention a bit and post some blogs related to some other topics. This topic that I going to write about is a very interesting topic; so I thought of taking some time out to write a few lines regarding this. 
 In this post, I will be writing about enabling Server Side Encryption in SQL Server. All of us know that to enable Server Side Encryption, we need a certificate. However, there is a very strange issue...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/05/15/server-side-encryption-in-sql-server.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9618625" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="Encryption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Encryption/" /><category term="Force Protocol Encryption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Force+Protocol+Encryption/" /><category term="Certificate" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Certificate/" /><category term="Enhanced Key Usage" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Enhanced+Key+Usage/" /><category term="SSNETLIB" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SSNETLIB/" /><category term="Server Authentication" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Server+Authentication/" /><category term="SuperSocketNetLib" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SuperSocketNetLib/" /><category term="Thumbprint" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Thumbprint/" /><category term="FRunCM thread" scheme="http://blogs.msdn.com/b/suhde/archive/tags/FRunCM+thread/" /><category term="Private Key" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Private+Key/" /><category term="Server Side Encryption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Server+Side+Encryption/" /></entry><entry><title>Database Corruption Part 3 :: Differences between CHECKTABLE and CHECKDB</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/05/14/database-corruption-part-3-differences-between-checktable-and-checkdb.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/05/14/database-corruption-part-3-differences-between-checktable-and-checkdb.aspx</id><published>2009-05-14T15:56:12Z</published><updated>2009-05-14T15:56:12Z</updated><content type="html">In this post, we would have a look at the differences between DBCC CHECKTABLE and DBCC CHECKDB. We would not go deep into how each works – that has already been very beautifully documented by the SQL Server Storage Engine Team in their blog posts; we would rather have a quick look at the differences between the two commands. DBCC CHECKTABLE: DBCC CHECKTABLE performs a physical consistency check on a single table or indexed view and all its non-clustered and XML indexes, unless the NOINDEX option...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/05/14/database-corruption-part-3-differences-between-checktable-and-checkdb.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9615855" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Corruption/" /><category term="Database Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Corruption/" /><category term="CHECKTABLE" scheme="http://blogs.msdn.com/b/suhde/archive/tags/CHECKTABLE/" /><category term="CHECKDB" scheme="http://blogs.msdn.com/b/suhde/archive/tags/CHECKDB/" /><category term="CHECKCATALOG" scheme="http://blogs.msdn.com/b/suhde/archive/tags/CHECKCATALOG/" /><category term="ESTIMATE" scheme="http://blogs.msdn.com/b/suhde/archive/tags/ESTIMATE/" /><category term="Fix" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Fix/" /><category term="CHECKALLOC" scheme="http://blogs.msdn.com/b/suhde/archive/tags/CHECKALLOC/" /><category term="TABLOCK" scheme="http://blogs.msdn.com/b/suhde/archive/tags/TABLOCK/" /><category term="Consistency" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Consistency/" /><category term="Repair" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Repair/" /><category term="NOINDEX" scheme="http://blogs.msdn.com/b/suhde/archive/tags/NOINDEX/" /><category term="sp_configure" scheme="http://blogs.msdn.com/b/suhde/archive/tags/sp_5F00_configure/" /><category term="UPDATEUSAGE" scheme="http://blogs.msdn.com/b/suhde/archive/tags/UPDATEUSAGE/" /></entry><entry><title>Database Corruption Part 2 :: How to attach a database using the Create-Replace method</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/05/12/database-corruption-part-2-how-to-attach-a-database-using-the-create-replace-method.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/05/12/database-corruption-part-2-how-to-attach-a-database-using-the-create-replace-method.aspx</id><published>2009-05-12T19:15:17Z</published><updated>2009-05-12T19:15:17Z</updated><content type="html">Ok, so, as promised, here’s my next post on Database Corruption. In this post, we will have a look at how to attach a database that you have detached and can now no longer attach back to SQL Server. This may happen if the database was already corrupt before it was detached; or if the database files have become corrupt after the detach. There are quite a few names that have been given to this method. “Create-Copy method”, “Copy-Create method”, “Copy-Replace method” and “Create-Replace method” are...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/05/12/database-corruption-part-2-how-to-attach-a-database-using-the-create-replace-method.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9607607" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Corruption/" /><category term="Database Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Corruption/" /><category term="Suspect" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Suspect/" /><category term="Consistency" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Consistency/" /><category term="Copy Create" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Copy+Create/" /><category term="Copy Replace" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Copy+Replace/" /><category term="Create Copy" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Create+Copy/" /><category term="MDF" scheme="http://blogs.msdn.com/b/suhde/archive/tags/MDF/" /><category term="sysaltfiles" scheme="http://blogs.msdn.com/b/suhde/archive/tags/sysaltfiles/" /><category term="DBCC" scheme="http://blogs.msdn.com/b/suhde/archive/tags/DBCC/" /><category term="Create Replace" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Create+Replace/" /><category term="sysfiles" scheme="http://blogs.msdn.com/b/suhde/archive/tags/sysfiles/" /><category term="CHECKPRIMARYFILE" scheme="http://blogs.msdn.com/b/suhde/archive/tags/CHECKPRIMARYFILE/" /></entry><entry><title>Database Corruption Part 1 :: Introduction to Database Corruption in SQL Server</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/04/08/introduction-to-database-corruption-in-sql-server.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/04/08/introduction-to-database-corruption-in-sql-server.aspx</id><published>2009-04-08T19:41:00Z</published><updated>2009-04-08T19:41:00Z</updated><content type="html">Hello Everybody, I think you will all agree with me that database corruption is one of the nightmares in the life of a DBA. We store precious data in databases and each day the dataset grows bigger and bigger. A database corruption issue not only puts the data at risk, it also threatens to take a toll on businesses and revenues. Throughout my career in Microsoft, I have seen many corruption issues; and while working with the DBAs for troubleshooting such corruption issues, I have felt the apprehension...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/04/08/introduction-to-database-corruption-in-sql-server.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9538525" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /><category term="Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Corruption/" /><category term="Database Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Corruption/" /><category term="Database Mirroring" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Database+Mirroring/" /><category term="Log File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+File/" /><category term="Log Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+Backup/" /><category term="Recovering" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recovering/" /><category term="No_Truncate" scheme="http://blogs.msdn.com/b/suhde/archive/tags/No_5F00_Truncate/" /><category term="Headeronly" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Headeronly/" /><category term="Suspect" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Suspect/" /><category term="Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Backup/" /><category term="Tail Backup" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Tail+Backup/" /><category term="Recover" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Recover/" /><category term="Data File" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Data+File/" /><category term="Antivirus" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Antivirus/" /><category term="Disk Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Disk+Corruption/" /><category term="High Availability" scheme="http://blogs.msdn.com/b/suhde/archive/tags/High+Availability/" /><category term="Replication" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Replication/" /><category term="Log Shipping" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Log+Shipping/" /><category term="Page Corruption" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Page+Corruption/" /><category term="Disk" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Disk/" /><category term="IO" scheme="http://blogs.msdn.com/b/suhde/archive/tags/IO/" /><category term="Guidelines" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Guidelines/" /><category term="Input Output" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Input+Output/" /><category term="Suspect_Pages" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Suspect_5F00_Pages/" /></entry><entry><title>Property Owner is not available for Database '[DBName]'.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/04/05/property-owner-is-not-available-for-database-dbname.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/04/05/property-owner-is-not-available-for-database-dbname.aspx</id><published>2009-04-05T19:51:00Z</published><updated>2009-04-05T19:51:00Z</updated><content type="html">Hi Friends, 
 This issue that I am talking about is a very common issue that I have seen. I have, in my experience, seen many users experiencing this issue; yet, most people do not know how to troubleshoot or fix this issue. Moreover, I have seen this issue on SQL Server 2005; although not tested, I am sure you might encounter this issue in SQL Server 2008 as well. 
 The issue is, you right-click on the database and choose properties. Now, instead of the database properties opening up, you get...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/04/05/property-owner-is-not-available-for-database-dbname.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9532107" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server/" /><category term="sp_changedbowner" scheme="http://blogs.msdn.com/b/suhde/archive/tags/sp_5F00_changedbowner/" /><category term="Owner" scheme="http://blogs.msdn.com/b/suhde/archive/tags/Owner/" /></entry><entry><title>Invalid object name 'master.dbo.spt_values'. (Microsoft SQL Server, Error: 208)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/suhde/archive/2009/04/05/invalid-object-name-master-dbo-spt-values-microsoft-sql-server-error-208.aspx" /><id>http://blogs.msdn.com/b/suhde/archive/2009/04/05/invalid-object-name-master-dbo-spt-values-microsoft-sql-server-error-208.aspx</id><published>2009-04-05T18:55:00Z</published><updated>2009-04-05T18:55:00Z</updated><content type="html">Hi Friends, 
 The last month has been a very busy month for all of us, and its not over yet. However, with the daily work, comes a few instances when we do encounter really interesting issues. End of the last month, I encountered an issue, that is really very interesting. 
 The issue that I am talking about is very uncommon; I have not seen many people facing it; although it is very easy to encounter this scenario. Also, this issue can be encountered in SQL Server 2005; although I have not tested...(&lt;a href="http://blogs.msdn.com/b/suhde/archive/2009/04/05/invalid-object-name-master-dbo-spt-values-microsoft-sql-server-error-208.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9532039" width="1" height="1"&gt;</content><author><name>suhde</name><uri>http://blogs.msdn.com/suhde/ProfileUrlRedirect.ashx</uri></author><category term="spt_values" scheme="http://blogs.msdn.com/b/suhde/archive/tags/spt_5F00_values/" /><category term="u_tables.sql" scheme="http://blogs.msdn.com/b/suhde/archive/tags/u_5F00_tables-sql/" /><category term="SQL Server 2005" scheme="http://blogs.msdn.com/b/suhde/archive/tags/SQL+Server+2005/" /></entry></feed>