<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-23748684</id><updated>2011-04-21T11:02:02.501-07:00</updated><category term='References'/><category term='AS2005'/><category term='DTS'/><category term='SQL'/><category term='deals'/><category term='tips'/><category term='SQL2000'/><category term='SQL2005'/><category term='datamining'/><category term='performance'/><category term='Stored Procedures'/><category term='SQL DataWarehouse'/><category term='T-SQL'/><category term='SSIS'/><category term='MDX'/><category term='AS2000'/><category term='Books'/><title type='text'>Ibrahim Hafidh</title><subtitle type='html'>SQL Server, Data Warehouse, Business Intelligence, Data Mining and other interesting stuff</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-23748684.post-710932854586179242</id><published>2008-09-22T07:15:00.000-07:00</published><updated>2008-09-22T07:18:52.241-07:00</updated><title type='text'>I have moved to...</title><summary type='text'>http://ihafidh.wordpress.comWordpress seems to be much faster than Blogger. Plus they have more themes with better designs.</summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/710932854586179242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=710932854586179242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/710932854586179242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/710932854586179242'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2008/09/i-have-moved-to.html' title='I have moved to...'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-231326331022432589</id><published>2008-09-18T09:30:00.000-07:00</published><updated>2008-09-18T09:50:32.809-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Viewing Query Plans</title><summary type='text'>This is more of a reminder to myself. I can't always remember the commands to show the execution plan in text. It's nice having the graphical interface but when you have a big execution plan then seeing it in text is much easier. Here are the commands:-- simple estimated execution planset showplan_text onGO --*** estimated execution plan with more detail. best to use this ****set showplan_all </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/231326331022432589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=231326331022432589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/231326331022432589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/231326331022432589'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2008/09/viewing-query-plans.html' title='Viewing Query Plans'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-3310799847829109917</id><published>2008-09-04T14:12:00.000-07:00</published><updated>2008-09-04T14:52:46.008-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL2000'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL2005'/><title type='text'>Executing a BAT file in SSIS</title><summary type='text'>I wanted to execute a batch file in SQL Server Integration Services, and I wanted to utilize two parameters from the Execute Process Task in SSIS: StandardOutputVariable and SuccessValue.The reasons for using these two parameters is that I wanted to know if the external batch file failed or not. And I wanted to capture any error messages produced.In SSIS, it is straightforward. Drag the "Execute </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/3310799847829109917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=3310799847829109917' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/3310799847829109917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/3310799847829109917'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2008/09/executing-bat-file-in-ssis.html' title='Executing a BAT file in SSIS'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-3430970508502100304</id><published>2008-07-31T14:07:00.000-07:00</published><updated>2008-07-31T14:41:19.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stored Procedures'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL2005'/><title type='text'>I'm still here and some great resources</title><summary type='text'>Well, after a long break from blogging I am back. We have a new addition to the family so that kept me away. Actually, that and just being lazy to blog really.Anyway, I recently came across some useful resources on SQL 2005 and thought I would share:JumpStartTVGreat intro videos for beginners wanting to learn SQL 2005, SSIS, SSAS, etc. They are free but you have to register.TechNet Virtual Labs: </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/3430970508502100304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=3430970508502100304' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/3430970508502100304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/3430970508502100304'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2008/07/im-still-here-and-some-links.html' title='I&apos;m still here and some great resources'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-6331529033978247058</id><published>2007-11-14T08:53:00.000-08:00</published><updated>2007-11-14T09:04:54.653-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS2005'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL DataWarehouse'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL2005'/><title type='text'>Restore DB with Different Name - Limitation</title><summary type='text'>Got this error trying to rename a SSAS 2005 database:"Backup and restore errors: Restore under different DatabaseId/DatabaseName can not be done for a database with partitions with specific location."Apparently, there is a limitation with SSAS 2005 when you try to restore a database with a different name AND you have specified a different folder location for storage. Hopefully this limitation is </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/6331529033978247058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=6331529033978247058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/6331529033978247058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/6331529033978247058'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/11/restore-db-with-different-name.html' title='Restore DB with Different Name - Limitation'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_Qk6UOfAX-XU/RzsqUkGjbeI/AAAAAAAAAZY/csRCUvT7kTs/s72-c/SSAS2005_StorageLocation.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-1175188561260918295</id><published>2007-11-01T15:38:00.000-07:00</published><updated>2007-11-01T15:57:52.224-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MDX'/><category scheme='http://www.blogger.com/atom/ns#' term='AS2005'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL2005'/><title type='text'>YTD and Time Dimension</title><summary type='text'>I kept getting the following error when trying to do YTD calculations using MDX on a client cube:VALUE    #Error Query  By default, a year level was expected. No such level was found in the cube.FORMATTED_VALUE    #Error By default, a year level was expected. No such level was found in the cube.Here is the MDX to do a simple YTD:SUM(YTD([Time].currentmember), [Measures].[Sales])The MDX is good </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/1175188561260918295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=1175188561260918295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/1175188561260918295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/1175188561260918295'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/11/ytd-and-time-dimension.html' title='YTD and Time Dimension'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-6238563793317893568</id><published>2007-10-30T08:13:00.000-07:00</published><updated>2007-10-30T08:27:19.419-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS2005'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL2005'/><title type='text'>Moving SSAS 2005 database to another drive</title><summary type='text'>I just got asked how to move a SSAS 2005 database from one drive to another. The default data folder is the C: drive when you install SQL 2005. Usually, the data drive that system admins assign is the D: , F: , etc drive.So how do you move a SSAS 2005 database? Well, apparently you can't  move individual databases, you have to move the entire data folder to another drive. You also have to change </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/6238563793317893568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=6238563793317893568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/6238563793317893568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/6238563793317893568'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/10/moving-ssas-2005-database-to-another.html' title='Moving SSAS 2005 database to another drive'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-4595618774878627012</id><published>2007-10-22T08:56:00.000-07:00</published><updated>2007-10-22T09:03:44.183-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL DataWarehouse'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='References'/><title type='text'>Books to Read: an update</title><summary type='text'>Update on books to read:1. T-SQL 2000 - Itzik Ben GanRe-read 3 chapters. Downloaded the SQL scripts in the book from the publisher's website. I did not know that they existed. That will make a good reference.3. Fast Track to MDX - MoshaAlmost done. Need to finish the last chapter.8. SQL Server 2005 Analysis Services Step by Step - ReedGood read. Read most of the book and found it very useful in </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/4595618774878627012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=4595618774878627012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/4595618774878627012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/4595618774878627012'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/10/books-to-read-update.html' title='Books to Read: an update'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-932049651475707311</id><published>2007-10-22T08:54:00.000-07:00</published><updated>2007-10-22T08:55:38.599-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='T-SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL2005'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>CTE in SQL 2005</title><summary type='text'>Common Table Expressions in SQL 2005 rule! One of the best uses of CTE is to do recursive queries. The syntax for it is as follows:WITH myCTE (id, name, desc) AS (  select id, name, desc  from table  you can reference the CTE here )select * from myCTEThe concept is similar to using derived tables in the way that your query can reference the CTE or derived table. The difference is that in a </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/932049651475707311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=932049651475707311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/932049651475707311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/932049651475707311'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/10/cte-in-sql-2005.html' title='CTE in SQL 2005'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-4420512445217153464</id><published>2007-07-19T19:30:00.000-07:00</published><updated>2007-10-22T08:56:55.227-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL DataWarehouse'/><title type='text'>Books to Read</title><summary type='text'>Books that are on my shelf that I need start reading, reread or finish off reading:1. T-SQL 2000 - Itzik Ben Gan2. Data Warehouse Toolkit - Kimball3. Fast Track to MDX - Mosha4. 2 minute SQL Stumpers - sqlservercentral.com5. Analysis Services 2005 - Malomed at el6. MDX Solutions - George Spoffard7. Data Mining with SQL 2005 - Jamie Mac et al8. SQL Server 2005 Analysis Services Step by Step - Reed</summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/4420512445217153464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=4420512445217153464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/4420512445217153464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/4420512445217153464'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/07/books-to-read.html' title='Books to Read'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-4585841074495017591</id><published>2007-06-01T13:43:00.000-07:00</published><updated>2007-10-30T08:32:28.968-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL2000'/><category scheme='http://www.blogger.com/atom/ns#' term='DTS'/><category scheme='http://www.blogger.com/atom/ns#' term='Stored Procedures'/><title type='text'>DTS Dynamic Properties and Global Variables</title><summary type='text'>It's been a while since I used Global Variables in SQL DTS. So here is a simple tutorial to:Setup a Stored Procedure using Input Variables Dynamically from an INI file (or any other source available in Dynamic Properties Task)(e.g. EXEC usp_test ?, ?)1. Add a SQL Task and enter your SQL script e.g. EXEC usp_test ?,?a) Click on "Parameters"b) Click on "Create Global Variables" to create global </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/4585841074495017591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=4585841074495017591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/4585841074495017591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/4585841074495017591'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/06/dts-dynamic-properties-and-global.html' title='DTS Dynamic Properties and Global Variables'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-7651030525353118389</id><published>2007-03-26T20:06:00.000-07:00</published><updated>2007-03-26T20:28:45.989-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS2000'/><title type='text'>Cure to Distinct Counts in SQL AS 2000</title><summary type='text'>So I have had a chance to work with aggregation settings to optimize performance in SQL AS 2000 of distinct counts. So far tweaking the aggregations has gotten me the best performance.  Dare I say I have the cure to the distinct count blues in SQL 2000? Well give it a try. You will notice significant cube processing times. Basically here is the rundown:Aggregations:1. Start at a lower aggregation</summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/7651030525353118389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=7651030525353118389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/7651030525353118389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/7651030525353118389'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/03/cure-to-distinct-counts-in-sql-as-2000.html' title='Cure to Distinct Counts in SQL AS 2000'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-8473191336874559777</id><published>2007-02-27T07:36:00.000-08:00</published><updated>2007-02-27T09:10:42.659-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS2005'/><title type='text'>Get Rid of those Distinct Count Blues</title><summary type='text'>Do you have the case of the distinct count blues? Too many rows in your fact table to do a distinct count? Are your resources overwhelmed by the distinct count process?No worries...SQL2005 to the rescue! Take advantage of the many-to-many relationship capabilities of SQL2005 to do counts on your dimension table instead of the usual distinct count on your fact table. Read more about the </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/8473191336874559777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=8473191336874559777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/8473191336874559777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/8473191336874559777'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/02/get-rid-of-distinct-count-blues.html' title='Get Rid of those Distinct Count Blues'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-391310151195188145</id><published>2007-02-26T08:45:00.000-08:00</published><updated>2007-02-27T07:36:21.080-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS2005'/><title type='text'>Many-to-Many in SQL 2005</title><summary type='text'>Anyone who has built cubes in SQL 2000 and had to deal with the issue of many-many relationships knows how difficult it was to deal with that.Enter SQL 2005 and the all problems are solved. Really, it is that much easier to handle many-many scenarios in 2005. The implementation is very straightforward. You have your "bridge tables" in your database structure and all you need to do is set them up </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/391310151195188145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=391310151195188145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/391310151195188145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/391310151195188145'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/02/many-many-in-sql-2005.html' title='Many-to-Many in SQL 2005'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-1895583534892601497</id><published>2007-02-25T18:24:00.000-08:00</published><updated>2007-02-26T09:32:45.801-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL2005'/><title type='text'>How to Downgrade a Database from SQL Server 2005 to SQL Server 2000</title><summary type='text'>There really is no wizard or documented procedure from Microsoft regarding this issue. Also, there isn't a simple way of backing up in SQL 2005 and restoring in SQL 2000. Actually, you can't; because there is no backward compatibility between the two versions. You can backup in SQL 2000 and restore in SQL 2005 but not the other way around.Is this a case of Microsoft forcing you to upgrade or are </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/1895583534892601497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=1895583534892601497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/1895583534892601497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/1895583534892601497'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/02/how-to-downgrade-database-from-sql.html' title='How to Downgrade a Database from SQL Server 2005 to SQL Server 2000'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-8315232242674529741</id><published>2007-02-07T13:12:00.000-08:00</published><updated>2007-02-26T09:33:13.755-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS2005'/><category scheme='http://www.blogger.com/atom/ns#' term='AS2000'/><title type='text'>Curse of the distinct count</title><summary type='text'>Distinct counts are a pain in SQL AS.DISTINCT COUNTAS2k - based on the dimension structure.AS2k5 - based on hierarchy and attribute structure.  This allows the distinct count measure to be calculated on much larger volumes of data.Some issues: distinct counts are typically calculated at run-time – i.e. at the moment the user asks the question.OPTIMIZE DISTINCT COUNTSThe basic run down of these </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/8315232242674529741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=8315232242674529741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/8315232242674529741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/8315232242674529741'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/02/curse-of-distinct-count.html' title='Curse of the distinct count'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-1222480897913141853</id><published>2007-02-07T10:47:00.000-08:00</published><updated>2007-02-07T10:55:53.469-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='deals'/><title type='text'>10 Shopping Tricks That Stores Hate</title><summary type='text'>I like these tips from the consumerist:Using Credit and Paying it Off on TimeSaying NO to the Extended WarrantyShopping in the Store But Buying OnlineOpening A Store Credit Card To Get A Discount, Then Cutting It UpRead more here.</summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/1222480897913141853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=1222480897913141853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/1222480897913141853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/1222480897913141853'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/02/10-shopping-tricks-that-stores-hate.html' title='10 Shopping Tricks That Stores Hate'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-6202100594682794378</id><published>2007-02-07T10:40:00.000-08:00</published><updated>2007-02-07T11:06:59.905-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='datamining'/><title type='text'>Basic Data Mining Concepts</title><summary type='text'>CASE TableA Case table has Attributes (columns) and States (values).==&gt; Equivalent to the Dimension Table in Data WarehousingCase key = the PK of the tableNESTED TableNested case - the many part of the relationship.==&gt; Equivalent to the Fact Table in Data WarehousingNested key = Not the FK (i.e. the PK of the table).  Important: It is rather the other attributes that make up the nested </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/6202100594682794378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=6202100594682794378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/6202100594682794378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/6202100594682794378'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/02/data-mining-002.html' title='Basic Data Mining Concepts'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-3333766081442994964</id><published>2007-02-07T10:36:00.000-08:00</published><updated>2007-02-26T09:33:27.031-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS2005'/><title type='text'>Analysis Services 2005 Performance Guide</title><summary type='text'>Analysis Services 2005 Performance Guide is now available from the MSDN downloads. Good stuff on performance including: distinct counts, partitioning, many-many, etc.</summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/3333766081442994964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=3333766081442994964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/3333766081442994964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/3333766081442994964'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/02/analysis-services-2005-performance.html' title='Analysis Services 2005 Performance Guide'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-3761976042121418954</id><published>2007-02-07T10:23:00.000-08:00</published><updated>2007-02-07T15:10:07.337-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='datamining'/><title type='text'>Data Mining 001</title><summary type='text'>Definition:Data mining is about analyzing data and finding hidden patterns using automatic or semi-automatic means.Three Parts to Data Mining:1. Create the model - similar to "create table"   discrete = distinct categories   continuous = numeric columns2. Train the model - similar to "insert into table"  a. processing the model ==&gt; similar to processing a cube  b. training model ==&gt; truth table3.</summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/3761976042121418954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=3761976042121418954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/3761976042121418954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/3761976042121418954'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2007/02/definition-data-mining-is-about.html' title='Data Mining 001'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-114194348678269337</id><published>2006-03-09T14:31:00.000-08:00</published><updated>2007-02-26T09:33:40.066-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS2005'/><title type='text'>How can SQL Server 2005 help me evaluate and manage indexes?</title><summary type='text'>The Microsoft SQL Server Advisory Team has a good article on indexes: http://blogs.msdn.com/sqlcat/archive/2005/12/12/502735.aspx  They include very useful performance tuning queries. SQL Server 2005 has what they call DMV (Dynamic Management Views)  that lets you do diagnostics and tuning. This was not available in SQL 2000.  This article  answers the following questions: (1) How can I find out </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/114194348678269337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=114194348678269337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/114194348678269337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/114194348678269337'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2006/03/how-can-sql-server-2005-help-me.html' title='How can SQL Server 2005 help me evaluate and manage indexes?'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-114194346368554216</id><published>2006-03-09T14:30:00.000-08:00</published><updated>2007-02-26T09:34:05.871-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS2005'/><title type='text'>SQL Server 2005 System Views Map</title><summary type='text'>Download the SQL Server 2005 System Views here.  Use it to get familiar with internal workings of SQL Server 2005. Found this from SQL-Server-Performance.com. </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/114194346368554216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=114194346368554216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/114194346368554216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/114194346368554216'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2006/03/sql-server-2005-system-views-map.html' title='SQL Server 2005 System Views Map'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-114193525930519961</id><published>2006-03-09T12:13:00.000-08:00</published><updated>2007-02-07T10:27:43.235-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='deals'/><title type='text'>Free calls US and International</title><summary type='text'>NetZero Voice-over-Internet Protocol (VoIP) Service for Dial-Up and Broadband lets you call Anyone, Anywhere in the world, Anytime for Free. Setup an account with Netzero and you can make calls in the US and Canada for free. They also give you a local US number. So international users can call you for free. i.e. PC to Phone! Thanks to my friend Sabir  for this link. </summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/114193525930519961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=114193525930519961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/114193525930519961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/114193525930519961'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2006/03/free-calls-us-and-international.html' title='Free calls US and International'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23748684.post-114192595091463423</id><published>2006-03-09T09:36:00.000-08:00</published><updated>2006-03-09T12:20:05.420-08:00</updated><title type='text'>First Blog</title><summary type='text'>This is my first blog. I actually created another blog at blog.com but their servers seemed to be too slow. Hopefully blogger is faster.So what will I be writing about...hmm....well, mostly SQL, Business Intelligence, and of course just random thoughts.</summary><link rel='replies' type='application/atom+xml' href='http://ihafidh.blogspot.com/feeds/114192595091463423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23748684&amp;postID=114192595091463423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/114192595091463423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23748684/posts/default/114192595091463423'/><link rel='alternate' type='text/html' href='http://ihafidh.blogspot.com/2006/03/first-blog.html' title='First Blog'/><author><name>Ibrahim Hafidh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
