<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>SQLServer2005 Sea</title>
	<atom:link href="http://sqlship.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://sqlship.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Fri, 20 Jan 2012 15:59:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='sqlship.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>SQLServer2005 Sea</title>
		<link>http://sqlship.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://sqlship.wordpress.com/osd.xml" title="SQLServer2005 Sea" />
	<atom:link rel='hub' href='http://sqlship.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Change Tracking Internals (SQL2008R2) Part 4</title>
		<link>http://sqlship.wordpress.com/2011/11/21/change-tracking-internals-sql2008r2-part-4-2/</link>
		<comments>http://sqlship.wordpress.com/2011/11/21/change-tracking-internals-sql2008r2-part-4-2/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 14:06:09 +0000</pubDate>
		<dc:creator>msufian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sqlship.wordpress.com/?p=1207</guid>
		<description><![CDATA[Change Tracking Overhead When change tracking is enabled for a table, some administration operations are affected. The following table lists the operations and the effects you should consider. Operation When change tracking is enabled DROP TABLE All change tracking information for the dropped table is removed. ALTER TABLE DROP CONSTRAINT An attempt to drop the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1207&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#1f497d;font-family:Georgia;"><span style="font-size:16pt;"><strong>Change Tracking Overhead</strong></span><span style="color:black;font-size:10pt;"><br />
			</span></span></p>
<p><span style="color:#1f497d;">When change tracking is enabled for a table, some administration operations are affected. The following table lists the operations and the effects you should consider.<br />
</span></p>
<div>
<table style="border-collapse:collapse;background:#cccccc;" border="0">
<col style="width:80px;" />
<col style="width:259px;" />
<tbody valign="top">
<tr>
<td vAlign="middle" style="border-top:outset .75pt;border-left:outset .75pt;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">Operation </span></p>
</td>
<td vAlign="middle" style="border-top:outset .75pt;border-left:none;border-bottom:outset .75pt;border-right:outset .75pt;">
<p style="text-align:center;"><span style="color:#1f497d;">When change tracking is enabled </span></p>
</td>
</tr>
<tr>
<td vAlign="middle" style="border-top:none;border-left:outset .75pt;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">DROP TABLE</span></p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">All change tracking information for the dropped table is removed.</span></p>
</td>
</tr>
<tr>
<td vAlign="middle" style="border-top:none;border-left:outset .75pt;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">ALTER TABLE DROP CONSTRAINT</span></p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">An attempt to drop the PRIMARY KEY constraint will fail. Change tracking must be disabled before a PRIMARY KEY constraint can be dropped.</span></p>
</td>
</tr>
<tr>
<td vAlign="middle" style="border-top:none;border-left:outset .75pt;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">ALTER TABLE DROP COLUMN</span></p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">If a column that is being dropped is part of the primary key, dropping the column is not allowed, regardless of change tracking.<br />
</span></p>
<p><span style="color:#1f497d;">If the column that is being dropped is not part of the primary key, dropping the column succeeds. However, the effect on any application that is synchronizing this data should be understood first. If column change tracking is enabled for the table, the dropped column might still be returned as part of the change tracking information. It is the responsibility of the application to handle the dropped column.</span></p>
</td>
</tr>
<tr>
<td vAlign="middle" style="border-top:none;border-left:outset .75pt;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">ALTER TABLE ADD COLUMN</span></p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">If a new column is added to the change tracked table, the addition of the column is not tracked. Only the updates and changes that are made to the new column are tracked.</span></p>
</td>
</tr>
<tr>
<td vAlign="middle" style="border-top:none;border-left:outset .75pt;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">ALTER TABLE ALTER COLUMN</span></p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">Data type changes of non-primary key columns are not tracked.</span></p>
</td>
</tr>
<tr>
<td vAlign="middle" style="border-top:none;border-left:outset .75pt;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">ALTER TABLE SWITCH</span></p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">Switching a partition fails if one or both of the tables has change tracking enabled.</span></p>
</td>
</tr>
<tr>
<td vAlign="middle" style="border-top:none;border-left:outset .75pt;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">DROP INDEX, or ALTER INDEX DISABLE</span></p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">The index that enforces the primary key cannot be dropped or disabled.</span></p>
</td>
</tr>
<tr>
<td vAlign="middle" style="border-top:none;border-left:outset .75pt;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">TRUNCATE TABLE</span></p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:outset .75pt;border-right:outset .75pt;">
<p><span style="color:#1f497d;">Truncating a table can be performed on a table that has change tracking enabled. However, the rows that are deleted by the operation are not tracked, and the minimum valid version is updated. When an application checks its version, the check indicates that the version is too old and a re-initialization is required. This is the same as change tracking being disabled, and then re-enabled for the table.</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="color:#1f497d;font-size:18pt;"><strong>Effects on DML<br />
</strong></span></p>
<p><span style="color:#1f497d;">Change tracking has been optimized to minimize the performance overhead on DML operations. The incremental performance overhead that is associated with using change tracking on a table is similar to the overhead incurred when an index is created for a table and needs to be maintained.<br />
</span></p>
<p><span style="color:#1f497d;">For each row that is changed by a DML operation, a row is added to the internal change tracking table. The effect of this relative to the DML operation depends on various factors, such as the following:<br />
</span></p>
<ul>
<li><span style="color:#1f497d;">The number of primary key columns<br />
</span></li>
<li><span style="color:#1f497d;">The amount of data that is being changed in the user table row<br />
</span></li>
<li><span style="color:#1f497d;">The number of operations that are being performed in a transaction<br />
</span></li>
</ul>
<p><span style="color:#1f497d;">Snapshot isolation, if used, also has an effect on performance for all DML operations, whether change tracking is enabled or not.<br />
</span></p>
<p>
 </p>
<p>
 </p>
<p><span style="color:black;font-family:Georgia;font-size:10pt;"><br />
		</span> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sqlship.wordpress.com/1207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sqlship.wordpress.com/1207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sqlship.wordpress.com/1207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sqlship.wordpress.com/1207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sqlship.wordpress.com/1207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sqlship.wordpress.com/1207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sqlship.wordpress.com/1207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sqlship.wordpress.com/1207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sqlship.wordpress.com/1207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sqlship.wordpress.com/1207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sqlship.wordpress.com/1207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sqlship.wordpress.com/1207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sqlship.wordpress.com/1207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sqlship.wordpress.com/1207/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1207&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sqlship.wordpress.com/2011/11/21/change-tracking-internals-sql2008r2-part-4-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b38020f503b420154c7105b26320f566?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msufian</media:title>
		</media:content>
	</item>
		<item>
		<title>Change Tracking Internals (SQL2008R2) Part 3</title>
		<link>http://sqlship.wordpress.com/2011/11/14/change-tracking-internals-sql2008r2-part-3/</link>
		<comments>http://sqlship.wordpress.com/2011/11/14/change-tracking-internals-sql2008r2-part-3/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 07:14:37 +0000</pubDate>
		<dc:creator>msufian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sqlship.wordpress.com/?p=1182</guid>
		<description><![CDATA[Storage with Change Tracking Here we will see how Data Storage happens with Change Tracking and what effect does it carry. For Each User Table enabled for Change Tacking there is one internal change table and Internal Transactional Table. There is one internal transaction table for the database.These internal tables affect storage requirements:     [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1182&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;"><strong>Storage with Change Tracking<br />
</strong></span></p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;">Here we will see how Data Storage happens with Change Tracking and what effect does it carry. For Each User Table enabled for Change Tacking there is one internal change table and Internal Transactional Table.<br />
</span></p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;">There is one internal transaction table for the database.These internal tables affect storage requirements:<br />
</span></p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;"><br /><img src="http://sqlship.files.wordpress.com/2011/11/111411_0714_changetrack13.png?w=600" alt="" /><br />
		</span></p>
<p>
 </p>
<p>
 </p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;">Internal change table for each table enabled for Change Tracking and Internal Transactional Table.<br />
</span></p>
<p>
 </p>
<p>
 </p>
<p><img src="http://sqlship.files.wordpress.com/2011/11/111411_0714_changetrack23.png?w=600" alt="" /><span style="color:#3f529d;font-family:Arial;font-size:10pt;"><br />
		</span></p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;">I have enabled a Table for CT; let&#8217;s see what the space is used for by internals tables. Initially Internal change Table will be of Zero Size.<br />
</span></p>
<p>
 </p>
<p><img src="http://sqlship.files.wordpress.com/2011/11/111411_0714_changetrack32.png?w=600" alt="" /><span style="color:#3f529d;font-family:Arial;font-size:10pt;"><br />
		</span></p>
<p>
 </p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;">Now have some transactions done on the table (Delete or Insert) and check the space used by internal tables.<br />
</span></p>
<p>
 </p>
<p>
 </p>
<p><img src="http://sqlship.files.wordpress.com/2011/11/111411_0714_changetrack42.png?w=600" alt="" /><span style="color:#3f529d;font-family:Arial;font-size:10pt;"><br />
		</span></p>
<p>
 </p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;">For each change to each row in the user table, a row is added to the internal change table. This row has a small fixed overhead plus a variable overhead equal to the size of the<br />
</span></p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;">Primary key columns. The row can contain optional context information set by an application. And, if column tracking is enabled, each changed column requires 4 bytes in the tracking table.<br />
</span></p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;">For each committed transaction, a row is added to an internal transaction table.<br />
</span></p>
<p>
 </p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;">sys.syscommittab :<br />
</span></p>
<p><span style="color:#3f529d;font-family:Arial;font-size:10pt;">Displays one row for each transaction that is committed for a table that is tracked by SQL Server change tracking. The sys.dm_tran_commit_table management view, which is provided for supportability purposes and exposes the transaction-related information that change tracking stores in the sys.syscommittab system table. The sys.syscommittab table provides an efficient persistent mapping from a database-specific transaction ID to the transaction&#8217;s commit log sequence number (LSN) and commit timestamp. The data that is stored in the sys.syscommittab table and exposed in this management view is subject to cleanup according to the retention period specified when change tracking was configured.<br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sqlship.wordpress.com/1182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sqlship.wordpress.com/1182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sqlship.wordpress.com/1182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sqlship.wordpress.com/1182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sqlship.wordpress.com/1182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sqlship.wordpress.com/1182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sqlship.wordpress.com/1182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sqlship.wordpress.com/1182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sqlship.wordpress.com/1182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sqlship.wordpress.com/1182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sqlship.wordpress.com/1182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sqlship.wordpress.com/1182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sqlship.wordpress.com/1182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sqlship.wordpress.com/1182/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1182&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sqlship.wordpress.com/2011/11/14/change-tracking-internals-sql2008r2-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b38020f503b420154c7105b26320f566?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msufian</media:title>
		</media:content>

		<media:content url="http://sqlship.files.wordpress.com/2011/11/111411_0714_changetrack13.png" medium="image" />

		<media:content url="http://sqlship.files.wordpress.com/2011/11/111411_0714_changetrack23.png" medium="image" />

		<media:content url="http://sqlship.files.wordpress.com/2011/11/111411_0714_changetrack32.png" medium="image" />

		<media:content url="http://sqlship.files.wordpress.com/2011/11/111411_0714_changetrack42.png" medium="image" />
	</item>
		<item>
		<title>Catalog Views for Change Tracking (SQL2008R2) Part 2</title>
		<link>http://sqlship.wordpress.com/2011/11/08/catalog-views-for-change-tracking-sql2008r2-part-2/</link>
		<comments>http://sqlship.wordpress.com/2011/11/08/catalog-views-for-change-tracking-sql2008r2-part-2/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 09:57:32 +0000</pubDate>
		<dc:creator>msufian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sqlship.wordpress.com/2011/11/08/catalog-views-for-change-tracking-sql2008r2-part-2/</guid>
		<description><![CDATA[To determine which tables and databases have change tracking enabled, you can use the following catalog views: sys.change_tracking_databases: The view list the database&#8217;s enabled for Change Tracking. sys.change_tracking_tables        : The view list the table&#8217;s information enabled for Change tracking. sys.dm_tran_commit_table       : Displays one row for each transaction that is committed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1181&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:black;">To determine which tables and databases have change tracking enabled, you can use the following catalog views:<br />
</span></p>
<p><span style="color:#f79646;">sys.change_tracking_databases<span style="color:black;">: The view list the database&#8217;s enabled for Change Tracking.<br />
</span></span></p>
<p><span style="color:#f79646;">sys.change_tracking_tables<span style="color:black;">        : The view list the table&#8217;s information enabled for Change tracking.</span></span></p>
<p><span style="color:#f79646;"><span style="color:black;"><span style="color:#ff9900;">sys.dm_tran_commit_table       <span style="color:#000000;">: </span></span></span></span>Displays one row for each transaction that is committed for a table that is tracked by SQL Server change tracking. The <strong>sys.dm_tran_commit_table management</strong> view, which is provided for supportability purposes and exposes the transaction-related information that change tracking stores in the <strong>sys.syscommittab</strong> system table. The <strong>sys.syscommittab</strong> table provides an efficient persistent mapping from a database-specific transaction ID to the transaction&#8217;s commit log sequence number (LSN) and commit timestamp. The data that is stored in the <strong>sys.syscommittab</strong> table and exposed in this management view is subject to cleanup according to the retention period specified when change tracking was configured.</p>
<p><span style="color:#f79646;"><span style="color:black;"><br />
</span></span></p>
<p><span style="color:black;">Also, the sys.internal_tables catalog view lists the internal tables that are created when change tracking is enabled for a user table<br />
</span></p>
<p><img src="http://sqlship.files.wordpress.com/2011/11/110811_0957_catalogview1.png?w=600" alt="" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sqlship.wordpress.com/1181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sqlship.wordpress.com/1181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sqlship.wordpress.com/1181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sqlship.wordpress.com/1181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sqlship.wordpress.com/1181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sqlship.wordpress.com/1181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sqlship.wordpress.com/1181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sqlship.wordpress.com/1181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sqlship.wordpress.com/1181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sqlship.wordpress.com/1181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sqlship.wordpress.com/1181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sqlship.wordpress.com/1181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sqlship.wordpress.com/1181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sqlship.wordpress.com/1181/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1181&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sqlship.wordpress.com/2011/11/08/catalog-views-for-change-tracking-sql2008r2-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b38020f503b420154c7105b26320f566?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msufian</media:title>
		</media:content>

		<media:content url="http://sqlship.files.wordpress.com/2011/11/110811_0957_catalogview1.png" medium="image" />
	</item>
		<item>
		<title>Enable Change Tracking (SQL2008R2) Part 1</title>
		<link>http://sqlship.wordpress.com/2011/11/07/enable-change-tracking-sql2008r2-part-1/</link>
		<comments>http://sqlship.wordpress.com/2011/11/07/enable-change-tracking-sql2008r2-part-1/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 11:53:04 +0000</pubDate>
		<dc:creator>msufian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sqlship.wordpress.com/?p=1099</guid>
		<description><![CDATA[  Change tracking in SQL Server 2008 enables applications to obtain only changes that have been made to the user tables, along with the information about those changes. With change tracking integrated into SQL Server, complicated custom change tracking solutions no longer have to be developed. Change tracking is an important building block for applications [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1099&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
 </p>
<p><span style="color:black;">Change tracking in SQL Server 2008 enables applications to obtain only changes that have been made to the user tables, along with the information about those changes. With change tracking integrated into SQL Server, complicated custom change tracking solutions no longer have to be developed.<br />
</span></p>
<p><span style="color:black;">Change tracking is an important building block for applications that synchronize and replicate data in scenarios in which end-to-end replication solutions do not work and a custom solution is required.<br />
</span></p>
<p><span style="color:black;">For example, a scenario that requires synchronizing data with data stores that are not SQL Server databases or in which the store schemas are very different.`<br />
</span></p>
<p>
 </p>
<p><span style="color:black;"><strong>Enable Change tracking at Database Level.<br />
</strong></span></p>
<p>
 </p>
<p>
 </p>
<p><span style="color:black;"><strong>Change Tracking</strong><br />
		</span></p>
<p style="margin-left:36pt;"><span style="color:black;">Use to enable or disable change tracking for the database.<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">To enable change tracking, you must have permission to modify the database.<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">Setting the value to <strong>True</strong> sets a database option that allows change tracking to be enabled on individual tables.<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">You can also configure change tracking by using ALTER DATABASE.<br />
</span></p>
<p><span style="color:black;"><strong>Retention Period</strong><br />
		</span></p>
<p style="margin-left:36pt;"><span style="color:black;">Specifies the minimum period for keeping change track information in the database. Data is removed only if the <strong>Auto Clean-Up</strong> value is <strong>true</strong>.<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">The default value is 2.<br />
</span></p>
<p><span style="color:black;"><strong>Retention Period Units</strong><br />
		</span></p>
<p style="margin-left:36pt;"><span style="color:black;">Specifies the units for the Retention Period value. You can select <strong>Days</strong>, <strong>Hours</strong>, or <strong>Minutes</strong>. The default value is <strong>Days</strong>.<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">The minimum retention period is 1 minute. There is no maximum retention period.<br />
</span></p>
<p><span style="color:black;"><strong>Auto Clean-Up</strong><br />
		</span></p>
<p style="margin-left:36pt;"><span style="color:black;">Indicates whether change tracking information is automatically removed after the specified retention period.<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">Enabling <strong>Auto Clean-Up</strong> resets any previous custom retention period to the default retention period of 2 days.<br />
</span></p>
<p><img src="http://sqlship.files.wordpress.com/2011/11/110711_1152_enablechang125.png?w=600" alt="" /><span style="font-size:8pt;"><br />
		</span></p>
<p>
 </p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:638px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:solid .5pt;border-left:solid .5pt;border-bottom:solid .5pt;border-right:solid .5pt;">
<p>ALTER DATABASE [BigMarket] SET CHANGE_TRACKING = ON;
</p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
 </p>
<p>
 </p>
<p><img src="http://sqlship.files.wordpress.com/2011/11/110711_1152_enablechang222.png?w=600" alt="" /><span style="font-size:8pt;"><br />
		</span></p>
<p>
 </p>
<p><span style="color:black;"><strong>Enable Change tracking at Object Level.<br />
</strong></span></p>
<p>
 </p>
<p>
 </p>
<p><span style="color:black;">Change Tracking<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">Indicates whether change tracking is enabled for the table. The default value is False.<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">This option is available only when change tracking is enabled for the database. For more information, see Database Properties (ChangeTracking Page).<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">To enable change tracking, the table must have a primary key, and you must have permission to modify the table.<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">You can also configure change tracking by using ALTER TABLE.<br />
</span></p>
<p><span style="color:black;">Track Columns Updated<br />
</span></p>
<p style="margin-left:36pt;"><span style="color:black;">Indicates whether the SQL Server Database Engine tracks which columns were updated.<br />
</span></p>
<p>
 </p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:638px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:solid #4bacc6 1pt;border-left:none;border-bottom:solid #4bacc6 1pt;border-right:none;">
<p>
 </p>
<p><img src="http://sqlship.files.wordpress.com/2011/11/110711_1152_enablechang33.png?w=600" alt="" /><span style="color:blue;font-family:Courier New;font-size:10pt;"><strong><br />
								</strong></span></p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<p><img src="http://sqlship.files.wordpress.com/2011/11/110711_1152_enablechang42.png?w=600" alt="" /><span style="color:black;font-family:Verdana;font-size:8pt;"><br />
							</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
 </p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">Will cover about internals of Change Tracking with important catalog views in next post.<br />
</span></p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;"><strong><br />
			</strong></span> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sqlship.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sqlship.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sqlship.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sqlship.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sqlship.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sqlship.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sqlship.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sqlship.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sqlship.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sqlship.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sqlship.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sqlship.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sqlship.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sqlship.wordpress.com/1099/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1099&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sqlship.wordpress.com/2011/11/07/enable-change-tracking-sql2008r2-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b38020f503b420154c7105b26320f566?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msufian</media:title>
		</media:content>

		<media:content url="http://sqlship.files.wordpress.com/2011/11/110711_1152_enablechang125.png" medium="image" />

		<media:content url="http://sqlship.files.wordpress.com/2011/11/110711_1152_enablechang222.png" medium="image" />

		<media:content url="http://sqlship.files.wordpress.com/2011/11/110711_1152_enablechang33.png" medium="image" />

		<media:content url="http://sqlship.files.wordpress.com/2011/11/110711_1152_enablechang42.png" medium="image" />
	</item>
		<item>
		<title>Transactional Replication Information (Publisher–Publication-Articles-Subscriber–Articles)</title>
		<link>http://sqlship.wordpress.com/2011/10/03/transactional-replication-information-publisher%e2%80%93publication-articles-subscriber%e2%80%93articles/</link>
		<comments>http://sqlship.wordpress.com/2011/10/03/transactional-replication-information-publisher%e2%80%93publication-articles-subscriber%e2%80%93articles/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 13:06:06 +0000</pubDate>
		<dc:creator>msufian</dc:creator>
				<category><![CDATA[SQL Server Replication]]></category>

		<guid isPermaLink="false">http://sqlship.wordpress.com/2011/10/03/transactional-replication-information-publisher%e2%80%93publication-articles-subscriber%e2%80%93articles/</guid>
		<description><![CDATA[Written a script to pull list of each table in a subscription and when the last time the table replicated. use [distribution] select sss.srvname PublisherServer,mss.publication_id,mss.publisher_db, msa.article Publisher_Articals, sss1.srvname SubscriberServer,mss.subscriber_id,mss.subscriber_db,mss.article_id, msa.destination_object Subscriber_Articals, mss.subscription_time from MSsubscriptions mss join sys.sysservers sss on mss.publisher_id=sss.srvid join sys.sysservers sss1 on mss.subscriber_id=sss1.srvid join MSarticles msa on mss.publisher_id=msa.publisher_id and mss.article_id=msa.article_id       [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1090&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Written a script to pull list of each table in a subscription and when the last time the table replicated.</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:638px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border:.5pt solid;">use [distribution]</p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">select</span> sss<span style="color:gray;">.</span>srvname PublisherServer<span style="color:gray;">,</span>mss<span style="color:gray;">.</span>publication_id<span style="color:gray;">,</span>mss<span style="color:gray;">.</span>publisher_db<span style="color:gray;">,<br />
</span>msa<span style="color:gray;">.</span>article Publisher_Articals<span style="color:gray;">,<br />
</span></span><span style="font-family:Courier New;font-size:10pt;">sss1<span style="color:gray;">.</span>srvname SubscriberServer<span style="color:gray;">,</span>mss<span style="color:gray;">.</span>subscriber_id<span style="color:gray;">,</span>mss<span style="color:gray;">.</span>subscriber_db<span style="color:gray;">,</span>mss<span style="color:gray;">.</span>article_id<span style="color:gray;">,<br />
</span></span><span style="font-family:Courier New;font-size:10pt;">msa<span style="color:gray;">.</span>destination_object Subscriber_Articals<span style="color:gray;">,<br />
</span></span><span style="font-family:Courier New;font-size:10pt;">mss<span style="color:gray;">.</span>subscription_time<br />
</span><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">from</span> MSsubscriptions mss <span style="color:gray;">join</span><br />
<span style="color:green;">sys<span style="color:gray;">.<span style="color:green;">sysservers</span> sss <span style="color:blue;">on</span> mss.</span>publisher_id<span style="color:gray;">=</span>sss<span style="color:gray;">.</span>srvid <span style="color:gray;">join</span> sys<span style="color:gray;">.<span style="color:green;">sysservers</span> sss1<br />
</span></span></span><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">on</span> mss<span style="color:gray;">.</span>subscriber_id<span style="color:gray;">=</span>sss1<span style="color:gray;">.</span>srvid<br />
</span><span style="font-family:Courier New;font-size:10pt;"><span style="color:gray;">join</span> MSarticles msa <span style="color:blue;">on</span> mss<span style="color:gray;">.</span>publisher_id<span style="color:gray;">=</span>msa<span style="color:gray;">.</span>publisher_id <span style="color:gray;">and</span> mss<span style="color:gray;">.</span>article_id<span style="color:gray;">=</span>msa<span style="color:gray;">.</span>article_id</span></td>
</tr>
</tbody>
</table>
</div>
<div> </div>
<div> </div>
<div> </div>
<div> <a href="http://sqlship.files.wordpress.com/2011/10/repl1.png"><img class="alignleft size-full wp-image-1094" title="Repl" src="http://sqlship.files.wordpress.com/2011/10/repl1.png?w=600&#038;h=262" alt="" width="600" height="262" /></a></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sqlship.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sqlship.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sqlship.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sqlship.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sqlship.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sqlship.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sqlship.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sqlship.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sqlship.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sqlship.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sqlship.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sqlship.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sqlship.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sqlship.wordpress.com/1090/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1090&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sqlship.wordpress.com/2011/10/03/transactional-replication-information-publisher%e2%80%93publication-articles-subscriber%e2%80%93articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b38020f503b420154c7105b26320f566?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msufian</media:title>
		</media:content>

		<media:content url="http://sqlship.files.wordpress.com/2011/10/repl1.png" medium="image">
			<media:title type="html">Repl</media:title>
		</media:content>
	</item>
		<item>
		<title>Get Installed SQL Server Instance on a Server</title>
		<link>http://sqlship.wordpress.com/2011/09/13/get-installed-sql-server-instance-on-a-server/</link>
		<comments>http://sqlship.wordpress.com/2011/09/13/get-installed-sql-server-instance-on-a-server/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 12:05:34 +0000</pubDate>
		<dc:creator>msufian</dc:creator>
				<category><![CDATA[SQL Scripts]]></category>

		<guid isPermaLink="false">http://sqlship.wordpress.com/2011/09/13/get-installed-sql-server-instance-on-a-server/</guid>
		<description><![CDATA[  Developed the script to get installed SQL Server Instance on a Server. To run this script user should have admin privileges or minimum permission to read OS registry on the server. DECLARE @Registry_Value VARCHAR(1000) DECLARE @SQL_In AS TABLE (Id NVARCHAR(MAX),InsName NVARCHAR(25))   INSERT INTO @SQL_In(Id,InsName) EXECUTE xp_regread &#8216;HKEY_LOCAL_MACHINE&#8217;,&#8216;SOFTWARE\Microsoft\Microsoft SQL Server&#8217;,&#8216;InstalledInstances&#8217;, @Registry_Value OUTPUT   SELECT [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1070&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
 </p>
<p>Developed the script to get installed SQL Server Instance on a Server. To run this script user should have admin privileges or minimum permission to read OS registry on the server.
</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:638px;" />
<tbody valign="top">
<tr style="height:173px;">
<td style="padding-left:7px;padding-right:7px;border-top:solid .5pt;border-left:solid .5pt;border-bottom:solid .5pt;border-right:solid .5pt;">
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">DECLARE</span> @Registry_Value <span style="color:blue;">VARCHAR<span style="color:gray;">(</span>1000<span style="color:gray;">)<br />
									</span></span></span></p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">DECLARE</span> @SQL_In <span style="color:blue;">AS</span><br />
								<span style="color:blue;">TABLE <span style="color:gray;">(</span>Id NVARCHAR<span style="color:gray;">(<span style="color:fuchsia;">MAX<span style="color:gray;">),</span>InsName <span style="color:blue;">NVARCHAR<span style="color:gray;">(</span>25<span style="color:gray;">))<br />
</span></span></span></span></span></span></p>
<p>
 </p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">INSERT</span><br />
								<span style="color:blue;">INTO</span> @SQL_In<span style="color:gray;">(</span>Id<span style="color:gray;">,</span>InsName<span style="color:gray;">)<br />
</span></span></p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">EXECUTE</span><br />
								<span style="color:maroon;">xp_regread<span style="color:blue;"><br />
										<span style="color:red;">&#8216;HKEY_LOCAL_MACHINE&#8217;<span style="color:gray;">,<span style="color:red;">&#8216;SOFTWARE\Microsoft\Microsoft SQL Server&#8217;<span style="color:gray;">,</span>&#8216;InstalledInstances&#8217;<span style="color:gray;">,<br />
</span></span></span></span></span></span></span></p>
<p><span style="font-family:Courier New;font-size:10pt;">@Registry_Value <span style="color:blue;">OUTPUT<br />
</span></span></p>
<p>
 </p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">SELECT</span><br />
								<span style="color:fuchsia;">@@ServerName</span> [Server Name]<span style="color:gray;">,</span>InsName [Installed SQL Instance] <span style="color:blue;">FROM</span> @SQL_In</span>
						</p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
 </p>
<p><img src="http://sqlship.files.wordpress.com/2011/09/091311_1205_getinstalle17.png?w=600" alt="" />
	</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sqlship.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sqlship.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sqlship.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sqlship.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sqlship.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sqlship.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sqlship.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sqlship.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sqlship.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sqlship.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sqlship.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sqlship.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sqlship.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sqlship.wordpress.com/1070/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1070&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sqlship.wordpress.com/2011/09/13/get-installed-sql-server-instance-on-a-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b38020f503b420154c7105b26320f566?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msufian</media:title>
		</media:content>

		<media:content url="http://sqlship.files.wordpress.com/2011/09/091311_1205_getinstalle17.png" medium="image" />
	</item>
		<item>
		<title>Database Mirroring: Transaction Hardening behavior when Mirror Fails (Synchronous mode)</title>
		<link>http://sqlship.wordpress.com/2011/08/25/database-mirroring-transaction-hardening-behavior-when-mirror-fails-synchronous-mode/</link>
		<comments>http://sqlship.wordpress.com/2011/08/25/database-mirroring-transaction-hardening-behavior-when-mirror-fails-synchronous-mode/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 11:23:51 +0000</pubDate>
		<dc:creator>msufian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sqlship.wordpress.com/2011/08/25/database-mirroring-transaction-hardening-behavior-when-mirror-fails-synchronous-mode/</guid>
		<description><![CDATA[  If we configure Database mirroring for Synchronous mode where principal waits for an acknowledgement from the mirror server before settling a commit or rollback, what would happen if the mirror server fails?   When transaction safety is set to FULL, the database mirroring session runs in high-safety mode and operates synchronously after an initial [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1067&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
 </p>
<p><span style="color:black;"><span style="background-color:yellow;">If we configure Database mirroring for Synchronous mode where principal waits for an acknowledgement from the mirror server before settling a commit or rollback, what would happen if the mirror server fails?</span><br />
		</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">When transaction safety is set to FULL, the database mirroring session runs in high-safety mode and operates synchronously after an initial synchronizing phase.<br />
</span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">The mirror server synchronizes the mirror database with the principal database to achieve synchronous mirror operation session. When the session begins, the principal server begins sending its active log to the mirror server. The mirror server writes all of the incoming log records to disk as quickly as possible. As soon as all of the received log records have been written to disk, the databases are synchronized. As long as the partners remain in communication, the databases remain synchronized.<br />
</span></p>
<p><span style="color:red;font-family:Verdana;font-size:8pt;"><strong>After synchronization finishes, every transaction committed on the principal database is also committed on the mirror server, guaranteeing protection of the data. This is achieved by waiting to commit a transaction on the principal database, until the principal server receives a message from the mirror server stating that it has hardened the transaction&#8217;s log to disk. Note the wait for this message increases the latency of the transaction.<br />
</strong></span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">The time required for synchronization depends essentially on how far the mirror database was behind the principal database at the start of the session (measured by the number of log records initially received from the principal server), the work load on the principal database, and the speed of the mirror system. After a session is synchronized, the hardened log that has yet to be redone on the mirror database remains in the redo queue.<br />
</span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;"><span style="background-color:yellow;">As soon as the mirror database becomes synchronized, the state of both the copies of the database changes to SYNCHRONIZED.</span><br />
		</span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">Synchronous operation is maintained in the following manner:<br />
</span></p>
<ol>
<li><span style="color:black;font-family:Verdana;font-size:8pt;">On receiving a transaction from a client, the principal server writes the log for the transaction to the transaction log.<br />
</span></li>
<li><span style="color:black;font-family:Verdana;font-size:8pt;">The principal server writes the transaction to the database and, concurrently, sends the log record to the mirror server. The principal server waits for an acknowledgement from the mirror server before confirming either of the following to the client: a transaction commit or a rollback.<br />
</span></li>
<li><span style="color:black;font-family:Verdana;font-size:8pt;">The mirror server hardens the log to disk and returns an acknowledgement to the principal server.<br />
</span></li>
<li><span style="color:black;font-family:Verdana;font-size:8pt;">On receiving the acknowledgement from the mirror server, the principal server sends a confirmation message to the client.<br />
</span></li>
</ol>
<p><span style="color:red;font-family:Verdana;font-size:8pt;"><strong>High-safety mode protects your data by requiring the data to be synchronized between two places. All the committed transactions are guaranteed to be written to disk on the mirror server.<br />
</strong></span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;"><strong>High-Safety Mode without Automatic Failover<br />
</strong></span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">The following figure shows the configuration of high-safety mode without automatic failover. The configuration consists of only the two partners.<br />
</span></p>
<p><img src="http://sqlship.files.wordpress.com/2011/08/082511_1123_databasemir1.gif?w=600" alt="" /><span style="color:black;font-family:Verdana;font-size:8pt;"><br />
		</span></p>
<p><span style="color:black;"><span style="font-family:Verdana;font-size:8pt;">When the partners are connected and the database is already synchronized, manual failover is supported.<span style="color:red;"><strong> If the mirror server instance goes down, the principal server instance is unaffected and runs exposed (that is without mirroring the data)(</strong></span></span><span style="color:black;"><span style="font-family:Tahoma;font-size:10pt;"> When mirror fails, it switches to Asynchronous mode until mirror comes back online and catches up, Once Principal and Mirror synchronized Mirroring mode switch back to Synchronous mode.)</span><span style="font-family:Verdana;font-size:8pt;">. If the principal server is lost, the mirror is suspended, but service can be forced to the mirror server (with possible data loss).</span><span style="font-family:Tahoma;font-size:10pt;"><br />
				</span></span></span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;"><strong>High-Safety Mode with Automatic Failover<br />
</strong></span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">Automatic failover provides high availability by ensuring that the database is still served after the loss of one server. Automatic failover requires that the session possess a third server instance, the <em>witness</em>, which ideally resides on a third computer. The following figure shows the configuration of a high-safety mode session that supports automatic failover.<br />
</span></p>
<p><img src="http://sqlship.files.wordpress.com/2011/08/082511_1123_databasemir2.gif?w=600" alt="" /><span style="color:black;font-family:Verdana;font-size:8pt;"><br />
		</span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">Unlike the two partners, the witness does not serve the database. The witness simply supports automatic failover by verifying whether the principal server is up and functioning. The mirror server initiates automatic failover only if the mirror and the witness remain connected to each other after both have been disconnected from the principal server.<br />
</span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">When a witness is set, the session requires <em>quorum</em>—a relationship between at least two server instances that allows the database to be made available.<br />
</span></p>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">Automatic failover requires the following conditions:<br />
</span></p>
<ul>
<li><span style="color:black;font-family:Verdana;font-size:8pt;">The database is already synchronized.<br />
</span></li>
<li><span style="color:black;font-family:Verdana;font-size:8pt;">The failure occurs while all three server instances are connected, and the witness and mirror server remain connected.<br />
</span></li>
</ul>
<p><span style="color:black;font-family:Verdana;font-size:8pt;">The loss of a partner has the following effect:<br />
</span></p>
<ul>
<li><span style="color:black;font-family:Verdana;font-size:8pt;">If the principal server becomes unavailable under the above conditions, automatic failover occurs. The mirror server switches to the role of principal, and it offers its database as the principal database.<br />
</span></li>
<li><span style="color:black;font-family:Verdana;font-size:8pt;">If the principal server becomes unavailable when those conditions are not met, forcing service (with possible data loss) might be possible. For more information, see Forced Service (with Possible Data Loss).<br />
</span></li>
<li><span style="color:black;font-family:Verdana;font-size:8pt;">If the only mirror server becomes unavailable, the principal and witness continue.<br />
</span></li>
</ul>
<p><span style="color:black;font-family:Verdana;font-size:8pt;"><span style="background-color:yellow;">If the session loses its witness, quorum requires both partners. If either partner loses quorum, both partners lose quorum, and the database becomes unavailable until quorum is re-established. This quorum requirement makes sure that in the absence of a witness the database never runs <em>exposed</em>, that is without being mirrored.</span><br />
		</span></p>
<p>
 </p>
<p> <br />
 </p>
<p>
 </p>
<p>
 </p>
<p>    </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sqlship.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sqlship.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sqlship.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sqlship.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sqlship.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sqlship.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sqlship.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sqlship.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sqlship.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sqlship.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sqlship.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sqlship.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sqlship.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sqlship.wordpress.com/1067/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1067&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sqlship.wordpress.com/2011/08/25/database-mirroring-transaction-hardening-behavior-when-mirror-fails-synchronous-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b38020f503b420154c7105b26320f566?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msufian</media:title>
		</media:content>

		<media:content url="http://sqlship.files.wordpress.com/2011/08/082511_1123_databasemir1.gif" medium="image" />

		<media:content url="http://sqlship.files.wordpress.com/2011/08/082511_1123_databasemir2.gif" medium="image" />
	</item>
		<item>
		<title>Internals of Database Snapshot – Part 2: Snapshot and the Buffer Pool</title>
		<link>http://sqlship.wordpress.com/2011/08/03/internals-of-database-snapshot-%e2%80%93-part-2-snapshot-and-the-buffer-pool/</link>
		<comments>http://sqlship.wordpress.com/2011/08/03/internals-of-database-snapshot-%e2%80%93-part-2-snapshot-and-the-buffer-pool/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 10:50:24 +0000</pubDate>
		<dc:creator>msufian</dc:creator>
				<category><![CDATA[Database Snapshot]]></category>

		<guid isPermaLink="false">http://sqlship.wordpress.com/2011/08/03/internals-of-database-snapshot-%e2%80%93-part-2-snapshot-and-the-buffer-pool/</guid>
		<description><![CDATA[Check out our new blog post on Internals of Database Snapshot Part-2. This blog is the joint effort of Suhas and me.   Internals of Database Snapshot – Part 2: Snapshot and the Buffer Pool<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1064&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Check out our new blog post on Internals of Database Snapshot Part-2. This blog is the joint effort of Suhas and me.
</p>
<p>
 </p>
<ul>
<li><a href="http://blogs.msdn.com/b/suhde/archive/2011/08/02/internals-of-database-snapshot-part-2-snapshot-and-the-buffer-pool.aspx" title="http://blogs.msdn.com/b/suhde/archive/2011/08/02/internals-of-database-snapshot-part-2-snapshot-and-the-buffer-pool.aspx"><span style="color:blue;font-family:Segoe UI;text-decoration:underline;"><strong>Internals of Database Snapshot – Part 2: Snapshot and the Buffer Pool</strong></span></a><span style="color:black;font-family:Segoe UI;font-size:10pt;"><br />
			</span></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sqlship.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sqlship.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sqlship.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sqlship.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sqlship.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sqlship.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sqlship.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sqlship.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sqlship.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sqlship.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sqlship.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sqlship.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sqlship.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sqlship.wordpress.com/1064/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1064&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sqlship.wordpress.com/2011/08/03/internals-of-database-snapshot-%e2%80%93-part-2-snapshot-and-the-buffer-pool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b38020f503b420154c7105b26320f566?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msufian</media:title>
		</media:content>
	</item>
		<item>
		<title>Internals of database-snapshot</title>
		<link>http://sqlship.wordpress.com/2011/07/31/internals-of-database-snapshot/</link>
		<comments>http://sqlship.wordpress.com/2011/07/31/internals-of-database-snapshot/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 12:32:07 +0000</pubDate>
		<dc:creator>msufian</dc:creator>
				<category><![CDATA[Database Snapshot]]></category>

		<guid isPermaLink="false">http://sqlship.wordpress.com/2011/07/31/internals-of-database-snapshot/</guid>
		<description><![CDATA[  Check out our new blog post on Internals of Database Snapshot. This blog is the joint effort of Suhas and me. http://blogs.msdn.com/b/suhde/archive/2011/07/31/internals-of-database-snapshot.aspx  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1063&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
 </p>
<p>Check out our new blog post on Internals of Database Snapshot. This blog is the joint effort of Suhas and me.
</p>
<p><a href="http://blogs.msdn.com/b/suhde/archive/2011/07/31/internals-of-database-snapshot.aspx">http://blogs.msdn.com/b/suhde/archive/2011/07/31/internals-of-database-snapshot.aspx</a>
	</p>
<p>
 </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sqlship.wordpress.com/1063/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sqlship.wordpress.com/1063/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sqlship.wordpress.com/1063/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sqlship.wordpress.com/1063/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sqlship.wordpress.com/1063/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sqlship.wordpress.com/1063/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sqlship.wordpress.com/1063/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sqlship.wordpress.com/1063/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sqlship.wordpress.com/1063/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sqlship.wordpress.com/1063/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sqlship.wordpress.com/1063/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sqlship.wordpress.com/1063/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sqlship.wordpress.com/1063/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sqlship.wordpress.com/1063/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1063&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sqlship.wordpress.com/2011/07/31/internals-of-database-snapshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b38020f503b420154c7105b26320f566?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msufian</media:title>
		</media:content>
	</item>
		<item>
		<title>Reverting Database using Database Snapshot</title>
		<link>http://sqlship.wordpress.com/2011/07/16/reverting-database-using-database-snapshot/</link>
		<comments>http://sqlship.wordpress.com/2011/07/16/reverting-database-using-database-snapshot/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 18:56:07 +0000</pubDate>
		<dc:creator>msufian</dc:creator>
				<category><![CDATA[Database Snapshot]]></category>

		<guid isPermaLink="false">http://sqlship.wordpress.com/2011/07/16/reverting-database-using-database-snapshot/</guid>
		<description><![CDATA[  It is always on ease having a backup and recovery strategies in place but few times it also important to recover a database to appoint which doesn&#8217;t require a full database restore or in shot no hard efforts. While working with one of my previous organization I was asked to do something which actually [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1060&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
 </p>
<p>It is always on ease having a backup and recovery strategies in place but few times it also important to recover a database to appoint which doesn&#8217;t require a full database restore or in shot no hard efforts. While working with one of my previous organization I was asked to do something which actually made me interested in using Database snapshot feature.
</p>
<p>
 </p>
<p><strong>Scenario:</strong>  A New modules was designed and developed for finance. Once the Module will get deployed in production excel data files need to be uploaded. At the backed few SP will execute which will do processing of data and finance related data will be updated /flag (inactive).
</p>
<p>
 </p>
<p>I have been asked to design a recovery strategy for the Database which recovers the database before the time of deployment and without downtime. I thought on all recovery models and at last decided to user database snapshot.
</p>
<p>Database snapshot give me a flexibility to revert back to the time when the snapshot was created. As the snapshot database is read-only we can rum comparison between OLPT database and database snapshot.
</p>
<p>
 </p>
<p>Combing back to the original question, let&#8217;s say Deployment has to start at 1:00 AM, will stop the customer /user access to the application and database so that no transaction should take place. Once the application and database is inaccessible to the customer run <span style="color:red;">select * from sys.sysprocesses </span>to check what all open transaction are in place other then background processes.
</p>
<p>Create the database Snapshot.
</p>
<p>
 </p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:638px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:solid .5pt;border-left:solid .5pt;border-bottom:solid .5pt;border-right:solid .5pt;">
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">CREATE</span><br />
								<span style="color:blue;">DATABASE</span> DBSO_snapshot <span style="color:blue;">ON<br />
</span></span></p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:gray;">(</span> NAME <span style="color:gray;">=</span> SPri1_dat<span style="color:gray;">,</span><br />
								<span style="color:blue;">FILENAME</span><br />
								<span style="color:gray;">=</span><br />
								<span style="color:red;">&#8216;K:\snapshotdb\SPri1dat_1200.ss&#8217;<span style="color:gray;">),<br />
</span></span></span></p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:gray;">(</span> NAME <span style="color:gray;">=</span> SPri2_dat<span style="color:gray;">,</span><br />
								<span style="color:blue;">FILENAME</span><br />
								<span style="color:gray;">=</span><br />
								<span style="color:red;">&#8216;K:\snapshotdb\SPri2dt_1200.ss&#8217;<span style="color:gray;">),<br />
</span></span></span></p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:gray;">(</span> NAME <span style="color:gray;">=</span> SGrp1Fi1_dat<span style="color:gray;">,</span><br />
								<span style="color:blue;">FILENAME</span><br />
								<span style="color:gray;">=</span><br />
								<span style="color:red;">&#8216;K:\snapshotdb\SG1Fi1dt_1200.ss&#8217;<span style="color:gray;">),<br />
</span></span></span></p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:gray;">(</span> NAME <span style="color:gray;">=</span> SGrp1Fi2_dat<span style="color:gray;">,</span><br />
								<span style="color:blue;">FILENAME</span><br />
								<span style="color:gray;">=</span><br />
								<span style="color:red;">&#8216;K:\snapshotdb\SG1Fi2dt_1200.ss&#8217;<span style="color:gray;">),<br />
</span></span></span></p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:gray;">(</span> NAME <span style="color:gray;">=</span> SGrp2Fi1_dat<span style="color:gray;">,</span><br />
								<span style="color:blue;">FILENAME</span><br />
								<span style="color:gray;">=</span><br />
								<span style="color:red;">&#8216;K:\snapshotdb\SG2Fi1dt_1200.ss&#8217;<span style="color:gray;">),<br />
</span></span></span></p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:gray;">(</span> NAME <span style="color:gray;">=</span> SGrp2Fi2_dat<span style="color:gray;">,</span><br />
								<span style="color:blue;">FILENAME</span><br />
								<span style="color:gray;">=</span><br />
								<span style="color:red;">&#8216;K:\snapshotdb\SG2Fi2dt_1200.ss&#8217;<span style="color:gray;">)<br />
</span></span></span></p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">AS</span><br />
								<span style="color:blue;">SNAPSHOT</span><br />
								<span style="color:blue;">OF</span> DBSO<br />
</span></p>
<p><span style="color:blue;font-family:Courier New;font-size:10pt;">GO<br />
</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
 </p>
<p><img src="http://sqlship.files.wordpress.com/2011/07/071611_1855_revertingda1.png?w=600" alt="" />
	</p>
<p>
 </p>
<p>In case you think after the deployment there is some issue with the module or data and you need to revert back. Restore the snapshot which will revert the changes to the database till the point of snapshot.
</p>
<p>
 </p>
<p>Here is an example
</p>
<p><img src="http://sqlship.files.wordpress.com/2011/07/071611_1855_revertingda2.png?w=600" alt="" />
	</p>
<p>Revert the database to a database snapshot (No connection should exists to the source database to apply the snapshot.)
</p>
<p>
 </p>
<p><img src="http://sqlship.files.wordpress.com/2011/07/071611_1855_revertingda3.png?w=600" alt="" />
	</p>
<p>
 </p>
<p>
 </p>
<p>Now to verify that database is reverted successfully, check the records
</p>
<p>
 </p>
<p><img src="http://sqlship.files.wordpress.com/2011/07/071611_1855_revertingda4.png?w=600" alt="" />
	</p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<p>
 </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sqlship.wordpress.com/1060/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sqlship.wordpress.com/1060/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sqlship.wordpress.com/1060/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sqlship.wordpress.com/1060/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sqlship.wordpress.com/1060/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sqlship.wordpress.com/1060/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sqlship.wordpress.com/1060/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sqlship.wordpress.com/1060/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sqlship.wordpress.com/1060/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sqlship.wordpress.com/1060/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sqlship.wordpress.com/1060/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sqlship.wordpress.com/1060/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sqlship.wordpress.com/1060/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sqlship.wordpress.com/1060/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sqlship.wordpress.com&amp;blog=3940600&amp;post=1060&amp;subd=sqlship&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sqlship.wordpress.com/2011/07/16/reverting-database-using-database-snapshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b38020f503b420154c7105b26320f566?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msufian</media:title>
		</media:content>

		<media:content url="http://sqlship.files.wordpress.com/2011/07/071611_1855_revertingda1.png" medium="image" />

		<media:content url="http://sqlship.files.wordpress.com/2011/07/071611_1855_revertingda2.png" medium="image" />

		<media:content url="http://sqlship.files.wordpress.com/2011/07/071611_1855_revertingda3.png" medium="image" />

		<media:content url="http://sqlship.files.wordpress.com/2011/07/071611_1855_revertingda4.png" medium="image" />
	</item>
	</channel>
</rss>
