<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.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>Davide Mauri : SQL Server</title><link>http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx</link><description>Tags: SQL Server</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>SQL Server 2008R2 / 2012 Standard &amp; Backup Compression</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2013/03/25/sql-server-2008r2-2012-standard-backup-compression.aspx</link><pubDate>Mon, 25 Mar 2013 13:17:06 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:48402</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/48402.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=48402</wfw:commentRss><description>&lt;p align="left"&gt;This is something that is totally overlooked, in my experience, with SQL Server 2008 R2 and SQL Server 2012. On the contrary to what happens with SQL Server 2008, &lt;strong&gt;the Standard version of SQL Server 2008R2 &amp;amp; SQL Server 2012 supports backup compression:&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="left"&gt;SQL Server 2008 R2 BOL      &lt;br /&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/cc645993(v=sql.105).aspx" href="http://msdn.microsoft.com/en-us/library/cc645993(v=sql.105).aspx"&gt;http://msdn.microsoft.com/en-us/library/cc645993(v=sql.105).aspx&lt;/a&gt;&lt;/p&gt; SQL Server 2012 BOL     &lt;br /&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/cc645993(v=sql.110).aspx" href="http://msdn.microsoft.com/en-us/library/cc645993(v=sql.110).aspx"&gt;http://msdn.microsoft.com/en-us/library/cc645993(v=sql.110).aspx&lt;/a&gt;&lt;/blockquote&gt;  &lt;p align="left"&gt;Unfortunately a bug in the documentation said the opposite in the past, but it has been fixed quite a long ago now:&lt;/p&gt;  &lt;p align="left"&gt;&lt;a title="http://social.msdn.microsoft.com/Forums/en-US/sqldocumentation/thread/b4f846e8-a339-422c-bb0b-91751e6c8560/" href="http://social.msdn.microsoft.com/Forums/en-US/sqldocumentation/thread/b4f846e8-a339-422c-bb0b-91751e6c8560/"&gt;http://social.msdn.microsoft.com/Forums/en-US/sqldocumentation/thread/b4f846e8-a339-422c-bb0b-91751e6c8560/&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;Just keep it mind &lt;img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="http://sqlblog.com/blogs/davide_mauri/wlEmoticon-smile_79F83E82.png" /&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=48402" width="1" height="1"&gt;</description><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/Administration/default.aspx">Administration</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Backup/default.aspx">Backup</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>Trapping SQL Server Errors with Extended Events</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2013/03/17/trapping-sql-server-errors-with-extended-events.aspx</link><pubDate>Sun, 17 Mar 2013 16:45:06 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:48282</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/48282.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=48282</wfw:commentRss><description>&lt;p&gt;One very useful usage of Extended Events is the ability to trap SQL Server error without the need to have a server trace running (which, btw, is deprecated), with the additional feature of being able to query the data as soon as it comes in. This means that we a solution to monitor and trap errors as soon as they happen can be easily created, in order to help developers to fix problems as soon as they are detected. This is really, really, really helpful especially in very big applications, where the code base is quite old and there is no-one really knowing everything of the solution.&lt;/p&gt;  &lt;p&gt;To start a Extended Events sessions in order to trap SQL Server errors with severity greater than 10, just run the following script:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;CREATE EVENT SESSION [error_trap] ON SERVER      &lt;br /&gt;ADD EVENT sqlserver.error_reported      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ACTION&amp;#160;&amp;#160;&amp;#160; (package0.collect_system_time,package0.last_error,sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_id,sqlserver.database_name,sqlserver.nt_username,sqlserver.plan_handle,sqlserver.query_hash,sqlserver.session_id,sqlserver.sql_text,sqlserver.tsql_frame,sqlserver.tsql_stack,sqlserver.username)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WHERE&amp;#160;&amp;#160;&amp;#160; ([severity]&amp;gt;10)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; )       &lt;br /&gt;ADD TARGET package0.event_file      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET filename=N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\XEvents\error_trap.xel'      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; )      &lt;br /&gt;WITH       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; STARTUP_STATE=OFF      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; )      &lt;br /&gt;GO&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;ALTER EVENT SESSION [error_trap] ON SERVER      &lt;br /&gt;STATE = START;      &lt;br /&gt;GO&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The problem with Exended Events is that they only talks XML which is surely flexible and extensible, but not at all confortable to be queried. That’s why I prefer to turn it into something relational. Using the xml nodes function and pivoting data can make the trick:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;IF (OBJECT_ID('tempdb..#e') IS NOT NULL) DROP TABLE #e     &lt;br /&gt;go&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;WITH cte AS     &lt;br /&gt;(      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SELECT       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CAST(event_data AS XML) AS event_data      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FROM       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sys.fn_xe_file_target_read_file('D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\XEvents\error_trap*.xel', NULL, NULL, NULL)      &lt;br /&gt;),      &lt;br /&gt;cte2 AS      &lt;br /&gt;(      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SELECT      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; event_number = ROW_NUMBER() OVER (ORDER BY T.x)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ,&amp;#160;&amp;#160;&amp;#160; event_name = T.x.value('@name', 'varchar(100)')      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ,&amp;#160;&amp;#160;&amp;#160; event_timestamp = T.x.value('@timestamp', 'datetimeoffset')      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ,&amp;#160;&amp;#160;&amp;#160; event_data       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FROM      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cte&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; CROSS APPLY      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; event_data.nodes('/event') T(x)      &lt;br /&gt;)      &lt;br /&gt;SELECT * INTO #e FROM cte2       &lt;br /&gt;go&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;WITH cte3 AS     &lt;br /&gt;(      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SELECT      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c.event_number,      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c.event_timestamp,      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; --data_field = T2.x.value('local-name(.)', 'varchar(100)'),      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; data_name = T2.x.value('@name', 'varchar(100)'),      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; data_value = T2.x.value('value[1]', 'varchar(max)'),      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; data_text = T2.x.value('text[1]', 'varchar(max)')      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FROM      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #e c      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; CROSS APPLY      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c.event_data.nodes('event/*') T2(x)      &lt;br /&gt;),       &lt;br /&gt;cte4 AS      &lt;br /&gt;(      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SELECT      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; *      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FROM      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cte3      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; data_name IN ('error_number', 'severity', 'message', 'database_name', 'database_id', 'client_hostname', 'client_app_name', 'collect_system_time', 'username')      &lt;br /&gt;)      &lt;br /&gt;SELECT      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; *      &lt;br /&gt;FROM      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; cte4      &lt;br /&gt;PIVOT      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (MAX(data_value) FOR data_name IN ([error_number], [severity], [message], database_name, database_id, username, client_hostname, client_app_name, collect_system_time)) T      &lt;br /&gt;WHERE      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; [severity] &amp;gt; 10      &lt;br /&gt;ORDER BY      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; event_timestamp DESC      &lt;br /&gt;go&lt;/font&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;and voilà, now all errors can be easily identified:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_7116168A.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_0C1EBFCC.png" width="1024" height="83" /&gt;&lt;/a&gt;&lt;/p&gt;        &lt;p&gt;It’s now very easy to create reports and dashboards to monitor the system in (near) real time. And this is vital when you run a 24x7 online business.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=48282" 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/Extended+Events/default.aspx">Extended Events</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Monitoring/default.aspx">Monitoring</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>Wordpress Installation (on IIS and SQL Server)</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2012/05/27/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><comments>http://sqlblog.com/blogs/davide_mauri/comments/43603.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=43603</wfw:commentRss><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><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/IIS/default.aspx">IIS</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/PHPBB/default.aspx">PHPBB</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Wordpress/default.aspx">Wordpress</category></item><item><title>PHP Setup for IIS and SQL Server</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2012/05/07/php-setup-for-iis-and-sql-server.aspx</link><pubDate>Mon, 07 May 2012 15:20:50 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43244</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/43244.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=43244</wfw:commentRss><description>&lt;p&gt;Making PHP running on IIS and configuring it to be able to connect and query a SQL Server database is quite easy. If just need to get pointed to the correct direction, since information are spread all across the web but sometimes is not easy to understand to which version they apply.&lt;/p&gt;  &lt;p&gt;So, since our primary goal is to have &lt;strong&gt;Wordpress 3.3.2&lt;/strong&gt; (the latest version as of 07 May 2012) and &lt;strong&gt;PHPBB 3.0.12&lt;/strong&gt; (the latest version as of 07 May 2012) up and running, we’ll download the latest &lt;strong&gt;PHP 5.3&lt;/strong&gt; version (PHP 5.4 has been reported to have some problems with the current version of Wordpress so we won’t go for the latest one).&lt;/p&gt;  &lt;p&gt;So the first step is to&lt;em&gt; download PHP 5.3.12 version from PHP.NET web site&lt;/em&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://windows.php.net/download/" href="http://windows.php.net/download/"&gt;http://windows.php.net/download/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you may notice there are tow flavor of the PHP distribution: Thread Safe and Non Thread Safe (NTS).&lt;/p&gt;  &lt;p&gt;I’ve googled/binged a bit to understand what’s the advised flavor and as you can read here&lt;/p&gt;  &lt;p&gt;&lt;a title="http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis/" href="http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis/"&gt;http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;the best practice is to use the NTS flavor.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;I downloaded the Zip package, and unzipped the files in a newly created PHP directory under C: drive (C:\PHP)&lt;/p&gt;  &lt;p&gt;The above link also pointed me to a resource page very helpful for everyone trying to install PHP and configure on IIS:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://learn.iis.net/page.aspx/24/running-php-applications-on-iis/" href="http://learn.iis.net/page.aspx/24/running-php-applications-on-iis/"&gt;http://learn.iis.net/page.aspx/24/running-php-applications-on-iis/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The following link give also additional information&lt;/p&gt;  &lt;p&gt;&lt;a title="http://php.net/manual/en/install.windows.iis7.php" href="http://php.net/manual/en/install.windows.iis7.php"&gt;http://php.net/manual/en/install.windows.iis7.php&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I also found a very nice IIS Add-on that allows you to manage PHP directly from IIS:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://phpmanager.codeplex.com/" href="http://phpmanager.codeplex.com/"&gt;http://phpmanager.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;One installed the PHP Manager, you can check that everything is working simply checking that PHPINFO() works:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_2BA20BA0.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_1814ABFF.png" width="244" height="224" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_4FE6F022.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_6D78CB21.png" width="244" height="199" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To be able to use SQL Server from PHP you need the PHP SQL Server Drivers provided by Microsoft:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.iis.net/sqlphp/archive/2012/03/22/microsoft-drivers-3-0-1-for-php-for-sql-server-with-php-5-4-support-released.aspx" href="http://blogs.iis.net/sqlphp/archive/2012/03/22/microsoft-drivers-3-0-1-for-php-for-sql-server-with-php-5-4-support-released.aspx"&gt;http://blogs.iis.net/sqlphp/archive/2012/03/22/microsoft-drivers-3-0-1-for-php-for-sql-server-with-php-5-4-support-released.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://sqlsrvphp.codeplex.com/" href="http://sqlsrvphp.codeplex.com/"&gt;http://sqlsrvphp.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once the file has ben downloaded I extracted it to a C:\PHPSQLSRVfolder.&lt;/p&gt;  &lt;p&gt;Now you must acknowledge PHP that they exists and should be used. You can do it directly modifying your &amp;lt;php install folder&amp;gt;\php.ini file, adding the reference to the extension, &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_05300288.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_597F388B.png" width="244" height="67" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;begin sure to have copied the correct .dll file into the &amp;lt;php install folder&amp;gt;\ext folder.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_63D05CEB.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_576239C2.png" width="244" height="122" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;if you have installed the PHP Manager, you can also enable/disable extension from here (.dll file must be manually copied into the /ext directory anyway)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_484B5AE8.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_3BDD37BF.png" width="244" height="142" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you may have noticed, after having unzipped the PHP SQL Server Drivers&amp;#160; you have a bunch of files to choose from. Which is the one right for you? For the configuration we’ve chosen we have to go for the “standard” (which means not the “pdo” driver), non-thread safe PHP 5.3 driver. As you can guess the file we need is &lt;/p&gt;  &lt;p&gt;php_sqlsrv_53_nts.dll&lt;/p&gt;  &lt;p&gt;After having restarted your website, you can check in the phpinfo() page if the extension was loaded correcty:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_73AF7BE2.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_3DCA86C8.png" width="244" height="85" /&gt;&lt;/a&gt;&lt;/p&gt;              &lt;p&gt;I &lt;strong&gt;strongly &lt;/strong&gt;suggest to take a look at the help file that comes with the PHP SQL Server Drivers, so that you can start to get used to access SQL Server from PHP. In particular use the code shown in the &lt;/p&gt;  &lt;p&gt;“How to: Connect Using SQL Server Authentication”&lt;/p&gt;  &lt;p&gt;help article in order to create a .php page to test that your environment can correctly connect to SQL Server.&lt;/p&gt;  &lt;p&gt;Of course be sure to have at least the SQL Server Native Client installed on the web server, otherwise you won’t be able to connect to SQL Server from PHP.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/en-us/download/details.aspx?id=29065" href="http://www.microsoft.com/en-us/download/details.aspx?id=29065"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=29065&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That’s it! You now have a PHP environment on you IIS 7 / 7.5 capable of using SQL Server as RDBMS.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43244" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/IIS/default.aspx">IIS</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/PHP/default.aspx">PHP</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Wordpress/default.aspx">Wordpress</category></item><item><title>Wordpress and PHPBB on SQL Server</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2012/05/07/wordpress-and-phpbb-on-sql-server.aspx</link><pubDate>Mon, 07 May 2012 14:12:18 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43239</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>2</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/43239.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=43239</wfw:commentRss><description>&lt;p&gt;In the last months, in the spare time, I started to study PHP in order to use it on a Windows + SQL Server box. Why you would do such thing you may be wondering. The point is that Wordpress is actually, IMHO, the state of the art of a free CMS that must be used as the backend for a community site: it’s feature-rich, it has a *lot* of plugins and themes, it can be used to host blogs and to empower a “thematic” website. In my case I’d like to refresh the engine used to publish the Italian SQL Server User Group website.&lt;/p&gt;  &lt;p&gt;I’ve looked for a lot of alternatives in the .NET World, and I evaluated in the last year&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Umbraco &lt;/li&gt;    &lt;li&gt;DotNetNuke &lt;/li&gt;    &lt;li&gt;Community Server &lt;/li&gt;    &lt;li&gt;Orchard &lt;/li&gt;    &lt;li&gt;ScrewturnWiki &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For one reason or another, none of the mentioned platforms, which are great platforms BTW, was the right for us. We needed something&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Capable of managing a community portal with news, articles, events, calendars and so on &lt;/li&gt;    &lt;li&gt;Capable of managing the blogs of members, allowing the generation of new blog sub site on the fly &lt;/li&gt;    &lt;li&gt;Fully customizable with a minimum effort for the end user &lt;/li&gt;    &lt;li&gt;Enabled to use HTML5 and CSS3 &lt;/li&gt;    &lt;li&gt;Stable and Mature, with a good documentation and/or forum support &lt;/li&gt;    &lt;li&gt;Easy to be extended/modified adapted to our needs &lt;/li&gt;    &lt;li&gt;Compatible with MSN Live Writer &lt;/li&gt;    &lt;li&gt;Compatible with SQL Server &lt;/li&gt;    &lt;li&gt;Capable of hosting forums or capable of be integrated with a 3rd party forum platform &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;And at the end the platform that suits all our need is…Wordpress!&lt;/p&gt;  &lt;p&gt;Of course this decision bring some challenges in the game:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I need to be sure that Wordpress can work *well* with SQL Server &lt;/li&gt;    &lt;li&gt;I need to integrate Wordpress with a forum software. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Luckily Microsoft has written a cool abstraction layer for Wordpress, that make it compatible with SQL Server. And, even more luckily, there is a mainstream forum solution, PHPBB, natively compatible with SQL Server.&lt;/p&gt;  &lt;p&gt;Of course not everything is as smooth as one would like it to be, so there are some “attention point” that one need to take into account when going in this way. And since there isn’t a lot of&amp;#160; documentation available on running Wordpress together with PHPBB on SQL Server, I though that writing some post can be helpful to the community. After all Wordpress and PHPBB are two *great* solution and having them available on SQL Server is something desirable in my opinion.&lt;/p&gt;  &lt;p&gt;So, in the next months, I’ll write a series of four (maybe five) posts to describe how to have a Wordpress + PHPBB on IIS + SQL Server solution up and running.&lt;/p&gt;  &lt;p&gt;Here’s the agenda of the next posts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/archive/2012/05/07/php-setup-for-iis-and-sql-server.aspx"&gt;PHP Setup for IIS and SQL Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/archive/2012/05/27/wordpress-installation-on-iis-and-sql-server.aspx"&gt;Wordpress Installation&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;PHPBB Installation &lt;/li&gt;    &lt;li&gt;Wordpress &amp;amp; PHPBB Login Integration &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’ll hope you’ll enjoy the topics!&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43239" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/IIS/default.aspx">IIS</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/PHPBB/default.aspx">PHPBB</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Wordpress/default.aspx">Wordpress</category></item><item><title>WCF Error when using “Match Data” function in MDS Excel AddIn</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2012/03/29/wcf-error-when-using-match-data-function-in-mds-excel-addin.aspx</link><pubDate>Thu, 29 Mar 2012 07:46:16 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42542</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/42542.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=42542</wfw:commentRss><description>&lt;p&gt;If you’re using MDS and DQS with the Excel Integration you may get an error when trying to use the “Match Data” feature that uses DQS in order to help to identify duplicate data in your data set.&lt;/p&gt;  &lt;p&gt;The error is quite obscure and you have to enable WCF error reporting in order to have the error details and you’ll discover that they are related to some missing permission in MDS and DQS_STAGING_DATA database.&lt;/p&gt;  &lt;p&gt;To fix the problem you just have to give the needed permession, as the following script does:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;use MDS     &lt;br /&gt;go&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;GRANT SELECT ON mdm.tblDataQualityOperationsState TO [VMSRV02\mdsweb]     &lt;br /&gt;GRANT INSERT ON mdm.tblDataQualityOperationsState TO [VMSRV02\mdsweb]      &lt;br /&gt;GRANT DELETE ON mdm.tblDataQualityOperationsState TO [VMSRV02\mdsweb]      &lt;br /&gt;GRANT UPDATE ON mdm.tblDataQualityOperationsState TO [VMSRV02\mdsweb]&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;USE [DQS_STAGING_DATA]     &lt;br /&gt;GO      &lt;br /&gt;ALTER AUTHORIZATION ON SCHEMA::[db_datareader] TO [VMSRV02\mdsweb]      &lt;br /&gt;ALTER AUTHORIZATION ON SCHEMA::[db_datawriter] TO [VMSRV02\mdsweb]      &lt;br /&gt;ALTER AUTHORIZATION ON SCHEMA::[db_ddladmin] TO [VMSRV02\mdsweb]      &lt;br /&gt;GO&lt;/font&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Where “VMSRV02\mdsweb” is the user you configured for MDS Service execution. If you don’t remember it, you can just check which account has been assigned to the IIS application pool that your MDS website is using:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_20B72F32.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_177AF3F1.png" width="897" height="204" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42542" width="1" height="1"&gt;</description><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/Data+Quality/default.aspx">Data Quality</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/DQS/default.aspx">DQS</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Master+Data+Services/default.aspx">Master Data Services</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/MDS/default.aspx">MDS</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>SQL Server 2012 RTM Available!</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2012/03/07/sql-server-2012-rtm-available.aspx</link><pubDate>Tue, 06 Mar 2012 22:34:28 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42146</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/42146.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=42146</wfw:commentRss><description>&lt;p&gt;SQL Server 2012 is available for download! &lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/sqlserver/en/us/default.aspx" href="http://www.microsoft.com/sqlserver/en/us/default.aspx"&gt;http://www.microsoft.com/sqlserver/en/us/default.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Evaluation version is available here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/download/en/details.aspx?id=29066" href="http://www.microsoft.com/download/en/details.aspx?id=29066"&gt;http://www.microsoft.com/download/en/details.aspx?id=29066&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;and along with the SQL Server 2012 RTM there’s also the Feature Pack available:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/download/en/details.aspx?id=29065" href="http://www.microsoft.com/download/en/details.aspx?id=29065"&gt;http://www.microsoft.com/download/en/details.aspx?id=29065&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Feature Pack is rich of useful and interesting stuff, something needed by some feature, like the Semantic Language Statistics Database some other a very good (I would say needed) download if you use certain technologies, like MDS or Data Mining. Btw, for Data Mining also the updated Excel Addin has been released and it’s available in the Feature Pack.&lt;/p&gt;  &lt;p&gt;As if this would not be enough, also the SQL Server Data Tools IDE has been released in RTM:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/data/hh297027" href="http://msdn.microsoft.com/en-us/data/hh297027"&gt;http://msdn.microsoft.com/en-us/data/hh297027&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Remember that SQL Server Data Tool is completely free and can be used with SQL Server 2005 and after.&lt;/p&gt;  &lt;p&gt;Happy downloading!&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42146" width="1" height="1"&gt;</description><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/SQL+Server/default.aspx">SQL Server</category></item><item><title>Execute a SSIS package in Sync or Async mode from SQL Server 2012</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2011/11/24/execute-a-ssis-package-in-sync-or-async-mode-from-sql-server-2012.aspx</link><pubDate>Thu, 24 Nov 2011 16:45:53 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:39975</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>3</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/39975.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=39975</wfw:commentRss><description>&lt;p&gt;Today I had to schedule a package stored in the shiny new SSIS Catalog store that can be enabled with SQL Server 2012. (&lt;a title="http://msdn.microsoft.com/en-us/library/hh479588(v=SQL.110).aspx" href="http://msdn.microsoft.com/en-us/library/hh479588(v=SQL.110).aspx"&gt;http://msdn.microsoft.com/en-us/library/hh479588(v=SQL.110).aspx&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;Once your packages are stored here, they will be executed using the new stored procedures created for this purpose. This is the script that will get executed if you try to execute your packages right from management studio or through a SQL Server Agent job, will be similar to the following:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Declare @execution_id bigint      &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;EXEC [SSISDB].[catalog].[create_execution] @package_name='my_package.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'BI', @project_name=N'DWH', @use32bitruntime=False, @reference_id=Null      &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Select @execution_id      &lt;br /&gt;DECLARE @var0 smallint = 1       &lt;br /&gt;EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,&amp;#160; @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0       &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;DECLARE @var1 bit = 0      &lt;br /&gt;EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,&amp;#160; @object_type=50, @parameter_name=N'DUMP_ON_ERROR', @parameter_value=@var1       &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;EXEC [SSISDB].[catalog].[start_execution] @execution_id      &lt;br /&gt;GO&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The problem here is that the procedure will simply start the execution of the package and will return as soon as the package as been &lt;em&gt;started…&lt;/em&gt;thus giving you the opportunity to execute packages asynchrously from your T-SQL code. This is just *great*, but what happens if I what to execute a package and WAIT for it to finish (and thus having a synchronous execution of it)? &lt;/p&gt;  &lt;p&gt;You have to be sure that you add the “SYNCHRONIZED” parameter to the package execution. Before the &lt;em&gt;start_execution &lt;/em&gt;procedure:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;exec [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,&amp;#160; @object_type=50, @parameter_name=N'SYNCHRONIZED', @parameter_value=1&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;And that’s it &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_096E8EBA.png" /&gt;.&lt;/p&gt;  &lt;p&gt;PS&lt;/p&gt;  &lt;p&gt;From the RC0, the SYNCHRONIZED parameter is automatically added each time you schedule a package execution through the SQL Server Agent. If you’re using an external scheduler, just keep this post in mind &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_096E8EBA.png" /&gt;.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=39975" width="1" height="1"&gt;</description><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/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SSIS/default.aspx">SSIS</category></item><item><title>DAX editor for SQL Server</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2011/11/23/dax-editor-for-sql-server.aspx</link><pubDate>Wed, 23 Nov 2011 06:58:10 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:39948</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/39948.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=39948</wfw:commentRss><description>&lt;p&gt;One of the major criticism to DAX is the lack of a decent editor and more in general of a dedicated IDE, like the one we have for T-SQL or MDX.&lt;/p&gt;  &lt;p&gt;Well, this is no more true. On Codeplex a very interesting an promising Visual Studio 2010 extension has been released by the beginning of November 2011:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://daxeditor.codeplex.com/" href="http://daxeditor.codeplex.com/"&gt;http://daxeditor.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Intellisense, Syntax Highlighting and all the typical features offered by Visual Studio are available also for DAX.&lt;/p&gt;  &lt;p&gt;Right now you have to download the source code and compile it, and that’s it!&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=39948" width="1" height="1"&gt;</description><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/DAX/default.aspx">DAX</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>PASS BOF Lunch – SQL Server and NoSQL alternatives</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/10/14/pass-bof-lunch-sql-server-and-nosql-alternatives.aspx</link><pubDate>Wed, 13 Oct 2010 21:30:31 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:29375</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/29375.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=29375</wfw:commentRss><description>&lt;p&gt;Beside my &lt;a href="http://sqlpass.eventpoint.com/topic/details/BIA281P"&gt;BI workshop on Friday&lt;/a&gt;, this year at PASS Summit I’ll also contribute by participating at the Birth Of Feather Lunch on a very hot topic:&lt;/p&gt;  &lt;p&gt;“SQL Server and the NoSQL Alternatives”&lt;/p&gt;  &lt;p&gt;I’ve been watching closely the NoSQL movement right from the beginning (as soon as it started to grow also in Italy, so from January 2010), since I simply love database and it make always sense to see what’s new the market has to offer.&lt;/p&gt;  &lt;p&gt;You may already know &lt;a href="http://sqlblog.com/blogs/davide_mauri/archive/2009/10/02/does-nosql-people-really-want-to-drop-the-relational-model.aspx"&gt;my position&lt;/a&gt; on the actual offerings, and I haven’t changed my mind so far. But I also see that there is a niche in the market that can great benefit from NoSQL options. But before making any choice it’s imperative to know the pros and the cons of each solution.&lt;/p&gt;  &lt;p&gt;In this Lunch I’d like to talk to anyone who would like to join about this topics. When NoSQL is in option? And when is only a “new toy” that can give us a lot of joy but no real business benefit? And how comes that Normalization is &lt;em&gt;&lt;strong&gt;*still*&lt;/strong&gt;&lt;/em&gt; needed (don’t you think so? Come and we’ll discuss &lt;img style="border-bottom-style:none;border-right-style:none;border-top-style:none;border-left-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://sqlblog.com/blogs/davide_mauri/wlEmoticon-smile_02F8DEDB.png" /&gt;), even if developers would love to avoid it, but no-one tells you that?&lt;/p&gt;  &lt;p&gt;Beside mine BOF there are a tons of other interesting tables you can join, like the one my fellow &lt;a href="http://sqlblog.com/blogs/jonathan_kehayias/archive/2010/10/13/pass-2010-birds-of-a-feather-lunch.aspx"&gt;MVP Jonathan&lt;/a&gt; will keep and like the many others listed here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://sqlblog.com/blogs/jonathan_kehayias/archive/2010/10/13/pass-2010-birds-of-a-feather-lunch.aspx" href="http://sqlblog.com/blogs/jonathan_kehayias/archive/2010/10/13/pass-2010-birds-of-a-feather-lunch.aspx"&gt;http://sqlblog.com/blogs/jonathan_kehayias/archive/2010/10/13/pass-2010-birds-of-a-feather-lunch.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That link also describe what a BOF is and how it works.&lt;/p&gt;  &lt;p&gt;See you there!&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=29375" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/NoSQL/default.aspx">NoSQL</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Relational+Model/default.aspx">Relational Model</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>bug with sp_rename + sp_refreshview</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/10/12/bug-with-sp-rename-sp-refreshview.aspx</link><pubDate>Tue, 12 Oct 2010 06:02:51 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:29318</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/29318.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=29318</wfw:commentRss><description>&lt;p&gt;Today I’ve found with my Italian collegues a “nice” bug that made us and the customer mad for several hours.&lt;/p&gt;  &lt;p&gt;The problem is related to sp_rename usage and sp_refreshview.&lt;/p&gt;  &lt;p&gt;If you have a view like this one&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;create view dbo.a &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;as&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;select c = 1&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;go&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;and for any reason someone renames it (for example because he wants to change the view but don’t want to drop the old one, so it rename to something like myview_old):&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;exec sp_rename 'a', 'b'&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;go&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;create view dbo.a &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;as&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;select c = 2&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;go&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;If you do, everything still works perfectly:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;select * from dbo.a&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;select * from dbo.b&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;go&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;And now the “magic”: try to use the refreshview procedure on the “b” view&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;sp_refreshview 'dbo.b'&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;go&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;and voilà, &lt;em&gt;the view “a” will be changed back to the orginal script&lt;/em&gt;! If you execute &lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;select * from dbo.a&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;go&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;you will get the same result of the view “b”. That’s magic, isn’t it?&lt;/p&gt;  &lt;p&gt;And and it’s not only a problem of results. If you open the view “a” you will see that its body has been changed into the body of view “b”!!!&lt;/p&gt;  &lt;p&gt;I’ve tested the bug on SQL Server 2005, SQL Server 2008 and SQL Server 2008 R2. &lt;/p&gt;  &lt;p&gt;To be honest is not something dangerous, and it should not harm anyone, but just know that if sometimes you have your views reset back to a previous situation, you may well be in the same situation we’ve experienced. &lt;em&gt;Unfortunately there is no way to “detect” this problem&lt;/em&gt; even using SQL Profiler or even DDL Events since no “ALTER VIEW” (nor DROP VIEW followed by CREATE VIEW) gets fired in the sp_refreshview process.&lt;/p&gt;  &lt;p&gt;There is a workaround to fix it? Of course the answer is yes :)&lt;/p&gt;  &lt;p&gt;Just alter the “b” view manually and everything will be fixed:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;alter view dbo.b&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;as&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;select c = 1&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;go&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;from now on the sp_refreshview will work correctly [:)] Just keep it in mind.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=29318" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/T-SQL/default.aspx">T-SQL</category></item><item><title>PASS Workshop “Creating a BI solution from A to Z” - Interview</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/09/17/pass-workshop-creating-a-bi-solution-from-a-to-z-interview.aspx</link><pubDate>Thu, 16 Sep 2010 22:16:27 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:28820</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/28820.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=28820</wfw:commentRss><description>&lt;p&gt;If you’re still unsure if the workshop I’ll deliver at PASS Summit the next November - “Creating a BI solution from A to Z” - is a good choice for you or not, you can get some more details reading the brief interview here:&lt;/p&gt;  &lt;p&gt;&lt;a title="Permanent Link to 2010 PASS Summit Post-Con Preview - Davide Mauri" href="http://www.sqlpass.org/Community/PASSBlog/entryid/187/2010-PASS-Summit-Post-Con-Preview-Davide-Mauri.aspx"&gt;PASS Summit Post-Con Preview - Davide Mauri&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Where you’ll find answers to the following questions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Is there an audience that would benefit especially from this session?&lt;/li&gt;    &lt;li&gt;After having attended your seminar, what are two or three things that an attendee will be able to take back to the office and put to use right away?&lt;/li&gt;    &lt;li&gt;What background should attendees ideally have to be fully prepared for your seminar?&lt;/li&gt;    &lt;li&gt;What experience are you, as a speaker, bringing to this session?&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;That may help you to take your final decision. More than 20 people already decided to come: you’ll be in good company! :)&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=28820" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Business+Intelligence/default.aspx">Business Intelligence</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Engineering/default.aspx">Engineering</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/MDX/default.aspx">MDX</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/PASS/default.aspx">PASS</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SSAS/default.aspx">SSAS</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SSIS/default.aspx">SSIS</category></item><item><title>SQL Server 2008 R2 Installation and the Phantom of SQL Server 2005 Express</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/05/04/sql-server-2008-r2-installation-and-the-phantom-of-sql-server-2005-express.aspx</link><pubDate>Tue, 04 May 2010 07:44:36 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:24804</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>9</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/24804.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=24804</wfw:commentRss><description>&lt;p&gt;Today I’ve happy started to install SQL Server 2008R2 on my development machine, which has this software installed&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows Server 2008 R2 Standard&lt;/li&gt;    &lt;li&gt;SQL Server 2008 SP1 CU5&lt;/li&gt;    &lt;li&gt;Visual Studio 2008 SP1&lt;/li&gt;    &lt;li&gt;BOL October 2009&lt;/li&gt;    &lt;li&gt;AdventuresWorks2008 Databases SR4&lt;/li&gt;    &lt;li&gt;Visual Studio 2010 RTM&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So, all the basic standard stuff.&lt;/p&gt;  &lt;p&gt;SQL Server 2008 R2 installation went smooth ‘till somewhere in the middle, where the rule engine checks that software pre-requisite are satisfied before starting to copy files.&lt;/p&gt;  &lt;p&gt;Here I had this @][@@[?!?! error:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;“The SQL Server 2005 Express Tools are installed. To continue, remove the SQL Server 2005 Express Tools.”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Fun enough, I don’t have and I’ve never had SQL Server 2005 Express on my machine.&lt;/p&gt;  &lt;p&gt;Armed with patience I analyzed the install log here&lt;/p&gt;  &lt;p&gt;C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\&lt;em&gt;yyyymmdd_hhmmss\Detail.txt&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;and I’ve found that the rule “Sql2005SsmsExpressFacet” is the one in charge of this check and it look for existance of the registry key&lt;/p&gt;  &lt;p&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM (on x86)&lt;/p&gt;  &lt;p&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM (on x64)&lt;/p&gt;  &lt;p&gt;In my registry I’ve found that key existsing, due to the installation of the uber-cool Red-Gate SQL Search.&lt;/p&gt;  &lt;p&gt;I removed the registry key and here it is! SQL Server 2008 R2 is installing while I’m writing this post.&lt;/p&gt;  &lt;p&gt;A note to Microsoft: can you please add more detailed information on the setup while such error happens. Just saying “you have SQL Server 2005 Express installed” is not enough. Please show us what the rule look for and why it has failed directly in the Detailed Report, so that we don’t have to spend time to look for the needle in the logs. Thanks! :)&lt;/p&gt;  &lt;p&gt;PS&lt;/p&gt;  &lt;p&gt;I did a side-by-side installation with the existing SQL Server 2008 instance.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=24804" width="1" height="1"&gt;</description><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/Install/default.aspx">Install</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>Master Data Services Employees Sample Model</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/05/03/master-data-services-employees-sample-model.aspx</link><pubDate>Mon, 03 May 2010 09:17:40 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:24764</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/24764.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=24764</wfw:commentRss><description>&lt;p&gt;I’ve been playing with Master Data Services quite a lot in those last days and I’m also monitoring the web for all available resources on it.&lt;/p&gt;  &lt;p&gt;Today I’ve found this freshly released sample available on MSDN Code Gallery:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SQL Server Master Data Services Employee Sample Model      &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://code.msdn.microsoft.com/SSMDSEmployeeSample" href="http://code.msdn.microsoft.com/SSMDSEmployeeSample"&gt;http://code.msdn.microsoft.com/SSMDSEmployeeSample&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This sample shows how Recursive Hierarchies can be modeled in order to represent a typical organizational chart scenario where a self-relationship exists on the Employee entity.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=24764" width="1" height="1"&gt;</description><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/Master+Data+Management/default.aspx">Master Data Management</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Master+Data+Services/default.aspx">Master Data Services</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/MDM/default.aspx">MDM</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/MDS/default.aspx">MDS</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>Back from PASS Europe 2010</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/04/25/back-from-pass-europe-2010.aspx</link><pubDate>Sun, 25 Apr 2010 11:24:04 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:24567</guid><dc:creator>Davide Mauri</dc:creator><slash:comments>2</slash:comments><comments>http://sqlblog.com/blogs/davide_mauri/comments/24567.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/davide_mauri/commentrss.aspx?PostID=24567</wfw:commentRss><description>&lt;p&gt;PASS Europe 2010 is finished and I’m now finally back at home and will stay here for a while.&lt;/p&gt;  &lt;p&gt;I would like to thanks all the people who has come to my sessions for all their feedback, especially for the “Adaptive BI” session!&lt;/p&gt;  &lt;p&gt;Slides and demos should be available for download from the PASS European Conference website in a couple of days.&lt;/p&gt;  &lt;p&gt;Meanwhile if you want to rate my session online, you can do it here:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Adaptive BI     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://speakerrate.com/talks/3136-adaptive-bi-best-practices" href="http://speakerrate.com/talks/3136-adaptive-bi-best-practices"&gt;http://speakerrate.com/talks/3136-adaptive-bi-best-practices&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Blazing Fast Queries     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://speakerrate.com/talks/3135-blazing-fast-queries-when-indexes-are-not-enough" href="http://speakerrate.com/talks/3135-blazing-fast-queries-when-indexes-are-not-enough"&gt;http://speakerrate.com/talks/3135-blazing-fast-queries-when-indexes-are-not-enough&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=24567" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/Business+Intelligence/default.aspx">Business Intelligence</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/PASS/default.aspx">PASS</category><category domain="http://sqlblog.com/blogs/davide_mauri/archive/tags/SQL+Server/default.aspx">SQL Server</category></item></channel></rss>