<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Synchronize a SQL Server Database with an SVN Repository</title>
	<atom:link href="http://blog.boxedbits.com/archives/133/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.boxedbits.com/archives/133</link>
	<description>( ... more specifically about BI with Microsoft products )</description>
	<lastBuildDate>Fri, 16 Jul 2010 18:42:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Scott</title>
		<link>http://blog.boxedbits.com/archives/133/comment-page-1#comment-3489</link>
		<dc:creator>Scott</dc:creator>
		<pubDate>Thu, 17 Jun 2010 18:13:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.boxedbits.com/?p=133#comment-3489</guid>
		<description>This solution sort of approaches the problem in the same way that i have seen it addressed all over web; namely to create a bunch of CREATE scripts and put those scripts under version control.  This is good for maintaining a master copy of the db that can be used to re-create the schema from scratch or setting up  a new installation without data. but doesn&#039;t this just automate what i can already do in the mgmt studio UI? 

This for me does not address the need to have schema changes compared/merged/updated and conflicts resolved like you get from equivalent tools on application source files using SVN

for example:

I have three developers each with their own local copy of SQL Server 2008 Express edition  (does not support SQL server agent btw ) where each developer could make changes via the visual designer of mgmt studio (they do not write alter scripts). let&#039;s say user1 drops one column and changes the name of another column in a table with 100K rows where there are  numerous foreign  and primary keys , indexes etc...
user2 needs to get notified of (sent) the exact changes made by user1 so that he can sync his local copy, this is the equivalent of updating to HEAD. 

how does having a freshly written CREATE script in SVN help with this? user2 can&#039;t work effectively  
if on every schema change he must drop and recreate the table loosing his test data! what a headache

