<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblogcasts.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Piotr Rodak</title><subtitle type="html">if datepart(dw, getdate()) in (6, 7)&lt;br /&gt;
	&lt;b&gt;use pubs&lt;/b&gt;;

</subtitle><id>http://sqlblogcasts.com/blogs/piotr_rodak/atom.aspx</id><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/default.aspx" /><link rel="self" type="application/atom+xml" href="http://sqlblogcasts.com/blogs/piotr_rodak/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2009-06-13T00:38:00Z</updated><entry><title>Coding standards</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/03/11/coding-standards.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/03/11/coding-standards.aspx</id><published>2010-03-11T22:07:00Z</published><updated>2010-03-11T22:07:00Z</updated><content type="html">This post will be about coding standards. There are countless articles and blog posts related to this topic, so I know this post will not be too revealing. Yet I would like to mention a few things I came across during my work with the T-SQL code. Naming convention - there are many of them obviously. Too bad if all of them are used in the same database, and sometimes even in the same stored procedure. It is not uncommon to see something like create procedure dbo . Proc1 ( @ParamId int ) as begin declare...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/03/11/coding-standards.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=13259" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="tips and tricks" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx" /><category term="t-sql" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx" /><category term="source code" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/source+code/default.aspx" /><category term="script" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx" /><category term="practices" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/practices/default.aspx" /><category term="programming" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/programming/default.aspx" /><category term="troubleshooting" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/troubleshooting/default.aspx" /></entry><entry><title>An internal error occurred on the report server - no disk space for database.</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/02/23/an-internal-error-occurred-on-the-report-server-no-disk-space-for-database.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/02/23/an-internal-error-occurred-on-the-report-server-no-disk-space-for-database.aspx</id><published>2010-02-23T22:04:00Z</published><updated>2010-02-23T22:04:00Z</updated><content type="html">Last week was pretty hectic for me. I was developing SSRS report that was to be deployed to our QA, UAT and production environments. The report consists of many sections, which I had to implement as tables rather than subreports, because SSRS for SQL Server 2005 has many constraints, being unable to display dynamic headers and footers from subreports one of them. Having about 15 rather complicated tables on one design area is not a very comfortable way of work. The whole IDE is slow and tends to...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/02/23/an-internal-error-occurred-on-the-report-server-no-disk-space-for-database.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=13141" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="errors" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/errors/default.aspx" /><category term="Reporting Services" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/Reporting+Services/default.aspx" /><category term="SSRS" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/SSRS/default.aspx" /><category term="error" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/error/default.aspx" /><category term="database maintenance" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/database+maintenance/default.aspx" /></entry><entry><title>Kayleigh</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/02/22/kayleigh.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/02/22/kayleigh.aspx</id><published>2010-02-22T23:46:00Z</published><updated>2010-02-22T23:46:00Z</updated><content type="html">It&amp;#39;s been about 25 years since I&amp;#39;ve heard Misplaced Childhood or the first time in my life. There was time when I could sing the whole album along with Fish . Thankfully karaoke and youtube weren&amp;#39;t as popular in Poland in 1985 as they are now, or I could&amp;#39;ve ended up in a lip sync hit like these two chaps: http://www.youtube.com/watch?v=tMI7h78mDMA I learned a lot of english words from lyrics, sometimes to great joy of my english speaking friends. Yet I just realized today, what &amp;#39;dancing...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/02/22/kayleigh.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=13125" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="revelations" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/revelations/default.aspx" /></entry><entry><title>relative query cost not accurate when using set rowcount</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/27/relative-query-cost-not-accurate-when-using-set-rowcount.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/27/relative-query-cost-not-accurate-when-using-set-rowcount.aspx</id><published>2010-01-27T22:33:00Z</published><updated>2010-01-27T22:33:00Z</updated><content type="html">When tuning performance of a query, it is quite common to compare different variants of the query in the same batch and compare the execution plans to see if changes that you made actually work for better or not. Often you would compare just relative cost of execution plan of a query within the batch. I lived for a long time with innocent assumption that the relative cost is accurate and reliable. As Gail Shaw showed in her blog , this assumption doesn&amp;#39;t hold if you use scalar functions within...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/27/relative-query-cost-not-accurate-when-using-set-rowcount.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=12936" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="tips and tricks" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx" /><category term="t-sql" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx" /><category term="source code" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/source+code/default.aspx" /><category term="script" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx" /><category term="practices" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/practices/default.aspx" /><category term="concurrency" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/concurrency/default.aspx" /><category term="troubleshooting" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/troubleshooting/default.aspx" /></entry><entry><title>like in the old times</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/22/like-in-the-old-times.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/22/like-in-the-old-times.aspx</id><published>2010-01-22T14:35:00Z</published><updated>2010-01-22T14:35:00Z</updated><content type="html">My little brother got recently an old 50mm Pentax-M 1:2 lens. While this lens is not known for the best image quality amongst Pentax prime 50mm lenses, it gave me first opportunity to take pictures &amp;#39;the old way&amp;#39; on my K10D. This is quite nostalgic feeling to have to focus and set aperture manually like in the old &amp;#39;80s with famous soviet camera Zenith . My brother has also some old lenses with M42 mount. I bought adapter allowing me to connect them to my camera and indeed, it works. I...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/22/like-in-the-old-times.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=12901" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="photography" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/photography/default.aspx" /></entry><entry><title>updating column with a random value</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/13/updating-column-with-a-random-value.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/13/updating-column-with-a-random-value.aspx</id><published>2010-01-13T21:54:00Z</published><updated>2010-01-13T21:54:00Z</updated><content type="html">I have been working recently on load testing of our ETL. One of the factors that determines amount of transfered data is a lookup table that is joined to the source. I populated this table with aproppriate values, and then realized that I also need some values in second column, and they were null. Let&amp;#39;s say the table looks like that: create table t101 ( a int , b char ( 10 ) ) go insert t101 ( a , b ) select 1 , &amp;#39;&amp;#39; union all select 2 , &amp;#39;&amp;#39; union all select 3 , &amp;#39;&amp;#39; union...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/13/updating-column-with-a-random-value.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=12842" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="tips and tricks" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx" /><category term="t-sql" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx" /><category term="ETL" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/ETL/default.aspx" /><category term="source code" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/source+code/default.aspx" /><category term="script" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx" /></entry><entry><title>updlock, holdlock and deadlocks</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/04/updlock-holdlock-and-deadlocks.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/04/updlock-holdlock-and-deadlocks.aspx</id><published>2010-01-04T22:10:00Z</published><updated>2010-01-04T22:10:00Z</updated><content type="html">We have a process that manages sliding window over a number of tables in our reporting database. This process is triggered by first call to our reporting ETL. There is table that contains two dates that are important for the partitioning and business requirements. The table is build as the following example: if object_id ( &amp;#39;dbo.tDateTest&amp;#39; ) is not null drop table dbo . tDateTest go create table dbo . tDateTest ( FromDate datetime not null, ToDate datetime not null ) The table contains only...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/04/updlock-holdlock-and-deadlocks.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=12778" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="t-sql" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx" /><category term="performance" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/performance/default.aspx" /><category term="trace flags" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/trace+flags/default.aspx" /><category term="deadlocks" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/deadlocks/default.aspx" /><category term="concurrency" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/concurrency/default.aspx" /><category term="troubleshooting" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/troubleshooting/default.aspx" /><category term="locking hits" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/locking+hits/default.aspx" /></entry><entry><title>Happy New Year</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/12/30/happy-new-year.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/12/30/happy-new-year.aspx</id><published>2009-12-30T23:49:00Z</published><updated>2009-12-30T23:49:00Z</updated><content type="html">Well, this is my last post this year - I know, there weren&amp;#39;t too many of them anyway, but I plan to improve my frequency, promise . I have a few days off and all of a sudden I got a flu or cold, felt pretty rubbish two days ago. I spent all day in bed yesterday, sleeping, playing with Rubik&amp;#39;s Cube and reading a book - The Storage Engine . The effect of day in bed was that I couldn&amp;#39;t sleep at night and my brain was plotting grand plans how to become rich and retire before end of 2010....(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/12/30/happy-new-year.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=12758" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author></entry><entry><title>Default value or value provided for the report parameter .. is not a valid value</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/12/15/default-value-or-value-provided-for-the-report-parameter-is-not-a-valid-value.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/12/15/default-value-or-value-provided-for-the-report-parameter-is-not-a-valid-value.aspx</id><published>2009-12-15T22:36:00Z</published><updated>2009-12-15T22:36:00Z</updated><content type="html">I&amp;#39;ve been working on a report for last few days. It worked fine on my visual Studio and when it was ready, I decided to deploy it to our application server which runs Report Server 2005. To my disappointment, the report didn&amp;#39;t want to work after deployment. It threw an error on me as on the below picture: Default value or value provided for the report parameter &amp;#39;RunDate&amp;#39; is not a valid value I looked for solution far and near. One of the first articles I stumbled upon was the fix...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/12/15/default-value-or-value-provided-for-the-report-parameter-is-not-a-valid-value.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=12737" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="tips and tricks" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx" /><category term="Reporting Services" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/Reporting+Services/default.aspx" /><category term="SSRS" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/SSRS/default.aspx" /></entry><entry><title>DATA ACCESS setting on local server</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/11/22/data-access-setting-on-local-server.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/11/22/data-access-setting-on-local-server.aspx</id><published>2009-11-22T22:02:00Z</published><updated>2009-11-22T22:02:00Z</updated><content type="html">When you look at the sys.servers catalog view, you will see list of linked servers defined on the server plus one additional row for the server itself. You can distinguish the local server from linked servers by column server_id, which in case of local server has value of 0. select server_id , name , is_data_access_enabled from sys.servers We have an application, that stores query to execute in a configuration table, along with name of the linked server. The query is executed using OPENQUERY statement...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/11/22/data-access-setting-on-local-server.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=12578" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="linked server" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/linked+server/default.aspx" /><category term="tips and tricks" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx" /><category term="t-sql" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx" /><category term="data access" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/data+access/default.aspx" /><category term="OPENQUERY" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/OPENQUERY/default.aspx" /></entry><entry><title>Makesafe script - set up security for developers</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/10/24/makesafe-script-set-up-security-for-developers.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="11540" href="http://sqlblogcasts.com/blogs/piotr_rodak/attachment/12450.ashx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/10/24/makesafe-script-set-up-security-for-developers.aspx</id><published>2009-10-24T12:35:00Z</published><updated>2009-10-24T12:35:00Z</updated><content type="html">I worked yesterday on a script that is supposed to run on DEV database after it has been restored from production. This script adjusts configuration data and security in the database so developers can work safely on production data without compromising security policies. The original script has a long history, over 7 or 8 years. I think it&amp;#39;s origins reach out as far as to SQL Server 7.0. Parts responsible for creating user accounts for developers were written with old, deprecated now syntax,...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/10/24/makesafe-script-set-up-security-for-developers.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=12450" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="tips and tricks" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx" /><category term="t-sql" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx" /><category term="security" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/security/default.aspx" /><category term="practices" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/practices/default.aspx" /><category term="configuration" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/configuration/default.aspx" /><category term="programming" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/programming/default.aspx" /></entry><entry><title>DISABLE TRIGGER not captured, SSIS</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/10/10/triggers-and-bulk-insert-in-ssis.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="183276" href="http://sqlblogcasts.com/blogs/piotr_rodak/SSIS%20Triggers/20091010.ZIP" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/10/10/triggers-and-bulk-insert-in-ssis.aspx</id><published>2009-10-10T21:45:00Z</published><updated>2009-10-10T21:45:00Z</updated><content type="html">This post was to be about behavior of SSIS when they insert rows to tables with triggers on them. We had an issue with one of our packs that began to fail &amp;#39;all of a sudden&amp;#39;. But when I began writing this post and building test SSIS project and database objects, I came across something even more interesting. Here we go: The pack was working properly for several months and all of a sudden one of the execution paths began to fail. I related this failure to change that I had made a few days before...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/10/10/triggers-and-bulk-insert-in-ssis.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=12401" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="trigger" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/trigger/default.aspx" /><category term="events" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/events/default.aspx" /><category term="t-sql" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx" /><category term="SSIS" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/SSIS/default.aspx" /><category term="bcp" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/bcp/default.aspx" /><category term="ETL" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/ETL/default.aspx" /><category term="errors" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/errors/default.aspx" /><category term="Profiler" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/Profiler/default.aspx" /></entry><entry><title>on update cascade...</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/09/24/on-update-cascade.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/09/24/on-update-cascade.aspx</id><published>2009-09-24T21:12:00Z</published><updated>2009-09-24T21:12:00Z</updated><content type="html">When you define a foreign key constraint, you can also decide what SQL Server should do when primary key to which the constraint references to gets deleted or updated. While I always knew and imagined that ON DELETE CASCADE may be useful, I wondered, what scenarios would be suitable for ON UPDATE CASCADE. I still don&amp;#39;t have this answer, but I came across some interesting behavior which kept me occupied for quite a bit more time that I had intended to. A few days ago I decided to implement additional...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/09/24/on-update-cascade.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=12339" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="tips and tricks" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx" /><category term="t-sql" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx" /><category term="source code" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/source+code/default.aspx" /><category term="script" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx" /></entry><entry><title>Sql release builder</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/07/20/sql-release-builder.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/07/20/sql-release-builder.aspx</id><published>2009-07-19T23:13:00Z</published><updated>2009-07-19T23:13:00Z</updated><content type="html">For a number of weeks, we have been regularly releasing code to our UAT database. The release process of database code differs slightly from releasing binary code because the release has to take into account existing data and schema in the database. With binary code (as in C# application) usually old version is just overwritten with new version. For database releases, change script has to be implemented that contains relevant changes to schema and data in the database. Developers who work on QC items...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/07/20/sql-release-builder.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=11999" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="t-sql" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx" /><category term="source code" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/source+code/default.aspx" /><category term="util" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/util/default.aspx" /><category term="download" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/download/default.aspx" /><category term="script" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx" /></entry><entry><title>ETL performance test - parallel package execution</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/06/13/etl-performance-test-parallel-package-execution.aspx" /><id>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/06/13/etl-performance-test-parallel-package-execution.aspx</id><published>2009-06-12T23:38:00Z</published><updated>2009-06-12T23:38:00Z</updated><content type="html">I was recently busy with testing performance of our ETL process. Each day we process a number of independent feeds, which will increase in the future. These feeds contain usually similar number of rows. At present we have over 100 hundred feeds that are run daily. We have implemented a C# application that executes SSIS packages programatically, adjusting their various settings and setting some variables at run time. One of tests that we perform is to run all feeds in one go. Obviously, it is not...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2009/06/13/etl-performance-test-parallel-package-execution.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=11847" width="1" height="1"&gt;</content><author><name>Piotr Rodak</name><uri>http://sqlblogcasts.com/members/Piotr-Rodak.aspx</uri></author><category term="SSIS" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/SSIS/default.aspx" /><category term="performance" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/performance/default.aspx" /><category term="ETL" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/ETL/default.aspx" /><category term="errors" scheme="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/errors/default.aspx" /></entry></feed>