<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>SQLblog.com - The SQL Server blog spot on the web</title><link>http://sqlblog.com/blogs/default.aspx</link><description>&lt;p&gt;THE SQL Server Blog Spot on the Web&lt;/p&gt;</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/sqlblog" /><feedburner:info uri="sqlblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Optimize Many-to-Many with SUMMARIZE and Other Techniques</title><link>http://feedproxy.google.com/~r/sqlblog/~3/lTbRwQtiBs4/optimize-many-to-many-with-summarize-and-other-techniques.aspx</link><pubDate>Fri, 01 Jun 2012 12:12:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43669</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;We are still in the early days of DAX and even if I have been using it since 2 years ago, there is still a lot to learn on that.&lt;/p&gt;  &lt;p&gt;One of the topics that historically interests me (and many of the readers here, probably) is the many-to-many relationships between dimensions in a dimensional data model. When I and Alberto wrote the &lt;a href="http://www.sqlbi.com/articles/many2many/"&gt;The Many to Many Revolution 2.0&lt;/a&gt; we discovered the SUMMARIZE based pattern very late in the whitepaper writing. It is very important for performance optimization and it should be always used. In the last month, &lt;a href="http://gbrueckl.wordpress.com/2012/05/08/resolving-many-to-many-relationships-leveraging-dax-cross-table-filtering"&gt;Gerhard Brueckl&lt;/a&gt; also presented an approach based on cross table filtering behavior that simplify the syntax involved, even if it’s harder to explain how it works internally.&lt;/p&gt;  &lt;p&gt;I published a short article titled &lt;a href="http://www.sqlbi.com/articles/optimize-many-to-many-calculation-in-dax-with-summarize-and-cross-table-filtering/"&gt;Optimize Many-to-Many Calculation in DAX with SUMMARIZE and Cross Table Filtering&lt;/a&gt; on &lt;a href="http://www.sqlbi.com/"&gt;SQLBI&lt;/a&gt; website just to provide a quick reference to the three patterns available. A further study is still required to compare performance between SUMMARIZE and Cross Table Filtering patterns. Up to now, I haven’t observed big differences between them, even if their execution plans might be not identical and this suggest me that depending on other conditions you might favor one over the other.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43669" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/M2M/default.aspx">M2M</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/PowePivot/default.aspx">PowePivot</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category><feedburner:origLink>http://sqlblog.com/blogs/marco_russo/archive/2012/06/01/optimize-many-to-many-with-summarize-and-other-techniques.aspx</feedburner:origLink></item><item><title>SSIS Training Comes to NYC 30 Jul-3 Aug!</title><link>http://feedproxy.google.com/~r/sqlblog/~3/2Kw1GI9xHoE/ssis-training-comes-to-nyc-30-jul-3-aug.aspx</link><pubDate>Fri, 01 Jun 2012 11:00:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43679</guid><dc:creator>andyleonard</dc:creator><slash:comments>0</slash:comments><description>Linchpin People is excited to announce the scheduling of From Zero To SSIS in New York City 30 Jul – 03 Aug 2012! Training Description From Zero to SSIS was developed by Andy Leonard to train technology professionals in the fine art of using SQL Server Integration Services (SSIS) to build data integration and Extract-Transform-Load (ETL) solutions. The training is focused around labs and emphasizes a hands-on approach. Most technologists learn by doing; this training is designed to maximize the time...(&lt;a href="http://sqlblog.com/blogs/andy_leonard/archive/2012/06/01/ssis-training-comes-to-nyc-30-jul-3-aug.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43679" width="1" height="1"&gt;</description><feedburner:origLink>http://sqlblog.com/blogs/andy_leonard/archive/2012/06/01/ssis-training-comes-to-nyc-30-jul-3-aug.aspx</feedburner:origLink></item><item><title>Learn SSIS in London 12-14 Sep 2012!</title><link>http://feedproxy.google.com/~r/sqlblog/~3/WnAnIBo2Otw/learn-ssis-in-london-12-14-sep-2012.aspx</link><pubDate>Thu, 31 May 2012 13:30:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43670</guid><dc:creator>andyleonard</dc:creator><slash:comments>0</slash:comments><description>My friends at TechniTrain , the students, and I had a blast during the March 2012 London delivery of From Zero To SSIS ! We have decided to do it again in September 2012 with my new Learning SSIS 2012 3-day course ! Please find a course outline here . It is difficult to list everything I cover in the course, but the outline hits the high spots. This material grew out of my experiences serving as a consultant on short-term engagements and as a manager (and enterprise ETL architect) for a team of forty...(&lt;a href="http://sqlblog.com/blogs/andy_leonard/archive/2012/05/31/learn-ssis-in-london-12-14-sep-2012.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43670" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andy_leonard/archive/tags/SSIS/default.aspx">SSIS</category><category domain="http://sqlblog.com/blogs/andy_leonard/archive/tags/Training/default.aspx">Training</category><feedburner:origLink>http://sqlblog.com/blogs/andy_leonard/archive/2012/05/31/learn-ssis-in-london-12-14-sep-2012.aspx</feedburner:origLink></item><item><title>Smart defaults [SSDT]</title><link>http://feedproxy.google.com/~r/sqlblog/~3/Ge1eMjopld0/smart-defaults-ssdt.aspx</link><pubDate>Thu, 31 May 2012 10:55:12 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43657</guid><dc:creator>jamiet</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;I’ve just discovered a new, somewhat hidden, feature in SSDT that I didn’t know about and figured it would be worth highlighting here because I’ll bet not many others know it either; the feature is called Smart Defaults. It gets around the problem of adding a NOT NULLable column to an existing table that has got data in it – previous to SSDT you would need to define a DEFAULT constraint however it does feel rather cumbersome to create an object purely for the purpose of pushing through a deployment – that’s the situation that Smart Defaults is meant to alleviate.&lt;/p&gt;  &lt;p&gt;The Smart Defaults option exists in the advanced section of a &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2012/05/09/publish-profile-files-in-sql-server-data-tools-ssdt.aspx" target="_blank"&gt;Publish Profile file&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_1D319F70.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_09380CDA.png" width="322" height="393" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The description of the setting is “&lt;strong&gt;Automatically provides a default value when updating a table that contains data with a column that does not allow null values&lt;/strong&gt;”, in other words checking that option will cause SSDT to insert an arbitrary default value into your newly created NON NULLable column. In case you’re wondering how it does it, here’s how:&lt;/p&gt;  &lt;p&gt;SSDT creates a DEFAULT CONSTRAINT at the same time as the column is created and then immediately removes that constraint:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre style="font-size:12px;"&gt;&lt;font color="blue"&gt;ALTER TABLE &lt;/font&gt;&lt;font color="black"&gt;[dbo].[T1]&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;ADD &lt;/font&gt;&lt;font color="black"&gt;[C1] &lt;/font&gt;&lt;font color="blue"&gt;INT &lt;/font&gt;&lt;font color="gray"&gt;NOT NULL, &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;CONSTRAINT &lt;/font&gt;&lt;font color="black"&gt;[SD_T1_1df7a5f76cf44bb593506d05ff9a1e2b] &lt;/font&gt;&lt;font color="blue"&gt;DEFAULT &lt;/font&gt;&lt;font color="black"&gt;0 &lt;/font&gt;&lt;font color="blue"&gt;FOR &lt;/font&gt;&lt;font color="black"&gt;[C1]&lt;/font&gt;&lt;font color="gray"&gt;;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;ALTER TABLE &lt;/font&gt;&lt;font color="black"&gt;[dbo].[T1] &lt;/font&gt;&lt;font color="blue"&gt;DROP CONSTRAINT &lt;/font&gt;&lt;font color="black"&gt;[SD_T1_1df7a5f76cf44bb593506d05ff9a1e2b]&lt;/font&gt;&lt;font color="gray"&gt;;&lt;/font&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can then update the value as appropriate in a Post-Deployment script. Pretty cool!&lt;/p&gt;