I have been beta testing a new tool called SQL SOURCE Control from Redgate (http://www.red-gate.com/products/SQL_Source_Control/index.htm) that handles this problem beautifully..  It layers on top of Mgmt studio and auto commits/updates changes to and from an SVN repository.  The problem is they have yet to release pricing and i fear it will be expensive. 
ALso, if want to use the repository to deploy/sync from SVN to a staging or production server you are bound to using their schema comparison tool -- SQL COMPARE to interpret the schema changes from a &quot;checked-out scripts&quot; folder and the target db. This tool is also not cheap either and is per user licensed.

I am just wondering if anybody else has addressed this issue and how they approach these challenges.</description>
		<content:encoded><![CDATA[<p>This solution sort of approaches the problem in the same way that i have seen it addressed all over web; namely to create a bunch of CREATE scripts and put those scripts under version control.  This is good for maintaining a master copy of the db that can be used to re-create the schema from scratch or setting up  a new installation without data. but doesn&#8217;t this just automate what i can already do in the mgmt studio UI? </p>
<p>This for me does not address the need to have schema changes compared/merged/updated and conflicts resolved like you get from equivalent tools on application source files using SVN</p>
<p>for example:</p>
<p>I have three developers each with their own local copy of SQL Server 2008 Express edition  (does not support SQL server agent btw ) where each developer could make changes via the visual designer of mgmt studio (they do not write alter scripts). let&#8217;s say user1 drops one column and changes the name of another column in a table with 100K rows where there are  numerous foreign  and primary keys , indexes etc&#8230;<br />
user2 needs to get notified of (sent) the exact changes made by user1 so that he can sync his local copy, this is the equivalent of updating to HEAD. </p>
<p>how does having a freshly written CREATE script in SVN help with this? user2 can&#8217;t work effectively<br />
if on every schema change he must drop and recreate the table loosing his test data! what a headache</p>
<p>I have been beta testing a new tool called SQL SOURCE Control from Redgate (<a href="http://www.red-gate.com/products/SQL_Source_Control/index.htm" rel="nofollow">http://www.red-gate.com/products/SQL_Source_Control/index.htm</a>) that handles this problem beautifully..  It layers on top of Mgmt studio and auto commits/updates changes to and from an SVN repository.  The problem is they have yet to release pricing and i fear it will be expensive.<br />
ALso, if want to use the repository to deploy/sync from SVN to a staging or production server you are bound to using their schema comparison tool &#8212; SQL COMPARE to interpret the schema changes from a &#8220;checked-out scripts&#8221; folder and the target db. This tool is also not cheap either and is per user licensed.</p>
<p>I am just wondering if anybody else has addressed this issue and how they approach these challenges.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reed</title>
		<link>http://blog.boxedbits.com/archives/133/comment-page-1#comment-3488</link>
		<dc:creator>Reed</dc:creator>
		<pubDate>Tue, 08 Jun 2010 17:04:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.boxedbits.com/?p=133#comment-3488</guid>
		<description>Can this solution be used to update one environment, e.g. prod, with the committed changes from another environment, e.g. test?  In other words, is it completely analogous to managing application code using SVN?</description>
		<content:encoded><![CDATA[<p>Can this solution be used to update one environment, e.g. prod, with the committed changes from another environment, e.g. test?  In other words, is it completely analogous to managing application code using SVN?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom VdP</title>
		<link>http://blog.boxedbits.com/archives/133/comment-page-1#comment-3461</link>
		<dc:creator>Tom VdP</dc:creator>
		<pubDate>Fri, 09 Apr 2010 12:50:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.boxedbits.com/?p=133#comment-3461</guid>
		<description>1) Sorry I do not have the locking error.
2) I have just a few monitored databases: for each there are the necessary steps in one SQL Agent job.</description>
		<content:encoded><![CDATA[<p>1) Sorry I do not have the locking error.<br />
2) I have just a few monitored databases: for each there are the necessary steps in one SQL Agent job.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JB</title>
		<link>http://blog.boxedbits.com/archives/133/comment-page-1#comment-3450</link>
		<dc:creator>JB</dc:creator>
		<pubDate>Tue, 16 Mar 2010 21:04:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.boxedbits.com/?p=133#comment-3450</guid>
		<description>I&#039;m trying to implement this solution and have two issues:

1) Every time I execute the SQL Job (only steps 1 &amp; 3) I run into a problem with the working directory being &#039;locked&#039;.  I have to manually run &#039;svn cleanup&#039; each time to clear the error.  Something is causing the lock and not releasing.

2) This is more of a question about executing this on several databases at once.  I can&#039;t find a way to get around having to create two sql agent step for each database.  For now I&#039;m only trying this on three databases, but would like to include all 88 databases eventually.  I would also like to include step 2 above for keeping track of some table data, but wanted to get the main function working first (steps 1 &amp; 3).  Is there an easier way to get this running on multiple databases on the same instance without creating so many SQL Agent steps?</description>
		<content:encoded><![CDATA[<p>I&#8217;m trying to implement this solution and have two issues:</p>
<p>1) Every time I execute the SQL Job (only steps 1 &amp; 3) I run into a problem with the working directory being &#8216;locked&#8217;.  I have to manually run &#8217;svn cleanup&#8217; each time to clear the error.  Something is causing the lock and not releasing.</p>
<p>2) This is more of a question about executing this on several databases at once.  I can&#8217;t find a way to get around having to create two sql agent step for each database.  For now I&#8217;m only trying this on three databases, but would like to include all 88 databases eventually.  I would also like to include step 2 above for keeping track of some table data, but wanted to get the main function working first (steps 1 &amp; 3).  Is there an easier way to get this running on multiple databases on the same instance without creating so many SQL Agent steps?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: c0bra99</title>
		<link>http://blog.boxedbits.com/archives/133/comment-page-1#comment-3336</link>
		<dc:creator>c0bra99</dc:creator>
		<pubDate>Wed, 13 Jan 2010 19:39:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.boxedbits.com/?p=133#comment-3336</guid>
		<description>You can download SQL-DMO as part of the compatibility pack here:
http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C3E9EF-BA29-4A43-8D69-A2BED18FE73C&amp;displaylang=en

Or get a smaller part of the compatibility pack towards the center of that page look for &quot;Microsoft SQL Server 2005 Backward Compatibility Components&quot; yes, it says 2005 but it also is for sql 2008.</description>
		<content:encoded><![CDATA[<p>You can download SQL-DMO as part of the compatibility pack here:<br />
<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C3E9EF-BA29-4A43-8D69-A2BED18FE73C&amp;displaylang=en" rel="nofollow">http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C3E9EF-BA29-4A43-8D69-A2BED18FE73C&amp;displaylang=en</a></p>
<p>Or get a smaller part of the compatibility pack towards the center of that page look for &#8220;Microsoft SQL Server 2005 Backward Compatibility Components&#8221; yes, it says 2005 but it also is for sql 2008.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom VdP</title>
		<link>http://blog.boxedbits.com/archives/133/comment-page-1#comment-3316</link>
		<dc:creator>Tom VdP</dc:creator>
		<pubDate>Tue, 29 Dec 2009 08:35:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.boxedbits.com/?p=133#comment-3316</guid>
		<description>Hi Bryn,
I was not aware that the script is not SQL2008 compatible.  I should have taken the SMO route then.  The scripts were of course build from pieces of code and examples found on the net.  It started as a bit of a quick hack, but has been proven robust over time.  We have been running this setup for months with daily commits without a single glitch.
When in a good mood: feel free to mail me your SMO solution, I&#039;ll update the scripts then.  ;-)
Cheers,
Tom</description>
		<content:encoded><![CDATA[<p>Hi Bryn,<br />
I was not aware that the script is not SQL2008 compatible.  I should have taken the SMO route then.  The scripts were of course build from pieces of code and examples found on the net.  It started as a bit of a quick hack, but has been proven robust over time.  We have been running this setup for months with daily commits without a single glitch.<br />
When in a good mood: feel free to mail me your SMO solution, I&#8217;ll update the scripts then.  <img src='http://blog.boxedbits.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Cheers,<br />
Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryn</title>
		<link>http://blog.boxedbits.com/archives/133/comment-page-1#comment-3295</link>
		<dc:creator>Bryn</dc:creator>
		<pubDate>Mon, 14 Dec 2009 11:56:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.boxedbits.com/?p=133#comment-3295</guid>
		<description>Hi

I&#039;m trying to use this utility as it&#039;s exactly what I need - excuse my manners, thanks very much for posting it!

The problem I&#039;m having is that it uses SQLDMO and I&#039;m running on a SQL 2008 and SQLDMO isn&#039;t supported.

I&#039;m going to have a play (I&#039;m not a VB programmer but have access to a couple) to see if I can convert it to SQLSMO which is what SQL 2008 has, but in the meantime if you have a newer version that&#039;s already written for SQL 2008 I&#039;d love to have it please.

Or maybe you can point me in the right direction as to how to fix it for SQL 2008?

Thanks very much.

Regards
Bryn</description>
		<content:encoded><![CDATA[<p>Hi</p>
<p>I&#8217;m trying to use this utility as it&#8217;s exactly what I need &#8211; excuse my manners, thanks very much for posting it!</p>
<p>The problem I&#8217;m having is that it uses SQLDMO and I&#8217;m running on a SQL 2008 and SQLDMO isn&#8217;t supported.</p>
<p>I&#8217;m going to have a play (I&#8217;m not a VB programmer but have access to a couple) to see if I can convert it to SQLSMO which is what SQL 2008 has, but in the meantime if you have a newer version that&#8217;s already written for SQL 2008 I&#8217;d love to have it please.</p>
<p>Or maybe you can point me in the right direction as to how to fix it for SQL 2008?</p>
<p>Thanks very much.</p>
<p>Regards<br />
Bryn</p>
]]></content:encoded>
	</item>
</channel>
</rss>
