<?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>Search results matching tags '2005' and '2008'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=2005,2008&amp;orTags=0</link><description>Search results matching tags '2005' and '2008'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Power Pivot SQL Agent Job Monitor</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2013/01/07/power-pivot-sql-agent-job-monitor.aspx</link><pubDate>Mon, 07 Jan 2013 21:23:29 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:47058</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;In the last days I needed a quick and efficient way to monitor the performance of a job and of each step over time. There’s a lot of interesting data in MSDB database and the various &lt;em&gt;sysjob&lt;/em&gt; tables, but the stored data is not really easy to use outside the Management Studio. Date and Time are not stored as date/time data type, there is no easy way to correlate the performance of a step with the related job execution (for example is not that easy to return all the steps of a job executed, say, yesterday at 10:00).&lt;/p&gt;  &lt;p&gt;So I decided to write some views to make the querying easier and then the next move was to create a Tabular Model with Power Pivot on Excel to make also analysis easier.&lt;/p&gt;  &lt;p&gt;Since this is a somehow recurring task that I find myself doing during my job – not often, but when I have to do it now I have something much more powerful in my hands – I decided to put it also con CodePlex so that that little work can be shared with the community.&lt;/p&gt;  &lt;p&gt;You can find the scripts with the objects (3 UDFs and 4 Views) that must be created inside MSDB and the Power Pivot Excel 2010 model here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://jobmonitor.codeplex.com/" href="http://jobmonitor.codeplex.com/"&gt;http://jobmonitor.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;</description></item><item><title>SYS2 scripts updated (December 2012)</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2011/12/12/sys2-scripts-updated-december-2012.aspx</link><pubDate>Mon, 12 Dec 2011 22:26:43 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:40288</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;I’ve updated my SYS2 scripts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Added a new script to see how much buffer cache memory is used by each database &lt;/li&gt;    &lt;li&gt;Updated the sys2.stats script in order to have only one row per statistics &lt;/li&gt;    &lt;li&gt;Updated the sys2.query_stats script to use the sys.dm_exec_plan_attributes dmv to get better information on which database was used by the cached plans &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;As usual they are available from CodePlex:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://sys2dmvs.codeplex.com/" href="http://sys2dmvs.codeplex.com/"&gt;http://sys2dmvs.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;</description></item><item><title>Spotlight session at PASS 2011 - Temporal Snapshot Fact Table</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2011/05/29/spotlight-session-at-pass-2011-temporal-snapshot-fact-table.aspx</link><pubDate>Sun, 29 May 2011 13:44:59 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:35953</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;I’m very happy to announce that my proposal for the Spotlight session I’ve been invited to deliver at PASS 2011 has been accepted!&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Temporal Snapshot Fact Table&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;You are designing a BI Solution and your customer ask you to keep a snapshot of the status of all their documents (orders, insurances, contracts, bills...whatever the word &amp;quot;document&amp;quot; may mean) for all the days of the year. They have millions of documents and they want to have in their Data Warehouse all the data they have gathered right from the very first operating day.&lt;/p&gt;    &lt;p&gt;If you have 1 million of documents (on average) and you have to keep a snapshot of them for each one of the 365 days in a year, and you have 10 year of history, you're going to have a 3 billions table just to start with. That's a very big and challenging number, and you may have not the option to buy a Parallel Data Warehouse. &lt;/p&gt;    &lt;p&gt;In this session, we'll see how we can turn the usual snapshot tables into temporal table so that we can store time intervals in order to avoid data duplication, while keeping the Data Warehouse design usable by Analysis Services (that doesn't know what an interval is) and optimizing it to have very good performance even on standard hardware.&lt;/p&gt;    &lt;p&gt;The explained technique is a result of several month of research and has been applied to the Data Warehouse of an insurance company where we had to deal with two times the number said before. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The topic is very interesting and – I bet – very intriguing for many people working in BI and specially with Analysis Services, since it lacks the support of “time intervals” to define the validity period of a fact row. With my SolidQ Italian collegues we’ve been able to find a way to overcome this limitation, allowing the storage of daily snapshots of data with a very high efficency and performance.&lt;/p&gt;  &lt;p&gt;In this session I’m going to share everything we discovered with you. It will be really interesting, I can tell you! Probably one of the most advanced – yes simple - usage of SSAS and Many-To-Many relationship you’re going to see.&lt;/p&gt;</description></item><item><title>SYS2 Scripts Updated – Scripts to monitor database backup, database space usage and memory grants now available</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2011/02/13/sys2-scripts-updated-scripts-to-monitor-database-backup-database-space-usage-and-memory-grants-now-available.aspx</link><pubDate>Sun, 13 Feb 2011 17:30:22 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:33451</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;I’ve just released three new scripts of my “sys2” script collection that can be found on CodePlex:&lt;/p&gt;  &lt;p&gt;Project Page: &lt;a title="http://sys2dmvs.codeplex.com/" href="http://sys2dmvs.codeplex.com/"&gt;http://sys2dmvs.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Source Code Download: &lt;a title="http://sys2dmvs.codeplex.com/SourceControl/changeset/view/57732" href="http://sys2dmvs.codeplex.com/SourceControl/changeset/view/57732"&gt;http://sys2dmvs.codeplex.com/SourceControl/changeset/view/57732&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The three new scripts are the following&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;sys2.database_backup_info.sql &lt;/li&gt;    &lt;li&gt;sys2.query_memory_grants.sql &lt;/li&gt;    &lt;li&gt;sys2.stp_get_databases_space_used_info.sql &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Here’s some more details:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;database_backup_info&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;This script has been made to quickly check if and when backup was done. It will report the last full, differential and log backup date and time for each database. Along with these information you’ll also get some additional metadata that shows if a database is a read-only database and its recovery model:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_4B56D20D.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/davide_mauri/image_thumb_269594C9.png" width="1028" height="109" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;By default it will check only the last seven days, but you can change this value just specifying how many days back you want to check.&lt;/p&gt;    &lt;p&gt;To analyze the last seven days, and list only the database with FULL recovery model without a log backup&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;select * from sys2.databases_backup_info(default)        &lt;br /&gt;where recovery_model = 3 and log_backup = 0&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;To analyze the last fifteen days, and list only the database with FULL recovery model with a differential backup&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;select * from sys2.databases_backup_info(15)        &lt;br /&gt;where recovery_model = 3 and diff_backup = 1&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;I just love this script, I use it every time I need to check that backups are not too old and that t-log backup are correctly scheduled.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;query_memory_grants&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;This is just a wrapper around sys.dm_exec_query_memory_grants that enriches the default result set with the text of the query for which memory has been granted or is waiting for a memory grant and, optionally, its execution plan&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;stp_get_databases_space_used_info&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;This is a stored procedure that list all the available databases and for each one the overall size, the used space within that size, the maximum size it may reach and the auto grow options. This is another script I use every day in order to be able to monitor, track and forecast database space usage.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As usual feedbacks and suggestions are more than welcome!&lt;/p&gt;</description></item><item><title>BI Virtual Chapter: “Adaptive BI: Engineering a BI Solution”</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/09/09/bi-virtual-chapter-adaptive-bi-engineering-a-bi-solution.aspx</link><pubDate>Thu, 09 Sep 2010 09:54:27 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:28643</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;On the next 20th Semptember I’ll deliver a session on a topic that is IMHO really important but is not yet covered enough:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Adaptive BI: Engineering a BI Solution&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;Are you starting to create a BI solution....but where do you begin with? How to setup everything correctly so that you'll be able to handle new features required by the customers easily and without too much effort? Which standard do you put in place so that everyone who will join the project will be immediately operative? How do you define your BI architecture so that it can be sound and flexible and the same time?&amp;#160; All these questions come out every time someone has to start a BI project. In this session I'll present a set of standard rules we use to create our BI project, consolidated in more than five years of development (since SQL 2005 was released) and that allow to put some technical rules that helps you to start in the correct way right from the beginning: naming convention, architecture decisions, database unit testing, layering and everything you need to know to build an &amp;quot;Adaptive&amp;quot; Business Intelligence solution. The idea is to be flexible in terms of architectural decision but have some well-known rules in the solution to make it “engineerable”: in one word...&amp;quot;Adaptive&amp;quot;!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you’re into BI this session can give you some interesting ideas on how to structure your next project. See you in cyberspace here&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="https://www.livemeeting.com/cc/usergroups/join?id=C97PWB&amp;amp;role=attend&amp;amp;pw=Z%40%2B%5Ew%2B%40h4"&gt;https://www.livemeeting.com/cc/usergroups/join?id=C97PWB&amp;amp;role=attend&amp;amp;pw=Z%40%2B%5Ew%2B%40h4&lt;/a&gt; &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;on Sept 20th at 12pm EST.&lt;/p&gt;  &lt;p&gt;PS&lt;/p&gt;  &lt;p&gt;At the end of the session I’ll show also how the rules can be applied automatically with the right tools, creating an entire package to load a dimension in less then 1 minute, with all best pratices and standard in place!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_2EF590FC.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_0B0CB9A2.png" width="226" height="244" /&gt;&lt;/a&gt; &lt;a href="http://sqlblog.com/blogs/davide_mauri/image_023CB156.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_21DB6551.png" width="244" height="223" /&gt;&lt;/a&gt; &lt;a href="http://sqlblog.com/blogs/davide_mauri/image_4A2A97A5.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_1E0D9AB4.png" width="244" height="180" /&gt;&lt;/a&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_55DFDED7.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/davide_mauri/image_thumb_45F09A13.png" width="161" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>DTLoggedExec 1.0 Stable Released!</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/05/09/dtloggedexec-1-0-stable-released.aspx</link><pubDate>Sun, 09 May 2010 08:51:43 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:24955</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;After serveral years of development I’ve finally released the first non-beta version of &lt;a title="DTLoggedExec" href="http://dtloggedexec.davidemauri.it" target="_blank"&gt;DTLoggedExec&lt;/a&gt;! I’m now very confident that the product is stable and solid and has all the feature that are important to have (at least for me).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DTLoggedExec 1.0     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://dtloggedexec.codeplex.com/releases/view/44689" href="http://dtloggedexec.codeplex.com/releases/view/44689"&gt;http://dtloggedexec.codeplex.com/releases/view/44689&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here’s the release notes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;FIRST NON-BETA RELEASE! :)&lt;/li&gt;    &lt;li&gt;Code cleaned up &lt;/li&gt;    &lt;li&gt;Added SetPackageInfo method to ILogProvider interface to make easier future improvements&lt;/li&gt;    &lt;li&gt;Deprecated the arguments 'ProfileDataFlow', 'ProfilePath', 'ProfileFileName'&lt;/li&gt;    &lt;li&gt;Added the new argument 'ProfileDataFlowFileName' that replaces the old 'ProfileDataFlow', 'ProfilePath', 'ProfileFileName' arguments&lt;/li&gt;    &lt;li&gt;Updated database scripts to support new reports&lt;/li&gt;    &lt;li&gt;Split releases in three different packages for easier maintenance and updates: DTLoggedExec Executable, Samples &amp;amp; Reports&lt;/li&gt;    &lt;li&gt;Fixed Issue #25738 (&lt;a href="http://dtloggedexec.codeplex.com/WorkItem/View.aspx?WorkItemId=25738"&gt;http://dtloggedexec.codeplex.com/WorkItem/View.aspx?WorkItemId=25738&lt;/a&gt;)&lt;/li&gt;    &lt;li&gt;Fixed Issue #26479 (&lt;a href="http://dtloggedexec.codeplex.com/WorkItem/View.aspx?WorkItemId=26479"&gt;http://dtloggedexec.codeplex.com/WorkItem/View.aspx?WorkItemId=26479&lt;/a&gt;)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To make things easier to maintain I’ve divided the original package in three different releases. One is the DTLoggedExec executable; samples and reports are now available in separate packages so that I can update them more frequently without having to touch the engine.&lt;/p&gt;  &lt;p&gt;Source code of everything is available through Source Code Control:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://dtloggedexec.codeplex.com/SourceControl/list/changesets" href="http://dtloggedexec.codeplex.com/SourceControl/list/changesets"&gt;http://dtloggedexec.codeplex.com/SourceControl/list/changesets&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As usual, comments and feebacks are more than welcome! (Just use Codeplex, please, so it will be easier for me to keep track of requests and issues)&lt;/p&gt;</description></item><item><title>SYS2 DMVs on CodePlex</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/01/18/sys2-dmvs-on-codeplex.aspx</link><pubDate>Mon, 18 Jan 2010 18:09:03 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:21152</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;I’ve just created a new project on CodePlex anmed &lt;em&gt;SYS2DMVS&lt;/em&gt;, where I’ll put all my &lt;em&gt;&lt;a href="http://www.davidemauri.it/resources/sql-scripts.aspx" target="_blank"&gt;sys2 scripts&lt;/a&gt;&lt;/em&gt; so that they can be found and accessed more easily. Also it will more easy for me to maintain them, just a Check-In with SVN and that’s it :-).&lt;/p&gt;  &lt;p&gt;&lt;a title="http://sys2dmvs.codeplex.com/" href="http://sys2dmvs.codeplex.com/"&gt;http://sys2dmvs.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The scripts are growing in number, they are now 9, so I though that they deserve a better place to stay than my personal website.&lt;/p&gt;  &lt;p&gt;This also has another important meaning: if you want to contribuite, I’ll be *very* *very* happy to have you on board for this project. I think it would be very nice and useful if we can make this project grow all togheter.&lt;/p&gt;  &lt;p&gt;So, if you have a script to share, and you have the will to make it adhere to a certain style (I followed the DMVs style: lower case name, using “_” to separate names, and so on) and to share your own scripts with the community, you’re more than welcome!&lt;/p&gt;</description></item><item><title>sys2 scripts updated</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/01/07/sys2-scripts-updated.aspx</link><pubDate>Thu, 07 Jan 2010 20:54:10 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:20694</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;I’ve updated my “sys2” scripts with three 3 new scripts:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;sys2.objects_dependencies&lt;/em&gt;&lt;/strong&gt;    &lt;br /&gt;A wrapper around sys.sql_expression_dependencies that shows also related informations taken from sys.object table, like object name, object type and schema name of the referencing entity. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;sys2.objects_partition_ranges&lt;/em&gt;&lt;/strong&gt;    &lt;br /&gt;Shows information on partitioned table like rows per partition, partition ranges and partition filegroup destination. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;sys2.objects_data_spaces&lt;/em&gt;&lt;/strong&gt;    &lt;br /&gt;List tables and indexes and show in which filegroup they reside. &lt;/p&gt;  &lt;p&gt;They are freely available – along with all the others – here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.davidemauri.it/resources/sql-scripts.aspx" href="http://www.davidemauri.it/resources/sql-scripts.aspx"&gt;http://www.davidemauri.it/resources/sql-scripts.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;</description></item></channel></rss>