&lt;p&gt;On the downside, you can only specify this option for the whole project, not for an individual table or even an individual column – I’m not sure that I’d want to turn this on for an entire project as it could hide problems that a failed deployment would highlight, in other words smart defaults could be seen to be “papering over the cracks”. If you think that should be improved go and vote (and leave a comment) at &lt;a href="https://connect.microsoft.com/SQLServer/feedback/details/745175/ssdt-allow-us-to-specify-smart-defaults-per-table-or-even-per-column" target="_blank"&gt;[SSDT] Allow us to specify Smart defaults per table or even per column&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43657" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/jamie_thomson/archive/tags/sql+server/default.aspx">sql server</category><category domain="http://sqlblog.com/blogs/jamie_thomson/archive/tags/SQL+Server+Data+Tools/default.aspx">SQL Server Data Tools</category><category domain="http://sqlblog.com/blogs/jamie_thomson/archive/tags/SSDT/default.aspx">SSDT</category><feedburner:origLink>http://sqlblog.com/blogs/jamie_thomson/archive/2012/05/31/smart-defaults-ssdt.aspx</feedburner:origLink></item><item><title>SQL vs. Oracle Live Debate (AKA Smackdown!)</title><link>http://feedproxy.google.com/~r/sqlblog/~3/admwR47mWnY/sql-vs-oracle-live-debate-aka-smackdown.aspx</link><pubDate>Wed, 30 May 2012 18:43:08 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43649</guid><dc:creator>Peter W. DeBetta</dc:creator><slash:comments>0</slash:comments><description>A few years ago I was speaking at a conference in Raleigh, NC where Ted Neward and I found a fun way to promote a Java vs. .NET debate that was planned one evening. We stood in the middle of a crowd during one of the breaks and starting “arguing” about Java vs. .NET with one another. Our voice levels quickly raised and we ended it by slapping each other across the face with a glove to request a challenge. It was a great way to segue to our announcing of the actual debate planned later that evening....(&lt;a href="http://sqlblog.com/blogs/peter_debetta/archive/2012/05/30/sql-vs-oracle-live-debate-aka-smackdown.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43649" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/peter_debetta/archive/tags/Oracle/default.aspx">Oracle</category><category domain="http://sqlblog.com/blogs/peter_debetta/archive/tags/SQL+Server/default.aspx">SQL Server</category><feedburner:origLink>http://sqlblog.com/blogs/peter_debetta/archive/2012/05/30/sql-vs-oracle-live-debate-aka-smackdown.aspx</feedburner:origLink></item><item><title>Redistribution of sqlpackage.exe [SSDT]</title><link>http://feedproxy.google.com/~r/sqlblog/~3/gjnrSHjI1Mc/redistribution-of-sqlpackage-exe-ssdt.aspx</link><pubDate>Wed, 30 May 2012 14:15:51 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43648</guid><dc:creator>jamiet</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;em&gt;This is a short note for anyone that may be interested in redistributing sqlpackage.exe. If this isn’t you then no need to keep reading. Ostensibly this is here for anyone that bingles for this information.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;sqlpackage.exe is a command-line that ships with SQL Server Development Tools (SSDT) in SQL Server 2012 and its main purpose (amongst other things) is to deploy .dacpac files from the command-line. Its quite conceivable that one might want to install only sqlpackage.exe rather than the full SSDT suite (for example on a production server) and I myself have recently had that need. I enquired to the SSDT product team about the possibility of doing this. I said:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Back in VS DB Proj days it was possible to use VSDBCMD.exe on a machine that did not have the full VS shell install by shipping lots of pre-requisites along for the ride (details at &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd193258.aspx"&gt;&lt;em&gt;How to: Prepare a Database for Deployment From a Command Prompt by Using VSDBCMD.EXE&lt;/em&gt;&lt;/a&gt;&lt;em&gt;).&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Is there a similar mechanism for using VSDBMCD.exe’s replacement, &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx"&gt;&lt;em&gt;sqlpackage.exe&lt;/em&gt;&lt;/a&gt;&lt;em&gt;?&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;here was the reply from Barclay Hill who heads up the development team:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Yes, SQLPackage.exe is the analogy of VSDBCMD.exe. You can acquire separately, in a stand-alone package, by installing DACFX.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;You can get it from:&lt;/em&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;em&gt;Feature pack is here: &lt;/em&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=29065"&gt;&lt;em&gt;http://www.microsoft.com/en-us/download/details.aspx?id=29065&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;em&gt;Web Platform Installer here: &lt;/em&gt;&lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=DACFX"&gt;&lt;em&gt;http://www.microsoft.com/web/gallery/install.aspx?appid=DACFX&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;em&gt;You will notice it has dependencies on SQLDOM and SQLCLRTYPES.&amp;#160; WebPI will install these for you, but it is al carte on the feature pack.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So, now you know. I didn’t enquire about licensing of DACFX but given SSDT is free I am going to assume that the same applies to DACFX too.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43648" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/jamie_thomson/archive/tags/sql+server/default.aspx">sql server</category><category domain="http://sqlblog.com/blogs/jamie_thomson/archive/tags/SQL+Server+Data+Tools/default.aspx">SQL Server Data Tools</category><category domain="http://sqlblog.com/blogs/jamie_thomson/archive/tags/sqlpackage.exe/default.aspx">sqlpackage.exe</category><category domain="http://sqlblog.com/blogs/jamie_thomson/archive/tags/SSDT/default.aspx">SSDT</category><feedburner:origLink>http://sqlblog.com/blogs/jamie_thomson/archive/2012/05/30/redistribution-of-sqlpackage-exe-ssdt.aspx</feedburner:origLink></item><item><title>Ghost Records, Backups, and Database Compression…With a Pinch of Security Considerations</title><link>http://feedproxy.google.com/~r/sqlblog/~3/tw-93_urVpw/ghost-records-backups-and-database-compression-with-a-pinch-of-security-considerations.aspx</link><pubDate>Wed, 30 May 2012 04:12:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43645</guid><dc:creator>Argenis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Today Jeffrey Langdon (@jlangdon) posed on #SQLHelp the following questions:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/argenis_fernandez/image_1B69FE90.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/argenis_fernandez/image_thumb_2F831B19.png" width="311" height="100" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So I set to answer his question, and I said to myself: “Hey, I haven’t blogged in a while, how about I blog about this particular topic?”. Thus, this post was born.&lt;/p&gt;  &lt;p&gt;(If you have never heard of Ghost Records and/or the Ghost Cleanup Task, &lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/Inside-the-Storage-Engine-Ghost-cleanup-in-depth.aspx"&gt;go see this blog post&lt;/a&gt; by Paul Randal)&lt;/p&gt;  &lt;h5&gt;1) Do ghost records get copied over in a backup?&lt;/h5&gt;  &lt;p&gt;If you guessed yes, you guessed right. The backup process in SQL Server takes all data as it is on disk – it doesn’t crack the pages open to selectively pick which slots have actual data and which ones do not. The whole page is backed up, regardless of its contents.&lt;/p&gt;  &lt;p&gt;Even if ghost cleanup has run and processed the ghost records, the slots are not overwritten immediately, but rather until another DML operation comes along and uses them.&lt;/p&gt;  &lt;p&gt;As a matter of fact, all of the allocated space for a database will be included in a full backup.&lt;/p&gt;  &lt;p&gt;So, this poses a bit of a security/compliance problem for some of you DBA folk: if you want to take a full backup of a database after you’ve purged sensitive data, you should rebuild all of your indexes (with FILLFACTOR set to 100%). But the empty space on your data file(s) might still contain sensitive data! A SHRINKFILE might help get rid of that (not so) empty space, but that might not be the end of your troubles. You might _STILL_ have (not so) empty space on your files!&lt;/p&gt;  &lt;p&gt;One approach that you can follow is to export all of the data on your database to another SQL Server instance that does NOT have Instant File Initialization enabled. This can be a tedious and time-consuming process, though. So you have to weigh in your options and see what makes sense for you. Snapshot Replication is another idea that comes to mind.&lt;/p&gt;  &lt;h5&gt;2) Does Compression get rid of ghost records (2008)?&lt;/h5&gt;  &lt;p&gt;The answer to this is no. The Ghost Records/Ghost Cleanup Task mechanism is alive and well on compressed tables and indexes. You can prove this running a simple script:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;CREATE DATABASE GhostRecordsTest      &lt;br /&gt;GO&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;USE GhostRecordsTest      &lt;br /&gt;GO&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;CREATE TABLE myTable (myPrimaryKey int IDENTITY(1,1) PRIMARY KEY CLUSTERED,      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; myWideColumn varchar(1000) NOT NULL DEFAULT 'Default string value')       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;ALTER TABLE myTable REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE)       &lt;br /&gt;GO&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;INSERT INTO myTable DEFAULT VALUES      &lt;br /&gt;GO 10&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;DELETE myTable WHERE myPrimaryKey % 2 = 0&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;DBCC TRACEON(2514)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;DBCC CHECKTABLE(myTable)&lt;/font&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;TraceFlag 2514 will make DBCC CHECKTABLE give you an extra tidbit of information on its output. For the above script: “Ghost Record count = 5”&lt;/p&gt;  &lt;p&gt;Until next time,&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-Argenis&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43645" width="1" height="1"&gt;</description><feedburner:origLink>http://sqlblog.com/blogs/argenis_fernandez/archive/2012/05/29/ghost-records-backups-and-database-compression-with-a-pinch-of-security-considerations.aspx</feedburner:origLink></item><item><title>Windows Azure End to End Examples</title><link>http://feedproxy.google.com/~r/sqlblog/~3/DT1o1e4mOq0/windows-azure-end-to-end-examples.aspx</link><pubDate>Tue, 29 May 2012 13:45:59 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43642</guid><dc:creator>BuckWoody</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I’m fascinated by the way people learn. I’m told there are several methods people use to understand new information, from reading to watching, from experiencing to exploring. &lt;/p&gt;  &lt;p&gt;Personally, I use multiple methods of learning when I encounter a new topic, usually starting with reading a bit about the concepts. I quickly want to put those into practice, however, especially in the technical realm. I immediately look for examples where I can start trying out the concepts. But I often want a “real” example – not just something that represents the concept, but something that is real-world, showing some feature I could actually use. &lt;/p&gt;  &lt;p&gt;And it’s no different with the Windows Azure platform – I like finding things I can do now, and actually use. So when I started learning Windows Azure, &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=8396" target="_blank"&gt;I of course began with the Windows Azure Training Kit&lt;/a&gt; – which has lots of examples and labs, presentations and so on. But from there, I wanted more examples I could learn from, and eventually teach others with. I was asked if I would write a few of those up, so here are the ones I use. &lt;/p&gt;  &lt;h2&gt;CodePlex&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/" target="_blank"&gt;CodePlex is Microsoft’s version of an “Open Source” repository&lt;/a&gt;. Anyone can start a project, add code, documentation and more to it and make it available to the world, free of charge, using various licenses as they wish. Microsoft also uses this location for most of the examples we publish, and sample databases for SQL Server. &lt;/p&gt;  &lt;p&gt;If you search in CodePlex for “Azure”, you’ll come back with a list of projects that folks have posted, including those of us at Microsoft. The source code and documentation are there, so you can learn using actual examples of code that will do what you need. There’s everything from a simple table query to &lt;a href="http://blobshare.codeplex.com/" target="_blank"&gt;a full project that is sort of a “Corporate Dropbox” that uses Windows Azure Storage&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The advantage is that this code is immediately usable. It’s searchable, and you can often find a complete solution to meet your needs. The disadvantage is that the code is pretty specific – it may not cover a huge project like you’re looking for. Also, depending on the author(s), you might not find the documentation level you want. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Link: &lt;a href="http://azureexamples.codeplex.com/site/search?query=Azure&amp;amp;ac=8"&gt;http://azureexamples.codeplex.com/site/search?query=Azure&amp;amp;ac=8&lt;/a&gt;&amp;#160;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Tailspin&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/practices/default" target="_blank"&gt;Microsoft Patterns and Practices&lt;/a&gt; is a group here that does an amazing job at sharing standard ways of doing IT – from operations to coding. If you’re not familiar with this resource, make sure you read up on it. Long before I joined Microsoft I used their work in my daily job – saved a ton of time. It has resources not only for Windows Azure but other Microsoft software as well. &lt;/p&gt;  &lt;p&gt;The Patterns and Practices group also publishes full books – you can buy these, but many are also online for free. There’s an end-to-end example for Windows Azure using a company called “Tailspin”, and the work covers not only the code but the design of the full solution. If you really want to understand the thought that goes into a Platform-as-a-Service solution, this is an excellent resource. &lt;/p&gt;  &lt;p&gt;The advantages are that this is a book, it’s complete, and it includes a discussion of design decisions. The disadvantage is that it’s a little over a year old – and in “Cloud” years that’s a lot. So many things have changed, improved, and have been added that you need to treat this as a resource, but not the only one. Still, highly recommended. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Link: &lt;a href="http://msdn.microsoft.com/en-us/library/ff728592.aspx"&gt;http://msdn.microsoft.com/en-us/library/ff728592.aspx&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;Azure Stock Trader&lt;/h2&gt;  &lt;p&gt;Sometimes you need a mix of a CodePlex-style application, and a little more detail on how it was put together. And it would be great if you could actually play with the completed application, to see how it really functions on the actual platform.&lt;/p&gt;  &lt;p&gt;That’s the Azure Stock Trader application. There’s a place where you can read about the application, and then it’s been published to Windows Azure – the production platform – and you can use it, explore, and see how it performs. &lt;/p&gt;  &lt;p&gt;I use this application all the time to demonstrate Windows Azure, or a particular part of Windows Azure.&lt;/p&gt;  &lt;p&gt;The advantage is that this is an end-to-end application, and online as well. The disadvantage is that it takes a bit of self-learning to work through.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Links: Learn it: &lt;a href="http://msdn.microsoft.com/en-us/netframework/bb499684"&gt;http://msdn.microsoft.com/en-us/netframework/bb499684&lt;/a&gt; Use it: &lt;a href="https://azurestocktrader.cloudapp.net/"&gt;https://azurestocktrader.cloudapp.net/&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43642" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Concepts/default.aspx">Concepts</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Design/default.aspx">Design</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Developer/default.aspx">Developer</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Development/default.aspx">Development</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Downloads/default.aspx">Downloads</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/How+I+work/default.aspx">How I work</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Learning/default.aspx">Learning</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Links/default.aspx">Links</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Planning/default.aspx">Planning</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Technet/default.aspx">Technet</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Tips/default.aspx">Tips</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Tutorials/default.aspx">Tutorials</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Walkthroughs/default.aspx">Walkthroughs</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Web/default.aspx">Web</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><feedburner:origLink>http://sqlblog.com/blogs/buck_woody/archive/2012/05/29/windows-azure-end-to-end-examples.aspx</feedburner:origLink></item><item><title>Wordpress Installation (on IIS and SQL Server)</title><link>http://feedproxy.google.com/~r/sqlblog/~3/IFTS7OaabKQ/wordpress-installation-on-iis-and-sql-server.aspx</link><pubDate>Sun, 27 May 2012 14:14:59 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43603</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>5</slash:comments><description>&lt;p&gt;To proceed with the installation of Wordpress on SQL Server and IIS, first of all, you need to do the following steps&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create a database on SQL Server that will be used by Wordpress&lt;/li&gt;    &lt;li&gt;Create login that can access to the just created database and put the user into ddladmin, db_datareader, db_datawriter roles&lt;/li&gt;    &lt;li&gt;Download and unpack &lt;a href="http://wordpress.org/download/"&gt;Wordpress 3.3.2&lt;/a&gt; (latest version as of 27 May 2012) zip file into a directory of your choice&lt;/li&gt;    &lt;li&gt;Download the &lt;a href="http://wordpress.org/extend/plugins/wordpress-database-abstraction/"&gt;wp-db-abstraction 1.1.4&lt;/a&gt; (latest version as of 27 May 2012) plugin from wordpress.org website&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Now that the basic action has been done, you can start to setup and configure your Wordpress installation.&lt;/p&gt;  &lt;p&gt;Unpack and follow the instructions in the README.TXT file to install the Database Abstraction Layer. Mainly you have to:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Upload wp-db-abstraction.php and the wp-db-abstraction directory to wp-content/mu-plugins.&amp;#160; This should be parallel to your regular plugins directory.&amp;#160; If the mu-plugins directory does not exist, you must create it. &lt;/li&gt;    &lt;li&gt;Put the db.php file from inside the wp-db-abstraction.php directory to wp-content/db.php &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Now you can create an application pool in IIS like the following one&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_331E25CD.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_1F90C62C.png" width="244" height="221" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Create a website, using the above Application Pool, that points to the folder where you unpacked Wordpress files.&lt;/p&gt;  &lt;p&gt;Be sure to give the “Write” permission to the IIS account, as pointed out in this (old, but still quite valid) installation manual:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://wordpress.visitmix.com/development/installing-wordpress-on-sql-server#iis" href="http://wordpress.visitmix.com/development/installing-wordpress-on-sql-server#iis"&gt;http://wordpress.visitmix.com/development/installing-wordpress-on-sql-server#iis&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you’re ready to go. Point your browser to the configured website and the Wordpress installation screen will be there for you.&lt;/p&gt;  &lt;p&gt;When you’re requested to enter information to connect to MySQL database, simply skip that page, leaving the default values. If you have installed the Database Abstraction Layer, another database installation screen will appear after the one used by MySQL, and here you can enter the configuration information needed to connect to SQL Server.&lt;/p&gt;  &lt;p&gt;After having finished the installation steps, you should be able to access and navigate your wordpress site.&amp;#160; A final touch, and it’s done: just add the needed rewrite rules &lt;/p&gt;  &lt;p&gt;&lt;a title="http://wordpress.visitmix.com/development/installing-wordpress-on-sql-server#urlrewrite" href="http://wordpress.visitmix.com/development/installing-wordpress-on-sql-server#urlrewrite"&gt;http://wordpress.visitmix.com/development/installing-wordpress-on-sql-server#urlrewrite&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;and that’s it!&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://sqlblog.com/blogs/davide_mauri/wlEmoticon-smile_44AE1098.png" /&gt;&lt;/p&gt;  &lt;p&gt;Well. Not really. Unfortunately the current (as of 27 May 2012) version of the Database Abstraction Layer (1.1.4) has some bugs. Luckily they can be quickly fixed:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Backslash Fix      &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://wordpress.org/support/topic/plugin-wp-db-abstraction-fix-problems-with-backslash-usage"&gt;http://wordpress.org/support/topic/plugin-wp-db-abstraction-fix-problems-with-backslash-usage&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Select Top 0 Fix      &lt;br /&gt;&lt;/strong&gt;Make the change to the file “.\wp-content\mu-plugins\wp-db-abstraction\translations\sqlsrv\translations.php” suggested by “debettap” &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://sqlblog.com/blogs/davide_mauri/wlEmoticon-winkingsmile_040BC429.png" /&gt;&amp;#160; &lt;a title="http://sourceforge.net/tracker/?func=detail&amp;amp;aid=3485384&amp;amp;group_id=315685&amp;amp;atid=1328061" href="http://sourceforge.net/tracker/?func=detail&amp;amp;aid=3485384&amp;amp;group_id=315685&amp;amp;atid=1328061"&gt;http://sourceforge.net/tracker/?func=detail&amp;amp;aid=3485384&amp;amp;group_id=315685&amp;amp;atid=1328061&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And now you have a 100% working Wordpress installation on SQL Server! &lt;/p&gt;  &lt;p&gt;Since I also wanted to take advantage of SQL Server Full Text Search, I’ve created a very simple wordpress plugin to setup full-text search and to use it as website search engine:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wpfts.codeplex.com/"&gt;http://wpfts.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy! &lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43603" width="1" height="1"&gt;</description><feedburner:origLink>http://sqlblog.com/blogs/davide_mauri/archive/2012/05/27/wordpress-installation-on-iis-and-sql-server.aspx</feedburner:origLink></item><item><title>Executing SSIS 2012 Packages Video is Available!</title><link>http://feedproxy.google.com/~r/sqlblog/~3/jxb7vpQzSsE/executing-ssis-2012-packages-video-is-available.aspx</link><pubDate>Sun, 27 May 2012 01:56:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43598</guid><dc:creator>andyleonard</dc:creator><slash:comments>0</slash:comments><description>The video for the microTraining session on Executing SSIS 2012 Packages is now available here ! :{&amp;gt;...(&lt;a href="http://sqlblog.com/blogs/andy_leonard/archive/2012/05/26/executing-ssis-2012-packages-video-is-available.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43598" width="1" height="1"&gt;</description><feedburner:origLink>http://sqlblog.com/blogs/andy_leonard/archive/2012/05/26/executing-ssis-2012-packages-video-is-available.aspx</feedburner:origLink></item><item><title>T-SQL User-Defined Functions: the good, the bad, and the ugly (part 2)</title><link>http://feedproxy.google.com/~r/sqlblog/~3/jh-IT6cUBko/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-2.aspx</link><pubDate>Sat, 26 May 2012 14:56:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43590</guid><dc:creator>Hugo Kornelis</dc:creator><slash:comments>2</slash:comments><description>In a previous blog post , I demonstrated just how much you can hurt your performance by encapsulating expressions and computations in a user-defined function (UDF). I focused on scalar functions that didn’t include any data access. In this post, I will complete the discussion on scalar UDFs by covering the effect of data access in a scalar UDF. Note that, like the previous post, this all applies to T-SQL user-defined functions only. SQL Server also supports CLR user-defined functions (written in...(&lt;a href="http://sqlblog.com/blogs/hugo_kornelis/archive/2012/05/26/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-2.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43590" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/hugo_kornelis/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://sqlblog.com/blogs/hugo_kornelis/archive/tags/UDF/default.aspx">UDF</category><feedburner:origLink>http://sqlblog.com/blogs/hugo_kornelis/archive/2012/05/26/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-2.aspx</feedburner:origLink></item><item><title>List columns where collation doesn't match database collation</title><link>http://feedproxy.google.com/~r/sqlblog/~3/4qzxDnz89lo/list-columns-where-collation-doesn-t-match-database-collation.aspx</link><pubDate>Wed, 23 May 2012 16:58:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43522</guid><dc:creator>TiborKaraszi</dc:creator><slash:comments>1</slash:comments><description>Below script lists all database/table/column where the column collation doesn't match the database collation. I just wrote it for a migration project and thought I'd share it. I'm sure lots of tings can be improved, but below worked just fine for me for a one-time execution on a number of servers. IF OBJECT_ID ( 'tempdb..#res' ) IS NOT NULL DROP TABLE #res GO DECLARE @db sysname , @sql nvarchar ( 2000 ) CREATE TABLE #res ( server_name sysname , db_name sysname , db_collation sysname , table_name...(&lt;a href="http://sqlblog.com/blogs/tibor_karaszi/archive/2012/05/23/list-columns-where-collation-doesn-t-match-database-collation.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43522" width="1" height="1"&gt;</description><feedburner:origLink>http://sqlblog.com/blogs/tibor_karaszi/archive/2012/05/23/list-columns-where-collation-doesn-t-match-database-collation.aspx</feedburner:origLink></item><item><title>Windows Azure Myths</title><link>http://feedproxy.google.com/~r/sqlblog/~3/oux9ze5PB10/windows-azure-myths.aspx</link><pubDate>Tue, 22 May 2012 13:56:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43498</guid><dc:creator>BuckWoody</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;Windows Azure is part of the Microsoft "stack" - the suite of software and services we offer. Because we have so many products in almost every part of technology, it's hard to know everything about all parts of what we do - even for those of us who work here. So it's no surprise that some folks are not as familiar with Windows and SQL Azure as they are, say Windows Server or XBox.&lt;/p&gt;
&lt;p&gt;As I chat with folks about a solution for a business or organization need, I put Windows Azure into the mix. I always start off with "What do you already know about Windows Azure?" so that I don't bore folks with information they already have. I some cases they've checked out the product ahead of time and have specific questions, in others they aren't as familiar, and in still others there is a fair amount of mis-information. Sometimes that's because of a marketing failure, sometimes it's hearsay, and somtetimes it's active misinformation.&lt;/p&gt;
&lt;p&gt;I thought I might lay out a few of these misconceptions. As always - do your fact-checking! Never take anyone's word alone (including mine) as gospel. Make sure you educate yourself on your options. Your company or your clients depend on you to have the right information on IT, so make sure you live up to that.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Myth 1: Nobody uses Windows Azure&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;It's true that we don't give out numbers on the amount of clients on Windows and SQL Azure. But lots of folks are here - companies you may have heard of like Boeing, NASA, Fujitsu, The City of London, Nuedesic, and many others. I deal with firms small and large that use Windows Azure for mission-critical applications, sometimes totally on Windows and/or SQL Azure, sometimes in conjunction with an on-premises system, sometimes for only a specific component in Windows Azure like storage.&lt;/p&gt;
&lt;p&gt;The interesting thing is that many sites you visit have a Windows Azure component, or are running on Windows Azure. They just don't announce it. Just like the other cloud providers, the companies have asked to be completely branded themselves - they don't want you to be aware or care that they are on Windows Azure. Sometimes that's for security, other times it's for different reasons. It's just like the web sites you visit. For the most part, they don't advertise which OS or Web Server they use. It really just shouldn't matter. The point is that they just use what works to solve a given problem.&lt;/p&gt;
&lt;p&gt;Check out a few public case studies here: &lt;a href="https://www.windowsazure.com/en-us/home/case-studies/"&gt;https://www.windowsazure.com/en-us/home/case-studies/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Myth 2: It's only for Microsoft stuff - can't use Open Source&lt;/h2&gt;
&lt;p&gt;This is the one I face the most, and am the most dismayed by. We work just fine with many open source products, including Java, NodeJS, PHP, Ruby, Python, Hadoop, and many other languages and applications. You can quickly deploy a Wordpress, Umbraco and other "kits". We have software development kits (SDK's) for iPhones, iPads, Android, Windows phones and more. We have an SDK to work with FaceBook and other social networks.&lt;/p&gt;
&lt;p&gt;In short, we play well with others.&lt;/p&gt;
&lt;p&gt;More on the languages and runtimes we support here: &lt;a href="https://www.windowsazure.com/en-us/develop/overview/"&gt;https://www.windowsazure.com/en-us/develop/overview/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;More on the SDK's here: &lt;a href="http://www.wadewegner.com/2011/05/windows-azure-toolkit-for-ios/,"&gt;http://www.wadewegner.com/2011/05/windows-azure-toolkit-for-ios/,&lt;/a&gt; &lt;a href="http://www.wadewegner.com/2011/08/windows-azure-toolkits-for-devices-now-with-android/,"&gt;http://www.wadewegner.com/2011/08/windows-azure-toolkits-for-devices-now-with-android/,&lt;/a&gt; &lt;a href="http://azuretoolkit.codeplex.com/"&gt;http://azuretoolkit.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Myth 3: Microsoft expects me to switch everything to "the cloud"&lt;/h2&gt;
&lt;p&gt;No, we don't. That would be disasterous, unless the only things you run in your company uses works perfectly in Azure. Use Windows Azure&amp;nbsp; - or any cloud for that matter - where it works.&lt;/p&gt;
&lt;p&gt;Whenever I talk to companies, I focus on two things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Something that is broken and needs to be re-architected&lt;/li&gt;
&lt;li&gt;Something you want to do that is new&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If something is broken, and you need new tools to scale, extend, add capacity dynamically and so on, then you can consider using Windows or SQL Azure. It can help solve problems that you have, or it may include a component you don't want to write or architect yourself.&lt;/p&gt;
&lt;p&gt;Sometimes you want to do something new, like extend your company's offerings to mobile phones, to the web, or to a social network.&lt;/p&gt;
&lt;p&gt;More info on where it works here: &lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Myth 4: I have to write code to use Windows and SQL Azure&lt;/h2&gt;
&lt;p&gt;If Windows Azure is a PaaS - a Platform as a Service - then don't you have to write code to use it?&lt;/p&gt;
&lt;p&gt;Nope.&lt;/p&gt;
&lt;p&gt;Windows and SQL Azure are made up of various components. Some of those components allow you to write and deploy code (like Compute) and others don't. We have lots of customers using Windows Azure storage as a backup, to securely share files instead of using DropBox, to distribute videos or code or firmware, and more. Others use our High Performance Computing (HPC) offering to rent a supercomputer when they need one. You&amp;nbsp;can even throw workloads at that using Excel!&lt;/p&gt;
&lt;p&gt;In addition there are lots of other components in Windows Azure you can use, from the Windows Azure Media Services to others. More here: &lt;a href="https://www.windowsazure.com/en-us/home/scenarios/saas/"&gt;https://www.windowsazure.com/en-us/home/scenarios/saas/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Myth 5: Windows Azure is just another form of "vendor lock-in"&lt;/h2&gt;
&lt;p&gt;Windows Azure uses .NET, OSS languages and standard interfaces for the code. Sure, you're not going to take the code line-for-line and run it on a mainframe, but it's standard code that you write, and can port to something else.&lt;/p&gt;
&lt;p&gt;And the data is yours - you can bring it back whever you want. It's either in text or binary form, that you have complete control over.&lt;/p&gt;
&lt;p&gt;There are no licenses - you can "pay as you go", and when you're done, you can leave the service and take all your code, data and IP with you.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So go out there, read up, try it. Use it where it works. And don't believe everything you hear - sometimes the Internet doesn't get it all correct. :)&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43498" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><feedburner:origLink>http://sqlblog.com/blogs/buck_woody/archive/2012/05/22/windows-azure-myths.aspx</feedburner:origLink></item><item><title>SSIS Reporting Pack v0.4 – Execution Report updated</title><link>http://feedproxy.google.com/~r/sqlblog/~3/4zRe5uoejBU/ssis-reporting-pack-v0-4-execution-report-updated.aspx</link><pubDate>Tue, 22 May 2012 08:22:38 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43486</guid><dc:creator>jamiet</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;SSIS Reporting Pack is a suite of reports that I maintain at &lt;a href="http://ssisreportingpack.codeplex.com/"&gt;http://ssisreportingpack.codeplex.com/&lt;/a&gt; that provide visualisation over the SSIS Catalog in SQL Server 2012 and attempt to add value over the reports that ship in the box. Work on the reports has stalled (my last &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/tags/SSIS+Reporting+Pack/default.aspx" target="_blank"&gt;SSIS Reporting Pack&lt;/a&gt; blog post was on &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2011/09/04/ssis-reporting-pack-v0-2-now-available.aspx" target="_blank"&gt;4th September 2011&lt;/a&gt;) as I’ve had &lt;a href="https://twitter.com/#!/jamiet/status/184287987960512512" target="_blank"&gt;rather more important things&lt;/a&gt; going on my life of late however I have recently checked-in a fix that couldn’t really be delayed.&lt;/p&gt;  &lt;p&gt;I discovered a problem with the Execution report that was causing the report to effectively hang, it was caused by this bit of SQL hidden away in the report definition:&lt;/p&gt;  &lt;pre style="font-size:12px;"&gt;&lt;font color="black"&gt;[generated_executables] &lt;/font&gt;&lt;font color="blue"&gt;AS &lt;/font&gt;&lt;font color="gray"&gt;(&lt;br /&gt;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;SELECT&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[new_executable].[execution_path]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;[new_executable].[parent_execution_path]&lt;br /&gt;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;FROM&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="gray"&gt;(&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;SELECT&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[execution_path] &lt;/font&gt;&lt;font color="blue"&gt;= &lt;/font&gt;&lt;font color="magenta"&gt;SUBSTRING&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="black"&gt;[loop_iteration].[execution_path] &lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;1&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;font color="black"&gt;[loop_iteration].length_exec_path &lt;/font&gt;&lt;font color="gray"&gt;- &lt;/font&gt;&lt;font color="black"&gt;[loop_iteration].[char_index_close_square] &lt;/font&gt;&lt;font color="gray"&gt;+ &lt;/font&gt;&lt;font color="black"&gt;1&lt;/font&gt;&lt;font color="gray"&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[parent_execution_path] &lt;/font&gt;&lt;font color="blue"&gt;= &lt;/font&gt;&lt;font color="magenta"&gt;SUBSTRING&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="black"&gt;[loop_iteration].[execution_path] &lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;1&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;font color="black"&gt;[loop_iteration].length_exec_path &lt;/font&gt;&lt;font color="gray"&gt;- &lt;/font&gt;&lt;font color="black"&gt;[loop_iteration].[char_index_open_square]&lt;/font&gt;&lt;font color="gray"&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;FROM&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="gray"&gt;(&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;SELECT&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[execution_path]&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="gray"&gt;,&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[char_index_open_square] &lt;/font&gt;&lt;font color="blue"&gt;= CHARINDEX&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="red"&gt;'['&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="magenta"&gt;REVERSE&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="black"&gt;[execution_path]&lt;/font&gt;&lt;font color="gray"&gt;),&lt;/font&gt;&lt;font color="black"&gt;1&lt;/font&gt;&lt;font color="gray"&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[char_index_close_square] &lt;/font&gt;&lt;font color="blue"&gt;= CHARINDEX&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="red"&gt;']'&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="magenta"&gt;REVERSE&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="black"&gt;[execution_path]&lt;/font&gt;&lt;font color="gray"&gt;),&lt;/font&gt;&lt;font color="black"&gt;1&lt;/font&gt;&lt;font color="gray"&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[length_exec_path] &lt;/font&gt;&lt;font color="blue"&gt;= &lt;/font&gt;&lt;font color="magenta"&gt;LEN&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="black"&gt;[execution_path]&lt;/font&gt;&lt;font color="gray"&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;FROM&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[exec_stats] es&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;WHERE&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;execution_path &lt;/font&gt;&lt;font color="gray"&gt;LIKE &lt;/font&gt;&lt;font color="red"&gt;'%\[%]%'&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;ESCAPE &lt;/font&gt;&lt;font color="red"&gt;'\'&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="gray"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;AS &lt;/font&gt;&lt;font color="black"&gt;[loop_iteration]&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="gray"&gt;) &lt;/font&gt;&lt;font color="blue"&gt;AS &lt;/font&gt;&lt;font color="black"&gt;[new_executable]&lt;br /&gt;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;GROUP&amp;#160;&amp;#160; BY &lt;/font&gt;&lt;font color="black"&gt;[new_executable].[execution_path]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;[new_executable].[parent_execution_path]&lt;br /&gt;&lt;/font&gt;&lt;font color="gray"&gt;)&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;It was there because SSIS does not currently treat a loop iteration as an executable yet I figured there was still value in being able to view it as such – this SQL essentially “invents” new executables for those loop iterations; its what enabled the following visualisation:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_729220C0.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_420B767D.png" width="971" height="181" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;where each of the three iterations of a For Each Loop called “FEL Loop over top performing regions” appear in the report. Unfortunately, as I alluded, this could under certain circumstances (most likely when there were many loop iterations) cause the report to hang as it waited for the results to be constructed and returned.&lt;/p&gt;

&lt;p&gt;The change that I have made eradicates this generation of “fake” executables and thus produces this visualisation instead:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_220CA15B.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_61C66213.png" width="964" height="248" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notice that the three “children” of the For Each Loop are no longer the three iterations but actually the task (“EPT Call Data Export Package”) contained within that For Each Loop. The problem here is of course that there is no longer a visual distinction between those three iterations; I have instead made the full execution path viewable via a tooltip:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_5F993D7D.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_3B44332E.png" width="682" height="92" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;If you preferred the “old” way of presenting this information and are happy to put up with the performance degradation then I have kept the old version of the report hanging around in the reporting pack as “execution loop with iterations”&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_2920C824.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_47F73C02.png" width="223" height="58" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;however none of the other reports link to it so you will have to browse to it manually if you want to use it. Please let me know if you ARE using it – I would be very interested to hear about your experiences.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;The last change to make you aware of in the execution report is that by default I no longer show OnPreValidate or OnPostValidate messages as I consider them to be superfluous and only serve to clutter up the results.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_067C89A9.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_76F977D9.png" width="280" height="445" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to put them back, well, its open source so go right ahead!&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;The latest release of SSIS Reporting Pack that contains all of these changes is v0.4 and can be downloaded from &lt;a href="http://ssisreportingpack.codeplex.com/releases/view/88178"&gt;http://ssisreportingpack.codeplex.com/releases/view/88178&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Feedback on all of the above changes would be very much appreciated.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://twitter.com/jamiet"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43486" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/jamie_thomson/archive/tags/SSIS+Reporting+Pack/default.aspx">SSIS Reporting Pack</category><feedburner:origLink>http://sqlblog.com/blogs/jamie_thomson/archive/2012/05/22/ssis-reporting-pack-v0-4-execution-report-updated.aspx</feedburner:origLink></item><item><title>Cumulative Updates available for SQL Server 2008 SP2 &amp; SP3</title><link>http://feedproxy.google.com/~r/sqlblog/~3/YcRUcKhgUyY/cumulative-updates-available-for-sql-server-2008-sp2-sp3.aspx</link><pubDate>Mon, 21 May 2012 19:35:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43478</guid><dc:creator>AaronBertrand</dc:creator><slash:comments>1</slash:comments><description>Today Microsoft has released two new cumulative updates for SQL Server 2008. Cumulative Update #10 for SQL Server 2008 Service Pack 2 Knowledge Base Article: KB #2696625 At the time of writing, there is one fix listed The build number is 10.00.4332 Cumulative Update #5 for SQL Server 2008 Service Pack 3 Knowledge Base Article: KB #2696626 At the time of writing, there are four fixes listed The build number is 10.00.5785 As usual, I'll post my standard disclaimer here: these updates are NOT for SQL...(&lt;a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2012/05/21/cumulative-updates-available-for-sql-server-2008-sp2-sp3.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43478" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/cumulative+updates/default.aspx">cumulative updates</category><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/hotfixes/default.aspx">hotfixes</category><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/patches/default.aspx">patches</category><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/service+pack+2/default.aspx">service pack 2</category><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/service+pack+3/default.aspx">service pack 3</category><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><feedburner:origLink>http://sqlblog.com/blogs/aaron_bertrand/archive/2012/05/21/cumulative-updates-available-for-sql-server-2008-sp2-sp3.aspx</feedburner:origLink></item><item><title>Extracting GPS Data from JPG files</title><link>http://feedproxy.google.com/~r/sqlblog/~3/pWJtIyQkqZo/extracting-gps-data-from-jpg-files.aspx</link><pubDate>Mon, 21 May 2012 19:14:27 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43477</guid><dc:creator>Peter W. DeBetta</dc:creator><slash:comments>0</slash:comments><description>I have been very remiss in posting lately. Unfortunately, much of what I do now involves client work that I cannot post. Fortunately, someone asked me how he could get a formatted list (e.g. tab-delimited) of files with GPS data from those files. He also added the constraint that this could not be a new piece of software (company security) and had to be scriptable. I did some searching around, and found some techniques for extracting GPS data, but was unable to find a complete solution. So, I did...(&lt;a href="http://sqlblog.com/blogs/peter_debetta/archive/2012/05/21/extracting-gps-data-from-jpg-files.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43477" width="1" height="1"&gt;</description><feedburner:origLink>http://sqlblog.com/blogs/peter_debetta/archive/2012/05/21/extracting-gps-data-from-jpg-files.aspx</feedburner:origLink></item><item><title>T-SQL User-Defined Functions: the good, the bad, and the ugly (part 1)</title><link>http://feedproxy.google.com/~r/sqlblog/~3/lcXn-_z7PR4/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-1.aspx</link><pubDate>Sun, 20 May 2012 14:08:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43466</guid><dc:creator>Hugo Kornelis</dc:creator><slash:comments>21</slash:comments><description>So you thought that encapsulating code in user-defined functions for easy reuse is a good idea? Think again! SQL Server supports three types of user-defined functions. Only one of them qualifies as good. The other two – well, the title says it all, doesn’t it? The bad: scalar functions A scalar user-defined function (UDF) is very much like a stored procedure, except that it always returns a single value of a predefined data type – and because of that property, it isn’t invoked with an EXECUTE statement,...(&lt;a href="http://sqlblog.com/blogs/hugo_kornelis/archive/2012/05/20/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-1.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43466" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/hugo_kornelis/archive/tags/Personal/default.aspx">Personal</category><category domain="http://sqlblog.com/blogs/hugo_kornelis/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://sqlblog.com/blogs/hugo_kornelis/archive/tags/UDF/default.aspx">UDF</category><feedburner:origLink>http://sqlblog.com/blogs/hugo_kornelis/archive/2012/05/20/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-1.aspx</feedburner:origLink></item><item><title>SSAS DMVs: useful links</title><link>http://feedproxy.google.com/~r/sqlblog/~3/8_rI0EKgn-s/ssas-dmvs-useful-links.aspx</link><pubDate>Fri, 18 May 2012 14:47:42 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43450</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;From time to time happens that I need to extract metadata informations from Analysis Services DMVS in order to quickly get an overview of the entire situation and/or drill down to detail level. As a memo I post the link I use most when need to get documentation on SSAS Objects Data DMVs:&lt;/p&gt;  &lt;p&gt;SSAS: Using DMV Queries to get Cube Metadata   &lt;br /&gt;&lt;a title="http://bennyaustin.wordpress.com/2011/03/01/ssas-dmv-queries-cube-metadata/" href="http://bennyaustin.wordpress.com/2011/03/01/ssas-dmv-queries-cube-metadata/"&gt;http://bennyaustin.wordpress.com/2011/03/01/ssas-dmv-queries-cube-metadata/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;SSAS DMV (Dynamic Management View)    &lt;br /&gt;&lt;a title="http://dwbi1.wordpress.com/2010/01/01/ssas-dmv-dynamic-management-view/" href="http://dwbi1.wordpress.com/2010/01/01/ssas-dmv-dynamic-management-view/"&gt;http://dwbi1.wordpress.com/2010/01/01/ssas-dmv-dynamic-management-view/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Use Dynamic Management Views (DMVs) to Monitor Analysis Services   &lt;br /&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/hh230820.aspx" href="http://msdn.microsoft.com/en-us/library/hh230820.aspx"&gt;http://msdn.microsoft.com/en-us/library/hh230820.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43450" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/2008/default.aspx">2008</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/2008+R2/default.aspx">2008 R2</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/2012/default.aspx">2012</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/DMV/default.aspx">DMV</category><feedburner:origLink>http://sqlblog.com/blogs/davide_mauri/archive/2012/05/18/ssas-dmvs-useful-links.aspx</feedburner:origLink></item><item><title>Azure Trust Services</title><link>http://feedproxy.google.com/~r/sqlblog/~3/Q5xsNDSa_OM/azure-trust-services.aspx</link><pubDate>Fri, 18 May 2012 14:35:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43442</guid><dc:creator>KKline</dc:creator><slash:comments>1</slash:comments><description>Microsoft recently launched Trust Services for Windows Azure, an application-level encryption framework that can be used to protect sensitive data stored on the Windows Azure Platform.  Read more......(&lt;a href="http://sqlblog.com/blogs/kevin_kline/archive/2012/05/18/azure-trust-services.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43442" width="1" height="1"&gt;</description><feedburner:origLink>http://sqlblog.com/blogs/kevin_kline/archive/2012/05/18/azure-trust-services.aspx</feedburner:origLink></item><item><title>'Backup Completed' is NOT an Error Message</title><link>http://feedproxy.google.com/~r/sqlblog/~3/He0_kh4DZuY/backup-completed-is-not-an-error-message.aspx</link><pubDate>Thu, 17 May 2012 13:40:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43431</guid><dc:creator>KKline</dc:creator><slash:comments>12</slash:comments><description>I recommend that you set your SQL Server to use the startup traceflag DBCC TRACEON (3226) to disable backup success message......(&lt;a href="http://sqlblog.com/blogs/kevin_kline/archive/2012/05/17/backup-completed-is-not-an-error-message.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43431" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/kevin_kline/archive/tags/Administration/default.aspx">Administration</category><category domain="http://sqlblog.com/blogs/kevin_kline/archive/tags/Backup/default.aspx">Backup</category><category domain="http://sqlblog.com/blogs/kevin_kline/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category><feedburner:origLink>http://sqlblog.com/blogs/kevin_kline/archive/2012/05/17/backup-completed-is-not-an-error-message.aspx</feedburner:origLink></item><item><title>Flexibility When Waiting on Locks</title><link>http://feedproxy.google.com/~r/sqlblog/~3/mKrTSCDKILs/flexibility-when-waiting-on-locks.aspx</link><pubDate>Thu, 17 May 2012 13:29:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43427</guid><dc:creator>KKline</dc:creator><slash:comments>2</slash:comments><description>An attendee at a recent performance tuning session wanted ideas to more flexibly react to locks on blocks than using the WITH (NOLOCK) hint....(&lt;a href="http://sqlblog.com/blogs/kevin_kline/archive/2012/05/17/flexibility-when-waiting-on-locks.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43427" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/kevin_kline/archive/tags/Developer/default.aspx">Developer</category><category domain="http://sqlblog.com/blogs/kevin_kline/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category><category domain="http://sqlblog.com/blogs/kevin_kline/archive/tags/Tips/default.aspx">Tips</category><category domain="http://sqlblog.com/blogs/kevin_kline/archive/tags/Transact-SQL+Programming/default.aspx">Transact-SQL Programming</category><feedburner:origLink>http://sqlblog.com/blogs/kevin_kline/archive/2012/05/17/flexibility-when-waiting-on-locks.aspx</feedburner:origLink></item><item><title>MicroTraining: Executing SSIS 2012 Packages 22 May 10:00 AM EDT (Free!)</title><link>http://feedproxy.google.com/~r/sqlblog/~3/e83sSBr9jNw/microtraining-executing-ssis-2012-packages-22-may-10-00-am-edt-free.aspx</link><pubDate>Wed, 16 May 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43381</guid><dc:creator>andyleonard</dc:creator><slash:comments>0</slash:comments><description>I am pleased to announce the latest (free!) Linchpin People microtraining event will be held Tuesday 22 May 2012 at 10:00 AM EDT. The topic will be Executing SSIS 2012 Packages. In this presentation, I will be demonstrating several ways to execute SSIS 2012 packages. Register here ! Interested in learning about more microtraining from Linchpin People – before anyone else? Sign up for our newsletter ! :{&amp;gt;...(&lt;a href="http://sqlblog.com/blogs/andy_leonard/archive/2012/05/16/microtraining-executing-ssis-2012-packages-22-may-10-00-am-edt-free.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43381" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andy_leonard/archive/tags/MicroTraining/default.aspx">MicroTraining</category><category domain="http://sqlblog.com/blogs/andy_leonard/archive/tags/SSIS/default.aspx">SSIS</category><category domain="http://sqlblog.com/blogs/andy_leonard/archive/tags/SSIS+2012/default.aspx">SSIS 2012</category><category domain="http://sqlblog.com/blogs/andy_leonard/archive/tags/Training/default.aspx">Training</category><feedburner:origLink>http://sqlblog.com/blogs/andy_leonard/archive/2012/05/16/microtraining-executing-ssis-2012-packages-22-may-10-00-am-edt-free.aspx</feedburner:origLink></item><item><title>Book Review (Book 11) - Applied Architecture Patterns on the Microsoft Platform</title><link>http://feedproxy.google.com/~r/sqlblog/~3/pk8FkoZFA6Y/book-review-book-11-applied-architecture-patterns-on-the-microsoft-platform.aspx</link><pubDate>Tue, 15 May 2012 16:50:34 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43364</guid><dc:creator>BuckWoody</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;This is a continuation of the books I challenged myself to read to help my career - one a month, for year. &lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/06/28/book-review-programming-windows-azure-by-siriram-krishnan.aspx"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0066cc;"&gt;You can read my first book review here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;, and &lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/06/07/head-in-the-clouds-eyes-on-the-books.aspx" target="_blank"&gt;the entire list is here&lt;/a&gt;. The book I chose for April 2012 was: &lt;a href="http://www.amazon.com/Applied-Architecture-Patterns-Microsoft-Platform/dp/184968054X" target="_blank"&gt;Applied Architecture Patterns on the Microsoft Platform&lt;/a&gt;. I was traveling at the end of last month so I&amp;rsquo;m a bit late posting this review here.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why I chose this book: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I actually know a few of the authors on this book, so when they told me about it I wanted to check it out. The premise of the book is exactly as it states in the title - to learn how to solve a problem using products from Microsoft.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What I learned:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I liked the book - a lot. They've arranged the content in a "Solution Decision Framework", that presents a few elements to help you identify a need and then propose alternate solutions to solve them, and then the rationale for the choice. But the payoff is that the authors then walk through the solution they implement and what they ran into doing it.&lt;/p&gt;
&lt;p&gt;I really liked this approach. It's not a huge book, but one I've referred to again since I've read it. It's fairly comprehensive, and includes server-oriented products, not things like Microsoft Office or other client-side tools. In fact, I would LOVE to have a work like this for Open Source and other vendors as well - would make for a&amp;nbsp;great library for a Systems Architect. This one is unashamedly aimed at the Microsoft products, and even if I didn't work here, I'd be fine with that. As I said, it would be interesting to see some books on other platforms like this, but I haven't run across something that presents other systems in quite this way.&lt;/p&gt;
&lt;p&gt;And that brings up an interesting point - This book is aimed at folks who create solutions within an organization. It's not aimed at Administrators, DBA's, Developers or the like, although I think all of those audiences could benefit from reading it. The solutions are made up, and not to a huge level of depth - nor should they be. It's a great exercise in thinking these kinds of things through in a structured way.&lt;/p&gt;
&lt;p&gt;The information is a bit dated, especially for Windows and SQL Azure. While the general concepts hold, the cloud platform from Microsoft is evolving so quickly that any printed book finds it hard to keep up with the improvements.&lt;/p&gt;
&lt;p&gt;I do have one quibble with the text - the chapters are a bit uneven. This is always a danger with multiple authors, but it shows up in a couple of chapters. I winced at one of the chapters that tried to take a more conversational, humorous style. This kind of academic work doesn't lend itself to that style.&lt;/p&gt;
&lt;p&gt;I recommend you get the book - and use it. I hope they keep it updated - I'll be a frequent customer. :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43364" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Application+Architecture/default.aspx">Application Architecture</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Book+Review/default.aspx">Book Review</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Career/default.aspx">Career</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Concepts/default.aspx">Concepts</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Design/default.aspx">Design</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Tips/default.aspx">Tips</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><feedburner:origLink>http://sqlblog.com/blogs/buck_woody/archive/2012/05/15/book-review-book-11-applied-architecture-patterns-on-the-microsoft-platform.aspx</feedburner:origLink></item><item><title>Messages do not always appear in [catalog].[event_messages] in the order that they occur [SSIS]</title><link>http://feedproxy.google.com/~r/sqlblog/~3/zNQusMJ9EOE/messages-do-not-always-appear-in-catalog-event-messages-in-the-order-that-they-occur.aspx</link><pubDate>Tue, 15 May 2012 15:07:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43361</guid><dc:creator>jamiet</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;This is a simple heads up for anyone doing SQL Server Integration Services (SSIS) development using SSIS 2012. Be aware that messages do not always appear in &lt;font face="Courier New"&gt;[catalog].[event_messages]&lt;/font&gt; in the order that they occur, observe…&lt;/p&gt;  &lt;p&gt;In the following query I am looking at a subset of messages in &lt;font face="Courier New"&gt;[catalog].[event_messages]&lt;/font&gt; and ordering them by [event_message_id]:&lt;/p&gt;  &lt;pre style="font-size:12px;"&gt;&lt;font color="blue"&gt;SELECT &lt;/font&gt;&lt;font color="black"&gt;[event_message_id]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;[event_name]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;[message_time]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;[message_source_name]&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;FROM&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[catalog].[event_messages] em&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;WHERE&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[event_message_id] &lt;/font&gt;&lt;font color="gray"&gt;BETWEEN &lt;/font&gt;&lt;font color="black"&gt;290972 &lt;/font&gt;&lt;font color="gray"&gt;AND &lt;/font&gt;&lt;font color="black"&gt;290982&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;ORDER&amp;#160; BY &lt;/font&gt;&lt;font color="black"&gt;[event_message_id] &lt;/font&gt;&lt;font color="blue"&gt;ASC&lt;br /&gt;&lt;/font&gt;&lt;font color="green"&gt;--ORDER	BY [message_time] ASC&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_09039236.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_7DAA582B.png" width="765" height="301" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Take a look at the two rows that I have highlighted, note how the OnPostExecute event for “Utility GetTargetLoadDatesPerETLIfcName” appears after the OnPreExecute event for “FELC Loop over TargetLoadDates”, I happen to know that this is incorrect because “Utility GetTargetLoadDatesPerETLIfcName” is a package that gets executed by an Execute Package Task &lt;i&gt;prior&lt;/i&gt; to the For Each Loop “FELC Loop over TargetLoadDates”:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_22C7A298.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_61B92333.png" width="602" height="158" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we order instead by [message_time] then we see something that makes more sense:&lt;/p&gt;

&lt;pre style="font-size:12px;"&gt;&lt;font color="blue"&gt;SELECT &lt;/font&gt;&lt;font color="black"&gt;[event_message_id]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;[event_name]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;[message_time]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;[message_source_name]&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;FROM&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[catalog].[event_messages] em&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;WHERE&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;[event_message_id] &lt;/font&gt;&lt;font color="gray"&gt;BETWEEN &lt;/font&gt;&lt;font color="black"&gt;290972 &lt;/font&gt;&lt;font color="gray"&gt;AND &lt;/font&gt;&lt;font color="black"&gt;290982&lt;br /&gt;&lt;/font&gt;&lt;font color="green"&gt;--ORDER	BY [event_message_id] ASC&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;ORDER&amp;#160; BY &lt;/font&gt;&lt;font color="black"&gt;[message_time] &lt;/font&gt;&lt;font color="blue"&gt;ASC&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_6E835384.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_6215305B.png" width="765" height="284" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can see that the OnPostExecute for “Utility GetTargetLoadDatesPerETLIfcName” did indeed occur before the OnPreExecute event for “FELC Loop over TargetLoadDates”, they just did not get assigned an &lt;font face="Courier New"&gt;[event_message_id]&lt;/font&gt; in chronological order. We can speculate as to why that might be (I suspect the explanation is something to do with the two executables appearing in different packages) but the reason is not the important thing here, just be aware that you should be ordering by &lt;font face="Courier New"&gt;[message_time]&lt;/font&gt; rather than &lt;font face="Courier New"&gt;[event_message_id] &lt;/font&gt;if you want to get 100% accurate insights into your executions.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://twitter.com/jamiet"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43361" width="1" height="1"&gt;</description><feedburner:origLink>http://sqlblog.com/blogs/jamie_thomson/archive/2012/05/15/messages-do-not-always-appear-in-catalog-event-messages-in-the-order-that-they-occur.aspx</feedburner:origLink></item><item><title>How SQL Saturday could be better</title><link>http://feedproxy.google.com/~r/sqlblog/~3/67YPBk6Dp1Q/how-sql-saturday-could-be-better.aspx</link><pubDate>Tue, 15 May 2012 12:58:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43352</guid><dc:creator>AaronBertrand</dc:creator><slash:comments>23</slash:comments><description>I've been to a lot of SQL Saturdays. They are great events to attend - from a community standpoint, from a learning standpoint, and from a speaker growth standpoint. Who could ask for more, right? Great sessions, from passionate speakers willing to both teach and learn, fantastic networking opportunities and lunch. All for free, or at a very low cost - some events need to recover costs and charge $10 for lunch. Still a phenomenal bargain IMHO. But we all know that these events aren't perfect... there...(&lt;a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2012/05/15/how-sql-saturday-could-be-better.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43352" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/community/default.aspx">community</category><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/organizing/default.aspx">organizing</category><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/speaking/default.aspx">speaking</category><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/SQL+Saturday/default.aspx">SQL Saturday</category><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/sqlfamily/default.aspx">sqlfamily</category><category domain="http://sqlblog.com/blogs/aaron_bertrand/archive/tags/volunteering/default.aspx">volunteering</category><feedburner:origLink>http://sqlblog.com/blogs/aaron_bertrand/archive/2012/05/15/how-sql-saturday-could-be-better.aspx</feedburner:origLink></item></channel></rss>

