<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblogcasts.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Piotr Rodak</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/default.aspx</link><description>if datepart(dw, getdate()) in (6, 7)&lt;br /&gt;
	&lt;b&gt;use pubs&lt;/b&gt;;

</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Good practices - database programming, unit testing</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/05/24/good-practices-database-programming-unit-testing.aspx</link><pubDate>Mon, 24 May 2010 00:27:00 GMT</pubDate><guid isPermaLink="false">fa8c4e8e-46a3-4193-8264-2c1a9cb3475d:14301</guid><dc:creator>Piotr Rodak</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/rsscomments.aspx?PostID=14301</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/commentapi.aspx?PostID=14301</wfw:comment><comments>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/05/24/good-practices-database-programming-unit-testing.aspx#comments</comments><description>Jason Brimhall wrote today on his blog that new book, Defensive Database Programming , written by Alex Kuznetsov ( blog ) is coming to bookstores. Alex writes about various techniques that make your code safer to run. SQL injection is not the only one...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/05/24/good-practices-database-programming-unit-testing.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=14301" width="1" height="1"&gt;</description><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx">tips and tricks</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx">t-sql</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/errors/default.aspx">errors</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx">script</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/programming/default.aspx">programming</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/error/default.aspx">error</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/API/default.aspx">API</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/unit+testing/default.aspx">unit testing</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/error+handling/default.aspx">error handling</category></item><item><title>The penultimate audit trigger framework</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/05/11/the-penultimate-audit-trigger.aspx</link><pubDate>Mon, 10 May 2010 23:18:00 GMT</pubDate><guid isPermaLink="false">fa8c4e8e-46a3-4193-8264-2c1a9cb3475d:13546</guid><dc:creator>Piotr Rodak</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/rsscomments.aspx?PostID=13546</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/commentapi.aspx?PostID=13546</wfw:comment><comments>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/05/11/the-penultimate-audit-trigger.aspx#comments</comments><description>So, it’s time to see what I came up with after some time of playing with COLUMNS_UPDATED() and bitmasks. The first part of this miniseries describes the mechanics of the encoding which columns are updated within DML operation. The task I was faced with...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/05/11/the-penultimate-audit-trigger.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=13546" width="1" height="1"&gt;</description><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/trigger/default.aspx">trigger</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx">tips and tricks</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx">t-sql</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/Numbers+table/default.aspx">Numbers table</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/Tally+table/default.aspx">Tally table</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/source+code/default.aspx">source code</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/util/default.aspx">util</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx">script</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/API/default.aspx">API</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/audit+framework/default.aspx">audit framework</category></item><item><title>COLUMNS_UPDATED() for audit triggers</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/04/28/columns-updated.aspx</link><pubDate>Wed, 28 Apr 2010 22:27:00 GMT</pubDate><guid isPermaLink="false">fa8c4e8e-46a3-4193-8264-2c1a9cb3475d:13476</guid><dc:creator>Piotr Rodak</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/rsscomments.aspx?PostID=13476</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/commentapi.aspx?PostID=13476</wfw:comment><comments>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/04/28/columns-updated.aspx#comments</comments><description>In SQL Server 2005, triggers are pretty much the only option if you want to audit changes to a table. There are many ways you can decide to store the change information. You may decide to store every changed row as a whole, either in a history table or...(&lt;a href="http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/04/28/columns-updated.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=13476" width="1" height="1"&gt;</description><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx">tips and tricks</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx">t-sql</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/Numbers+table/default.aspx">Numbers table</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/util/default.aspx">util</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx">script</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/practices/default.aspx">practices</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/programming/default.aspx">programming</category></item><item><title>Coding standards</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/03/11/coding-standards.aspx</link><pubDate>Thu, 11 Mar 2010 22:07:00 GMT</pubDate><guid isPermaLink="false">fa8c4e8e-46a3-4193-8264-2c1a9cb3475d:13259</guid><dc:creator>Piotr Rodak</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/rsscomments.aspx?PostID=13259</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/commentapi.aspx?PostID=13259</wfw:comment><comments>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/03/11/coding-standards.aspx#comments</comments><description>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...(&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;</description><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx">tips and tricks</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx">t-sql</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/source+code/default.aspx">source code</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx">script</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/practices/default.aspx">practices</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/programming/default.aspx">programming</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/troubleshooting/default.aspx">troubleshooting</category></item><item><title>An internal error occurred on the report server - no disk space for database.</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/02/23/an-internal-error-occurred-on-the-report-server-no-disk-space-for-database.aspx</link><pubDate>Tue, 23 Feb 2010 22:04:00 GMT</pubDate><guid isPermaLink="false">fa8c4e8e-46a3-4193-8264-2c1a9cb3475d:13141</guid><dc:creator>Piotr Rodak</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/rsscomments.aspx?PostID=13141</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/commentapi.aspx?PostID=13141</wfw:comment><comments>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/02/23/an-internal-error-occurred-on-the-report-server-no-disk-space-for-database.aspx#comments</comments><description>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...(&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;</description><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/errors/default.aspx">errors</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/SSRS/default.aspx">SSRS</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/error/default.aspx">error</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/database+maintenance/default.aspx">database maintenance</category></item><item><title>Kayleigh</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/02/22/kayleigh.aspx</link><pubDate>Mon, 22 Feb 2010 23:46:00 GMT</pubDate><guid isPermaLink="false">fa8c4e8e-46a3-4193-8264-2c1a9cb3475d:13125</guid><dc:creator>Piotr Rodak</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/rsscomments.aspx?PostID=13125</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/commentapi.aspx?PostID=13125</wfw:comment><comments>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/02/22/kayleigh.aspx#comments</comments><description>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...(&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;</description><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/revelations/default.aspx">revelations</category></item><item><title>relative query cost not accurate when using set rowcount</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/27/relative-query-cost-not-accurate-when-using-set-rowcount.aspx</link><pubDate>Wed, 27 Jan 2010 22:33:00 GMT</pubDate><guid isPermaLink="false">fa8c4e8e-46a3-4193-8264-2c1a9cb3475d:12936</guid><dc:creator>Piotr Rodak</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/rsscomments.aspx?PostID=12936</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/commentapi.aspx?PostID=12936</wfw:comment><comments>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/27/relative-query-cost-not-accurate-when-using-set-rowcount.aspx#comments</comments><description>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...(&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;</description><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx">tips and tricks</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx">t-sql</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/source+code/default.aspx">source code</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx">script</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/practices/default.aspx">practices</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/concurrency/default.aspx">concurrency</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/troubleshooting/default.aspx">troubleshooting</category></item><item><title>like in the old times</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/22/like-in-the-old-times.aspx</link><pubDate>Fri, 22 Jan 2010 14:35:00 GMT</pubDate><guid isPermaLink="false">fa8c4e8e-46a3-4193-8264-2c1a9cb3475d:12901</guid><dc:creator>Piotr Rodak</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/rsscomments.aspx?PostID=12901</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/commentapi.aspx?PostID=12901</wfw:comment><comments>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/22/like-in-the-old-times.aspx#comments</comments><description>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...(&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;</description><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/photography/default.aspx">photography</category></item><item><title>updating column with a random value</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/13/updating-column-with-a-random-value.aspx</link><pubDate>Wed, 13 Jan 2010 21:54:00 GMT</pubDate><guid isPermaLink="false">fa8c4e8e-46a3-4193-8264-2c1a9cb3475d:12842</guid><dc:creator>Piotr Rodak</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/rsscomments.aspx?PostID=12842</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/commentapi.aspx?PostID=12842</wfw:comment><comments>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/13/updating-column-with-a-random-value.aspx#comments</comments><description>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...(&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;</description><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/tips+and+tricks/default.aspx">tips and tricks</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx">t-sql</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/ETL/default.aspx">ETL</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/source+code/default.aspx">source code</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/script/default.aspx">script</category></item><item><title>updlock, holdlock and deadlocks</title><link>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/04/updlock-holdlock-and-deadlocks.aspx</link><pubDate>Mon, 04 Jan 2010 22:10:00 GMT</pubDate><guid isPermaLink="false">fa8c4e8e-46a3-4193-8264-2c1a9cb3475d:12778</guid><dc:creator>Piotr Rodak</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/rsscomments.aspx?PostID=12778</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://sqlblogcasts.com/blogs/piotr_rodak/commentapi.aspx?PostID=12778</wfw:comment><comments>http://sqlblogcasts.com/blogs/piotr_rodak/archive/2010/01/04/updlock-holdlock-and-deadlocks.aspx#comments</comments><description>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...(&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;</description><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/t-sql/default.aspx">t-sql</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/performance/default.aspx">performance</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/trace+flags/default.aspx">trace flags</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/deadlocks/default.aspx">deadlocks</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/concurrency/default.aspx">concurrency</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/troubleshooting/default.aspx">troubleshooting</category><category domain="http://sqlblogcasts.com/blogs/piotr_rodak/archive/tags/locking+hits/default.aspx">locking hits</category></item></channel></rss>