<?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/opensearch/1.1/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/&quot;DU8CQHo4eip7ImA9Wx9RE0o.&quot;'><id>tag:blogger.com,1999:blog-29202663</id><updated>2010-12-15T09:51:01.432+08:00</updated><title>SQL Server</title><subtitle type='html'>SQL Server - Personnel Learning notes 
(Start from basic)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2'/><author><name>soonyu</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;DU8CQHo_eCp7ImA9Wx9RE0o.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-7661727013728237226</id><published>2010-12-14T16:53:00.014+08:00</published><updated>2010-12-15T09:51:01.440+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-12-15T09:51:01.440+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL Case'/><title>Using Inner join or Function(Case)</title><content type='html'>One of the developer using function in query to return the result that he needed. The query and write using inner join without function&lt;br /&gt;What is the different ?&lt;br /&gt;&lt;br /&gt;Example :&lt;br /&gt;In adventurework :&lt;br /&gt;&lt;br /&gt; create table HumanResources.Gender&lt;br /&gt;  (id char(1),&lt;br /&gt;   Name varchar(20))&lt;br /&gt;&lt;br /&gt;   insert into HumanResources.Gender&lt;br /&gt;   values ('M','This is Male')&lt;br /&gt;   insert into HumanResources.Gender&lt;br /&gt;   values ('F','This is Female')&lt;br /&gt;&lt;br /&gt;  create FUNCTION dbo.GetGender (@what char(1)) &lt;br /&gt;  RETURNS varchar(20)&lt;br /&gt;  AS &lt;br /&gt;  BEGIN &lt;br /&gt;            Declare @whatGender varchar(20) &lt;br /&gt;            SELECT @whatGender=Name from HumanResources.Gender where id=@what&lt;br /&gt;            RETURN @whatGender &lt;br /&gt;  End&lt;br /&gt;&lt;br /&gt;Run Display Estimated Execution plan &lt;a href="http://2.bp.blogspot.com/_aL5rN30u6a0/TQgSZxCISSI/AAAAAAAAAFw/6X9l74Z_k8U/s1600/displayexecution.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 26px; height: 26px;" src="http://2.bp.blogspot.com/_aL5rN30u6a0/TQgSZxCISSI/AAAAAAAAAFw/6X9l74Z_k8U/s200/displayexecution.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5550706774602434850" /&gt;&lt;/a&gt;&lt;br /&gt;together for the above 2 query&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_aL5rN30u6a0/TQgH243OOoI/AAAAAAAAAFo/f8LMvtm0hOU/s1600/compare.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 220px;" src="http://4.bp.blogspot.com/_aL5rN30u6a0/TQgH243OOoI/AAAAAAAAAFo/f8LMvtm0hOU/s400/compare.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5550695180292471426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What Estimated Execution plan above show?&lt;br /&gt;First query Query cost is 69% compare to second query Cost 31% (25%+6%)&lt;br /&gt;Is that mean second query better that first query ? &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let set statistics time on, click on  &lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_aL5rN30u6a0/TQgV0QI9vOI/AAAAAAAAAGA/x98cBthG9jU/s1600/actualexecution.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 27px; height: 26px;" src="http://1.bp.blogspot.com/_aL5rN30u6a0/TQgV0QI9vOI/AAAAAAAAAGA/x98cBthG9jU/s400/actualexecution.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5550710528164084962" /&gt;&lt;/a&gt; and actual run the query&lt;br /&gt;set statistics time on&lt;br /&gt;SELECT Gender,*&lt;br /&gt;  FROM [HumanResources].[Employee] a &lt;br /&gt;  inner join [HumanResources].[Gender] b&lt;br /&gt;  on a.Gender=b.id&lt;br /&gt;&lt;br /&gt;SELECT dbo.GetGender(Gender),Gender,a.*&lt;br /&gt;  FROM [HumanResources].[Employee] a &lt;br /&gt;set statistics time off &lt;br /&gt;&lt;br /&gt;Actual execution plan&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_aL5rN30u6a0/TQgU2_kcitI/AAAAAAAAAF4/Vfpwud-mwP4/s1600/actualexecutioncompare.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 152px;" src="http://2.bp.blogspot.com/_aL5rN30u6a0/TQgU2_kcitI/AAAAAAAAAF4/Vfpwud-mwP4/s400/actualexecutioncompare.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5550709475743926994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the actual exection plan&lt;br /&gt;First query still have high relative cost compare to second query&lt;br /&gt;&lt;br /&gt;From the statistics&lt;br /&gt;First query  CPU time = 0 ms, elapsed time = 83 ms.&lt;br /&gt;compare to Second query CPU time = &lt;strong&gt;15&lt;/strong&gt; ms,  elapsed time = &lt;strong&gt;91&lt;/strong&gt; ms.&lt;br /&gt;Second query elapsed time more slower compare to first query and use more CPU resource. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let turn on Profiler to see what is running when we execute the query&lt;br /&gt;&lt;br /&gt;Open SQL Profiler and select only TSQL:SQL:Batch Complete and click run&lt;br /&gt;In Microsoft SQL Management Studio and execute first query&lt;br /&gt;SELECT Gender,*&lt;br /&gt;  FROM [HumanResources].[Employee] a &lt;br /&gt;  inner join [HumanResources].[Gender] b&lt;br /&gt;  on a.Gender=b.id&lt;br /&gt;&lt;br /&gt;Go back to SQL Server Profiler and check what is running&lt;br /&gt;Only have query with SQL:BatchCompleted found in SQL Server Profiler with CPU 15, Read 19, Write 0, Duration 85&lt;br /&gt;&lt;br /&gt;In Microsoft SQL Management Studio and execute second query&lt;br /&gt;SELECT dbo.GetGender(Gender),Gender,a.*&lt;br /&gt;  FROM [HumanResources].[Employee] a &lt;br /&gt;Go back to SQL Server Profiler and check what is running&lt;br /&gt;Only have query with SQL:BatchCompleted found in SQL Server Profiler with CPU 31, Read 893, Write 0, Duration 85&lt;br /&gt;&lt;br /&gt;It show First query use less resource and run more faster compare to Second query.&lt;br /&gt;&lt;br /&gt;Go back to SQL Server Profiler, pause the trace&lt;br /&gt;From File-&gt;Properties-&gt;Event Selection-&gt;Check on Show all events-&gt; Go to TSQL Category and check on SP:StmtCompleted (SQL statement within a stored procedure has completed).&lt;br /&gt;Press run to run SQL profiler again.&lt;br /&gt;&lt;br /&gt;From Menu bar, click on "Clear Trace Window" to clear the early trace&lt;br /&gt;&lt;br /&gt;In Microsoft SQL Management Studio and execute first query&lt;br /&gt;SELECT Gender,*&lt;br /&gt;  FROM [HumanResources].[Employee] a &lt;br /&gt;  inner join [HumanResources].[Gender] b&lt;br /&gt;  on a.Gender=b.id&lt;br /&gt;&lt;br /&gt;Go back to SQL Profiler and check the result&lt;br /&gt;That is only 1 line in the SQL Profiler, SQL:BatchCompleted with CPU 31, Read 893, Write 0, Duration 85&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Let clear Trace Window in SQL Proiler to clear to trace result and go back to Microsoft SQL Management Studio and execute second query&lt;br /&gt;SELECT dbo.GetGender(Gender),Gender,a.*&lt;br /&gt;  FROM [HumanResources].[Employee] a &lt;br /&gt;&lt;br /&gt;Go back to SQL Profiler and check the result&lt;br /&gt;SP:stmtCompleted with &lt;br /&gt;- SELECT @whatGender=Name from HumanResources.Gender where id=@what &lt;br /&gt;- RETURN @whatGender &lt;br /&gt;&lt;br /&gt;Last result is SQL:BatchCompleted with query&lt;br /&gt;SELECT dbo.GetGender(Gender),Gender,a.*&lt;br /&gt;  FROM [HumanResources].[Employee] a &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When we execute Second query, SQL need to get Name value from HumanResources.Gender and return the value to GetGender function.&lt;br /&gt;&lt;br /&gt;If we have 291 result return, SQL will execute (291*2)+1 time in SQL Server compare to first query which only execute one&lt;br /&gt;&lt;br /&gt;From the result above, we can conclude first query &lt;br /&gt;SELECT Gender,*&lt;br /&gt;  FROM [HumanResources].[Employee] a &lt;br /&gt;  inner join [HumanResources].[Gender] b&lt;br /&gt;  on a.Gender=b.id&lt;br /&gt;&lt;br /&gt;is better than second query&lt;br /&gt;&lt;br /&gt;SELECT dbo.GetGender(Gender),Gender,a.*&lt;br /&gt;  FROM [HumanResources].[Employee] a&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-7661727013728237226?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/7661727013728237226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=7661727013728237226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/7661727013728237226?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/7661727013728237226?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/12/using-inner-join-or-functioncase.html' title='Using Inner join or Function(Case)'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aL5rN30u6a0/TQgSZxCISSI/AAAAAAAAAFw/6X9l74Z_k8U/s72-c/displayexecution.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0YERX04cSp7ImA9Wx9RE0w.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-1367323195000037508</id><published>2010-12-14T14:11:00.006+08:00</published><updated>2010-12-14T16:25:04.339+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-12-14T16:25:04.339+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL Case'/><title>SQL Change column name and type</title><content type='html'>I want change existing table column name and data type &lt;br /&gt;&lt;br /&gt;The faster way is drop and create&lt;br /&gt;If table already have data inside and we don't wanna recreate table, we can do this :&lt;br /&gt;&lt;br /&gt;Original table structure&lt;br /&gt; create table HumanResources.Gender2&lt;br /&gt;  (id char(1),&lt;br /&gt;   lang varchar(20),&lt;br /&gt;   Name varchar(20))&lt;br /&gt;&lt;br /&gt;Execute below query to change column name&lt;br /&gt;&lt;strong&gt;sp_RENAME 'HumanResources.Gender2','lang', 'lang_id' , 'COLUMN'&lt;/strong&gt;&lt;br /&gt;Caution: Changing any part of an object name could break scripts and stored procedures.&lt;br /&gt;&lt;br /&gt;Identify store procedure which reference to Gender2.lang table&lt;br /&gt;&lt;br /&gt;Example : &lt;br /&gt; create procedure GetGender2&lt;br /&gt;    @id int &lt;br /&gt;    as &lt;br /&gt;    select lang,name from Gender2 where &lt;br /&gt;    id =@id&lt;br /&gt;&lt;br /&gt;To identify table, trigger, view reference to Gender2.lang table, execute this&lt;br /&gt;&lt;strong&gt;sp_depends 'Gender2'&lt;/strong&gt;-- Gender2 is the table name &lt;br /&gt;&lt;br /&gt;In the current database, the specified object is referenced by the following:&lt;br /&gt;name              type&lt;br /&gt;dbo.GetGender2    stored procedure&lt;br /&gt;&lt;br /&gt;After change the column name and excute the above store procedure, SQL will give this error message:&lt;br /&gt;Msg 207, Level 16, State 1, Procedure GetGender2, Line 4&lt;br /&gt;Invalid column name 'lang'.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We should change all store procedure which reference to this table&lt;br /&gt;&lt;br /&gt;In this case, we need change Store Procedure GetGender2, change lang to lang_id&lt;br /&gt;&lt;br /&gt; alter procedure GetGender2&lt;br /&gt;    @id int &lt;br /&gt;    as &lt;br /&gt;    select &lt;strong&gt;lang_id&lt;/strong&gt;,name from Gender2 where &lt;br /&gt;    id =@id&lt;br /&gt;&lt;br /&gt;I execute the second query to change the data type&lt;br /&gt;&lt;strong&gt;alter table HumanResources.Gender2 &lt;br /&gt;ALTER COLUMN lang_id int &lt;/strong&gt;&lt;br /&gt;Data type change successful&lt;br /&gt;&lt;br /&gt;If original table already have data and data as below:&lt;br /&gt;   insert into Gender2&lt;br /&gt;   values ('English','This is Male')&lt;br /&gt;   insert into Gender2&lt;br /&gt;   values ('English','This is Female')&lt;br /&gt;&lt;br /&gt;When we run &lt;br /&gt;&lt;strong&gt;alter table HumanResources.Gender2 &lt;br /&gt;ALTER COLUMN lang_id int &lt;/strong&gt;&lt;br /&gt;SQL will give error :&lt;br /&gt;- Msg 245, Level 16, State 1, Line 1&lt;br /&gt;Conversion failed when converting the varchar value 'English' to data type int.&lt;br /&gt;The statement has been terminated.&lt;br /&gt;&lt;br /&gt;We fail to change the data type because original data is character, we can't change the data type to integer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference :&lt;br /&gt;&lt;a href="http://blog.sqlauthority.com/2008/08/26/sql-server-how-to-rename-a-column-name-or-table-name/" target="_blank"&gt;SQL SERVER – How to Rename a Column Name or &lt;br /&gt;Table Name&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mssqltips.com/tip.asp?tip=1294" target="_blank"&gt;Listing SQL Server Object Dependencies&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-1367323195000037508?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/1367323195000037508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=1367323195000037508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/1367323195000037508?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/1367323195000037508?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/12/sql-change-column-name-and-type.html' title='SQL Change column name and type'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUIMRn86eyp7ImA9Wx9REkQ.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-1486613511272519041</id><published>2010-12-14T11:28:00.003+08:00</published><updated>2010-12-14T11:33:07.113+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-12-14T11:33:07.113+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2008 Learning'/><title>SQL 2008 Free Learning Resource Clinic 10259: SQL Server 2008: Database Infrastructure and Scalability</title><content type='html'>Read &lt;a href="http://sqlskills.com/BLOGS/KIMBERLY/post/Microsoft-eLearning-Resources-Clinic-10259-(SQL-2008-DBIS).aspx" Target="_blank"&gt;Kimberly L. Tripp Blog&lt;/a&gt;, and found this&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;"When SQL Server 2008 was in beta, Paul and I worked on a project to create content that would "jumpstart" folks in learning and working with SQL Server 2008. We delivered these "new features" courses at various locations and finally, we recorded the content. All of this content is now available FOR &lt;strong&gt;FREE&lt;/strong&gt; from Microsoft through their eLearning outlet"&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=137158&amp;tab=overview" Target="_blank"&gt;Clinic 10259: SQL Server 2008: Database Infrastructure and Scalability.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;You need login into Microsoft Learning to start the Clinic. The good news is this is free and valid for one year!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-1486613511272519041?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/1486613511272519041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=1486613511272519041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/1486613511272519041?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/1486613511272519041?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/12/sql-2008-free-learning-resource-clinic.html' title='SQL 2008 Free Learning Resource Clinic 10259: SQL Server 2008: Database Infrastructure and Scalability'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUIERHg9eCp7ImA9Wx9SGEo.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-6875908239021170146</id><published>2010-12-09T14:22:00.002+08:00</published><updated>2010-12-09T14:51:45.660+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-12-09T14:51:45.660+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2008 Installation'/><title>You must use the Role Management Tool to install or configure Microsoft.NET Framework 3.5SP1</title><content type='html'>I want install SQL Express Version in Windows 2008 R2&lt;br /&gt;When I Install SQL Server Express 2008, installation fail and give this error message &lt;br /&gt;"need install Microsoft .NET Framework 3.5 SP1 Setup"&lt;br /&gt;I Download and install Microsoft .NET Framework 3.5 SP1 Setup but fail&lt;br /&gt;"You must use the Role Management Tool to install or configure Microsoft.NET Framework 3.5SP1."&lt;br /&gt;&lt;br /&gt;From Server-&gt; Start-&gt;Administrator tools-&gt;Server management -&gt;Features -&gt; Add Features-&gt;.NET Framework 3.5.1 Features&lt;br /&gt;&lt;br /&gt;After installation, SQL intallation can contineous.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-6875908239021170146?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/6875908239021170146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=6875908239021170146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/6875908239021170146?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/6875908239021170146?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/12/you-must-use-role-management-tool-to.html' title='You must use the Role Management Tool to install or configure Microsoft.NET Framework 3.5SP1'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;A0ICSHw6cSp7ImA9Wx9TF08.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-2995071728170455350</id><published>2010-11-26T07:50:00.003+08:00</published><updated>2010-11-26T07:59:29.219+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-11-26T07:59:29.219+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 Lab'/><title>SQL 2005 Self-Paced Lab from PSS</title><content type='html'>If you still using SQL 2005, or want to learn the below topic, go to download &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9b8098a7-e75f-462a-b296-e80199c9f323" Target="_blank"&gt;PSS Service Center Lab 2005 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Blocking and Deadlocking&lt;/strong&gt;&lt;br /&gt;In these labs you will use SQLDiag, SQL Profiler, and various DMVs to solve blocking and deadlocking problems.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;br /&gt;In these labs you will use SQLDiag, SQL Profiler, showplan, and ReadTrace to solve various query performance problems.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Debugging&lt;/strong&gt;&lt;br /&gt;In these labs you will learn more about debugging tools used by the PSS team such as SQLDumper and Windows Debugging Tools to solve problems like a crash of SQL Server.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Server and Data Recovery&lt;/strong&gt;&lt;br /&gt;In these labs you will learn to how to solve various server and database offline problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-2995071728170455350?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/2995071728170455350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=2995071728170455350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/2995071728170455350?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/2995071728170455350?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/11/sql-2005-self-paced-lab-from-pss.html' title='SQL 2005 Self-Paced Lab from PSS'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D04HSX8_eSp7ImA9Wx5aFU8.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-4284253427131899075</id><published>2010-11-12T09:17:00.003+08:00</published><updated>2010-11-12T09:38:58.141+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-11-12T09:38:58.141+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL Backup'/><title>Netvault - Failed to Open file exclusions file</title><content type='html'>I using Netvault Backup to backup my database.&lt;br /&gt;The Netvault backup has an option where we can exclude file with certain extention&lt;br /&gt;&lt;br /&gt;I add a file with extention list want to exclude in backup&lt;br /&gt;&lt;br /&gt;When Netvault start backup, it give this message : &lt;br /&gt;Backup completed with warnings&lt;br /&gt;&lt;br /&gt;I check Netvault log and found this &lt;br /&gt;A problem occurred initializing items to exclude from the backup: "Failed to open file exclusions file 'c:\file\exclude.txt"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A problem occurred initializing items to exclude from the backup: "File exclusions file 'c:\file\exclude.txt" is not a valid Unicode file&lt;br /&gt;&lt;br /&gt;Solve with :&lt;br /&gt;Open and save exclude.txt as unicode file and backup successful without warning&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-4284253427131899075?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/4284253427131899075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=4284253427131899075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/4284253427131899075?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/4284253427131899075?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/11/netvault-failed-to-open-file-exclusions.html' title='Netvault - Failed to Open file exclusions file'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CUMFQX8zfSp7ImA9Wx5UF0w.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-4181271146745412204</id><published>2010-10-22T09:34:00.002+08:00</published><updated>2010-10-22T10:10:10.185+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-10-22T10:10:10.185+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 DMV'/><title>Query running in SQL Server</title><content type='html'>I use this sript to check what query is running in server&lt;br /&gt;&lt;br /&gt;select r.blocking_session_id,r.session_id ,h.text,substring(h.text, (r.statement_start_offset/2)+1 , ((case r.statement_end_offset when -1 then datalength(h.text) &lt;br /&gt;else r.statement_end_offset end - r.statement_start_offset)/2) + 1) as text , r.wait_type, r.wait_time , r.last_wait_type , r.wait_resource ,&lt;br /&gt;r.command , r.database_id , r.granted_query_memory, r.reads , r.writes , r.row_count , s.[host_name] , s.program_name , s.login_name &lt;br /&gt;from sys.dm_exec_sessions as s &lt;br /&gt;inner join sys.dm_exec_requests as r on s.session_id =r.session_id and s.last_request_start_time=r.start_time&lt;br /&gt;CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) h where is_user_process = 1 order by 2 desc&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-4181271146745412204?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/4181271146745412204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=4181271146745412204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/4181271146745412204?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/4181271146745412204?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/10/query-running-in-sql-server.html' title='Query running in SQL Server'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CUADRngzeCp7ImA9Wx5UFko.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-7183240369598460815</id><published>2010-10-21T23:06:00.002+08:00</published><updated>2010-10-21T23:09:37.680+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-10-21T23:09:37.680+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 SSIS'/><title>SQL 2005 SSIS FAIL TO SAVE PACKAGE file error 0x80040155 "interface not registered"</title><content type='html'>When I create new project in SSIS, it fail and give this message :&lt;br /&gt;&lt;br /&gt;"FAIL TO SAVE PACKAGE file error 0x80040155 "interface not registered"&lt;br /&gt;&lt;br /&gt;Google and get this answer:&lt;br /&gt;&lt;br /&gt;regsvr32 msxml6.dll&lt;br /&gt;regsvr32 msxml3.dll&lt;br /&gt;&lt;br /&gt;I run the above in the command prompt and It succesful create Project in SSIS with no error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-7183240369598460815?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/7183240369598460815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=7183240369598460815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/7183240369598460815?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/7183240369598460815?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/10/sql-2005-ssis-fail-to-save-package-file.html' title='SQL 2005 SSIS FAIL TO SAVE PACKAGE file error 0x80040155 &quot;interface not registered&quot;'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;A0IAR3Y_eSp7ImA9WxFbEE4.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-254364074853588026</id><published>2010-07-02T10:57:00.001+08:00</published><updated>2010-07-02T10:59:06.841+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-07-02T10:59:06.841+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 script'/><title>Objects in SQL File Group</title><content type='html'>I want know which object sit in SQL filegroup.&lt;br /&gt;Do some google and found this &lt;a href="http://www.tsql.ca/Resources/Articles/Listobjectsperfilegroup/tabid/607/Default.aspx" target="_blank"&gt;script&lt;/a&gt; to list objects per filegroup&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-254364074853588026?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/254364074853588026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=254364074853588026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/254364074853588026?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/254364074853588026?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/07/objects-in-sql-file-group.html' title='Objects in SQL File Group'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CEIFRn88fCp7ImA9WxFXEUg.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-4121364068881723885</id><published>2010-05-18T10:50:00.003+08:00</published><updated>2010-05-18T11:15:17.174+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-05-18T11:15:17.174+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title>SQL Server 2005 Patch Fails to install with an error "Unable to install Windows Installer MSP file"</title><content type='html'>I try to install SQL 2005 Service Patch 3, but it fail to install&lt;br /&gt;After some Google, find this solution useful. My SQL 2005 SP3 successful install&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/sqlserverfaq/archive/2009/01/30/part-1-sql-server-2005-patch-fails-to-install-with-an-error-unable-to-install-windows-installer-msp-file.aspx" target="_blank"&gt;SQL Server 2005 Patch Fails to install with an error "Unable to install Windows Installer MSP file" &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;&lt;a href="http://kb.flexerasoftware.com/selfservice/viewContent.do?externalID=Q105971" target="_blank"&gt;Converting a Regular GUID to a Compressed GUID&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-4121364068881723885?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/4121364068881723885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=4121364068881723885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/4121364068881723885?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/4121364068881723885?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/05/sql-server-2005-patch-fails-to-install.html' title='SQL Server 2005 Patch Fails to install with an error &quot;Unable to install Windows Installer MSP file&quot;'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CEcGSXo6fSp7ImA9WxFXEUg.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-8508740045205406623</id><published>2010-05-18T10:43:00.006+08:00</published><updated>2010-05-18T11:07:08.415+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-05-18T11:07:08.415+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 SSIS'/><title>SSIS - Exception from HRESULT: 0x8007007E</title><content type='html'>I try to add SSIS to SQL jobs, but it gives me this erorr:&lt;br /&gt;The specified module could not be found. (Exception from HRESULT: 0x8007007E) (SqlManagerUI)&lt;br /&gt;and the SSIS UI no show&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The step can be repeat with:&lt;br /&gt;Open Microsoft SQL Server Management Studio -&gt;SQLServerName-&gt; SQL Server Agent-&gt; Job- &gt;right click "new job" -&gt; In General -&gt;keying Job name- &gt; In steps -&gt; Press "New"-&gt; In Type -&gt; Choose "SQL Server Integration Services Package" and the error message will pop out&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aL5rN30u6a0/S_H_rV8diwI/AAAAAAAAAEk/_sSFUAgcbjY/s1600/error.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 39px;" src="http://2.bp.blogspot.com/_aL5rN30u6a0/S_H_rV8diwI/AAAAAAAAAEk/_sSFUAgcbjY/s200/error.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5472436142322060034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aL5rN30u6a0/S_H_xwXEOrI/AAAAAAAAAEs/xqLsRU-ViDI/s1600/error2.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 178px;" src="http://3.bp.blogspot.com/_aL5rN30u6a0/S_H_xwXEOrI/AAAAAAAAAEs/xqLsRU-ViDI/s200/error2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5472436252492184242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;solution&lt;br /&gt;1. My computer- &gt; right click &lt;br /&gt;2. Advance -&gt; environment Variables&lt;br /&gt;3. System variables- &gt; path&lt;br /&gt;&lt;br /&gt;** Please change with careful **   &lt;br /&gt;let say you have this  in path&lt;br /&gt;C:\WINDOWS\system32;C:\WINDOWS&lt;br /&gt;append this line at behind&lt;br /&gt;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\&lt;br /&gt;&lt;br /&gt;c:\program files\Microsoft SQL Server\90\DTS\Binn\ is the location of DTS\Binn in your server&lt;br /&gt;please replace with the correct path&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. close the UI&lt;br /&gt;5. Close Mircosoft SQL Server Management Studio and reopen it&lt;br /&gt;6. Repeat the step, and no more error.&lt;br /&gt;&lt;br /&gt;The above solution work for my server and problem solve.&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;&lt;a href="http://www.sqlservercentral.com/Forums/Topic278644-148-1.aspx" target="_blank"&gt;http://www.sqlservercentral.com/Forums/Topic278644-148-1.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://narfle.com/blog/2008/02/ssis-subsystem-failed-to-load.asp" target="_blank"&gt;http://narfle.com/blog/2008/02/ssis-subsystem-failed-to-load.asp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-8508740045205406623?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/8508740045205406623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=8508740045205406623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/8508740045205406623?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/8508740045205406623?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/05/ssis-exception-from-hresult-0x8007007e.html' title='SSIS - Exception from HRESULT: 0x8007007E'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aL5rN30u6a0/S_H_rV8diwI/AAAAAAAAAEk/_sSFUAgcbjY/s72-c/error.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUQNQHc7fip7ImA9WxFQFk4.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-2706112061392498498</id><published>2010-05-12T11:45:00.004+08:00</published><updated>2010-05-12T12:09:51.906+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-05-12T12:09:51.906+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title>SQL Server Build List</title><content type='html'>SQL Server 2005 Build list maintain by By Steve Jone in sqlservercentral&lt;br /&gt;&lt;a href="http://www.sqlservercentral.com/articles/Administration/2960/" target="_blank"&gt;http://www.sqlservercentral.com/articles/Administration/2960/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SQL Server 2008 Build list maintain by By Steve Jone in sqlservercentral&lt;br /&gt;&lt;a href="http://www.sqlservercentral.com/articles/SQL+Server+2008/63491/" target="_blank"&gt;http://www.sqlservercentral.com/articles/SQL+Server+2008/63491/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another Source from sqlsecurity&lt;br /&gt;&lt;a href="http://www.sqlsecurity.com/FAQs/SQLServerVersionDatabase/tabid/63/Default.aspx" target="_blank"&gt;http://www.sqlsecurity.com/FAQs/SQLServerVersionDatabase/tabid/63/Default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Microsoft Security -&gt; Select SQL 2005&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/security/current.aspx" target="_blank"&gt;http://www.microsoft.com/technet/security/current.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-2706112061392498498?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/2706112061392498498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=2706112061392498498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/2706112061392498498?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/2706112061392498498?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/05/sql-server-build-list.html' title='SQL Server Build List'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DkYMSH45eip7ImA9WxBaE08.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-8276025292761976586</id><published>2010-03-23T11:35:00.003+08:00</published><updated>2010-03-23T14:03:09.022+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-03-23T14:03:09.022+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 script'/><title>What SQL job in SQL Server</title><content type='html'>My x colleague ask me how to query SQL job in SQL Server&lt;br /&gt;Normally I use the below script&lt;br /&gt;&lt;br /&gt;use msdb&lt;br /&gt;select name from sysjobs&lt;br /&gt;where enabled=1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-8276025292761976586?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/8276025292761976586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=8276025292761976586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/8276025292761976586?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/8276025292761976586?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/03/what-sql-job-in-sql-server.html' title='What SQL job in SQL Server'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkUHRHw7cCp7ImA9WxBUFk4.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-307145468248062287</id><published>2010-03-04T01:40:00.002+08:00</published><updated>2010-03-04T01:43:55.208+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-03-04T01:43:55.208+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL Resource'/><title>Media - For DBA</title><content type='html'>From Microsoft TechNet&lt;br /&gt;example of Title : &lt;br /&gt;&lt;a href="http://edge.technet.com/Media/LINQ-and-Entity-Framework-for-the-DBA/" target="_blank"&gt;LINQ and Entity Framework, for the DBA&lt;/a&gt;&lt;br /&gt;&lt;a href="http://edge.technet.com/Media/SQL-Services-What-does-it-mean-for-the-DBA/" target="_blank"&gt;SQL Services - What does it mean for the DBA&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and lot of Real World DBA Episode ...&lt;br /&gt;&lt;br /&gt;Find all media &lt;a href="http://edge.technet.com/Tags/Database+Administration/#Page=1"&gt;here &lt;/a&gt;from Microsoft Technet&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-307145468248062287?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/307145468248062287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=307145468248062287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/307145468248062287?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/307145468248062287?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/03/media-for-dba.html' title='Media - For DBA'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CUIBRHk7eSp7ImA9WxBVFEs.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-4185130929177259696</id><published>2010-02-18T11:09:00.003+08:00</published><updated>2010-02-18T11:25:55.701+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-02-18T11:25:55.701+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 New'/><title>SQL Server 2005 ranking functions - RANK(), DENSE_RANK(), NTILE()</title><content type='html'>&lt;a href="http://msdn.microsoft.com/en-us/library/ms189798.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/ms189798.aspx&lt;/a&gt;&lt;br /&gt;Ranking functions return a ranking value for each row in a partition. Depending on the function that is used, some rows might receive the same value as other rows. Ranking functions are nondeterministic.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/martinpoon/archive/2006/09/22/SQL-Server-2005-ranking-functions-_2D00_-RANK_280029002C00_-DENSE_5F00_RANK_280029002C00_-NTILE_28002900_-.aspx" target="_blank"&gt;Good explanation of ranking function&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.4guysfromrolla.com/webtech/010406-1.shtml" target="_blank"&gt;Good example of ranking function&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-4185130929177259696?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/4185130929177259696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=4185130929177259696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/4185130929177259696?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/4185130929177259696?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/02/sql-server-2005-ranking-functions-rank.html' title='SQL Server 2005 ranking functions - RANK(), DENSE_RANK(), NTILE()'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;A0QGQng_fyp7ImA9WxBWGUg.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-2472872774828274037</id><published>2010-02-12T15:12:00.002+08:00</published><updated>2010-02-12T15:22:03.647+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-02-12T15:22:03.647+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL Tools'/><title>SQL Free monitor tools</title><content type='html'>SQL HeartBeat, Monitor your sql server from &lt;a href="http://www.sqlsolutions.com/" target="_blank"&gt;SQLSolutions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlsolutions.com/products/Heartbeat/index.html" target="_blank"&gt;http://www.sqlsolutions.com/products/Heartbeat/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SQL Check, Monitor your sql server from &lt;a href="http://www.Idera.com" target="_blank"&gt;Idera&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.idera.com/Products/Free-Tools/SQL-check/" target="_blank"&gt;http://www.idera.com/Products/Free-Tools/SQL-check/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-2472872774828274037?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/2472872774828274037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=2472872774828274037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/2472872774828274037?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/2472872774828274037?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/02/sql-free-monitor-tools.html' title='SQL Free monitor tools'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkQCRHg5fCp7ImA9WxBXFE0.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-7661522086761194361</id><published>2010-01-25T16:25:00.004+08:00</published><updated>2010-01-25T16:32:45.624+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-01-25T16:32:45.624+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 permission'/><title>Login is locked out when enforce password policy is on</title><content type='html'>MY SQL 2005 login is set with “Enforce password policy” turn on &lt;br /&gt;&lt;br /&gt;Check what mean by Enforce password policy:&lt;br /&gt;In Start-&gt;Administrative tools-&gt;Local Security Settings&lt;br /&gt;Security Settings-&gt; Account Policies -&gt; Account Lockout Policy&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Account Lockout threshold - 5 invalid login attempts&lt;/span&gt;&lt;br /&gt;If user keying 5 invalid login attempts, account will be lock.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Account lockout duration - 30 minutes&lt;/span&gt;&lt;br /&gt;account will be lock for 30 min before automatically becoming unlocked&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Reset account lockout counter after 30 minutes&lt;/span&gt;&lt;br /&gt;This security setting determines the number of minutes that must elapse after a failed logon attempt before the failed logon attempt counter is reset to 0 bad logon attempts&lt;br /&gt;&lt;br /&gt;I use test as login id and keying 5 invalid password.&lt;br /&gt;I try next login with correct password, I can’t login into this SQL 2005 server. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aL5rN30u6a0/S11WLojc9UI/AAAAAAAAAEc/--S7mKMLzxY/s1600-h/loginfail.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 124px;" src="http://2.bp.blogspot.com/_aL5rN30u6a0/S11WLojc9UI/AAAAAAAAAEc/--S7mKMLzxY/s200/loginfail.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5430591483543352642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I check from Microsoft SQL Server Management Studio Server name-&gt;Security-&gt; test&lt;br /&gt;Double click on test (login name), select Status-&gt;Under&lt;br /&gt;Status -&gt; SQL Server authentication -&gt;&lt;br /&gt;"Login is locked" out is checked.&lt;br /&gt;&lt;br /&gt;It mean my login account been locked.&lt;br /&gt;&lt;br /&gt;I unchecked "account been locked" and press "OK".&lt;br /&gt;I login with the correct password, the login still fail.&lt;br /&gt;I double click the SQL login again, "account been locked" is still "checked"&lt;br /&gt;&lt;br /&gt;I unchecked Enforce password policy, unchecked Login is locked out" and press OK.&lt;br /&gt;I login with correct password, but login still fail.&lt;br /&gt;&lt;br /&gt;Solution:&lt;br /&gt;1. Change password with TSQL&lt;br /&gt;   -ALTER LOGIN test WITH PASSWORD = 'complexpassword',CHECK_POLICY = ON;&lt;br /&gt;   -I login with complexpassword, login successful&lt;br /&gt;&lt;br /&gt;2. Change password from Microsoft SQL Server Management Studio&lt;br /&gt;   -Microsoft SQL Server Management Studio -&gt; Server name-&gt;Security-&gt; test&lt;br /&gt;   -Double click on test (login name)-&gt;General -&gt; Keying new password in Password and Confirm Password  and press "OK"&lt;br /&gt;   -Double click on test (login name)-&gt;Status -&gt;SQL Server authentication: -&gt; Login is locked out&lt;br /&gt;   -I login with complexpassword, login successful&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc758659%28WS.10%29.aspx" target="_blank"&gt;Account lockout duration&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc784599%28WS.10%29.aspx" target="_blank"&gt;Reset account lockout counter after &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-7661522086761194361?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/7661522086761194361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=7661522086761194361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/7661522086761194361?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/7661522086761194361?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/01/login-is-locked-out-when-enforce.html' title='Login is locked out when enforce password policy is on'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aL5rN30u6a0/S11WLojc9UI/AAAAAAAAAEc/--S7mKMLzxY/s72-c/loginfail.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;Dk4HQH4zeip7ImA9WxBQFUk.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-5720355068813541829</id><published>2010-01-15T16:34:00.004+08:00</published><updated>2010-01-15T16:42:11.082+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-01-15T16:42:11.082+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='OLAP'/><title>MSOLAP Provider used in connection string</title><content type='html'>We move asp page from live server to new setup server.&lt;br /&gt;When asp page connect to our olap server, it show the below message: &lt;br /&gt;&lt;br /&gt;Microsoft® OLE DB Provider for OLAP Services &lt;br /&gt;error '80004005' OLAP server error: The operation requested failed due to security problems (the user could not be authenticated). &lt;br /&gt;&lt;br /&gt;Our connection string as below and same with live server&lt;br /&gt;provider=msolap;data source=servername;initial catalog=customer;user id=user;password=xxx;sspi=anonymous&lt;br /&gt;&lt;br /&gt;After some Google and found this article by my colleague&lt;br /&gt;&lt;a href="http://blog.csdn.net/wantfly2006/archive/2006/05/10/715823.aspx" target=_blank&gt; How to check the MSOLAP Provider used in connection string&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some extraction of article as below:&lt;br /&gt;MSOLAP   ---Default Provider&lt;br /&gt;MSOLAP.1  ---OLAP 7.0 Provider (msolap.dll)&lt;br /&gt;MSOLAP.1  ---Analysis Service 2000 Provider (msolap80.dll)&lt;br /&gt;MSOLAP.1  ---SSAS provider (msolap90.dll)&lt;br /&gt;&lt;br /&gt;HKCR\MSOLAP    ---is the default and used when MSOLAP is selected in the connection string, the file msolap.dll, msolap80.dll or msolap90.dll that is latest registered will be the default.&lt;br /&gt;HKCR\MSOLAP.1  ---is the registry key for OLAP version 7, file msolap.dll&lt;br /&gt;HKCR\MSOLAP.2  ---is the registry key for AS2000, file msolap80.dll&lt;br /&gt;HKCR\MSOLAP.3  ---is the registry key for AS2005, file msolap90.dl&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We change the connection string to &lt;br /&gt;provider=msolap.3;data source=servername;initial catalog=customer;user id=user;password=xxx;sspi=anonymous&lt;br /&gt;and it work&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-5720355068813541829?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/5720355068813541829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=5720355068813541829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/5720355068813541829?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/5720355068813541829?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/01/msolap-provider-used-in-connection.html' title='MSOLAP Provider used in connection string'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;Ck4FRX8zeyp7ImA9WxBQFUk.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-4817012991375831636</id><published>2010-01-15T15:11:00.004+08:00</published><updated>2010-01-15T15:35:14.183+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-01-15T15:35:14.183+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 DMV'/><title>SQL process, percentage of complete</title><content type='html'>I restore one database and want know how many percent the SQL process will be complete?&lt;br /&gt;&lt;br /&gt;Step&lt;br /&gt;1. Restore database test from disk='c:\test.mdf'&lt;br /&gt;2. We can check which session belong to this process with running the below command&lt;br /&gt;sp_who2 'active'&lt;br /&gt;3. Check on command column, and look for "Restore database"&lt;br /&gt;My SPID for this "Restore database" = 57&lt;br /&gt;4. Run the below command and look for session_id=57&lt;br /&gt;&lt;br /&gt;Select session_id,percent_complete,estimated_completion_time,total_elapsed_time&lt;br /&gt;From sys.dm_exec_requests &lt;br /&gt;Where session_id=57&lt;br /&gt;&lt;br /&gt;session_id percent_complete estimated_completion_time total_elapsed_time&lt;br /&gt;---------- ---------------- ------------------------- ------------------&lt;br /&gt;57         26.47547         5800366                   2090266&lt;br /&gt;&lt;br /&gt;The above result show the SQL process already complete 26.47%, estimated_completion_time=5800366 and total_elapsed_time=2090266&lt;br /&gt;&lt;br /&gt;This above example is use to show how to use sys.dm_exec_requests to show how many percent_complete of SQL process. &lt;br /&gt;We can also run the below command to show percentage complete of restore process.&lt;br /&gt;&lt;br /&gt;Restore database test from disk='c:\test.mdf' with stats&lt;br /&gt;10 percent processed.&lt;br /&gt;20 percent processed.&lt;br /&gt;30 percent processed.&lt;br /&gt;....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-4817012991375831636?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/4817012991375831636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=4817012991375831636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/4817012991375831636?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/4817012991375831636?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2010/01/sql-process-percentage-of-complete.html' title='SQL process, percentage of complete'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CEEFSHsyfCp7ImA9WxNaFkg.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-3119102771665085351</id><published>2009-12-01T15:26:00.003+08:00</published><updated>2009-12-01T15:30:19.594+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2009-12-01T15:30:19.594+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 permission'/><title>Disable SQL Guest user</title><content type='html'>For SQL 2005&lt;br /&gt;1.&lt;br /&gt;Microsoft SQL Server Management Studio -&gt; SQLServer name-&gt; database -&gt; database name-&gt; right click -&gt; property - &gt;Permission&lt;br /&gt;&lt;br /&gt;User/roles -&gt; select guest -&gt; un-check "connect"&lt;br /&gt;&lt;br /&gt;2. &lt;br /&gt;USE &lt;Database Name&gt;&lt;br /&gt;GO&lt;br /&gt;REVOKE CONNECT FROM GUEST&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Reference &lt;br /&gt;&lt;a href="http://www.mssqltips.com/tip.asp?tip=1172" target="_blank"&gt;SQL Server Database Guest User Account&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-3119102771665085351?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/3119102771665085351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=3119102771665085351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/3119102771665085351?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/3119102771665085351?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2009/12/disable-sql-guess-user.html' title='Disable SQL Guest user'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CkEGR3g6fyp7ImA9WxNUEk4.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-5343790099795469680</id><published>2009-11-03T14:41:00.002+08:00</published><updated>2009-11-03T14:43:46.617+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2009-11-03T14:43:46.617+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL Access'/><title>SQL connection string</title><content type='html'>All type of sql connection string for ODBC, OLE DB , SQLConnection.net&lt;br /&gt;&lt;br /&gt;refer to this &lt;a href="http://www.sqlstrings.com/SQL-Server-connection-strings.htm" target="_blank"&gt;site&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-5343790099795469680?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/5343790099795469680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=5343790099795469680' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/5343790099795469680?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/5343790099795469680?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2009/11/sql-connection-string.html' title='SQL connection string'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DkQEQn4_cCp7ImA9WxNUEUg.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-3223514394973530932</id><published>2009-11-02T17:07:00.004+08:00</published><updated>2009-11-02T17:31:43.048+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2009-11-02T17:31:43.048+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 data type'/><title>SQL Data Type - Bit</title><content type='html'>We have SQL 2000 and SQL 2005 server&lt;br /&gt;we run this in SQL 2000 server and SQL 2005 Server&lt;br /&gt;&lt;br /&gt;DECLARE @bit bit&lt;br /&gt;SET @bit = 'TRUE'&lt;br /&gt;IF @bit = 1&lt;br /&gt;   PRINT 'Yes, this is true!'&lt;br /&gt;ELSE&lt;br /&gt;   PRINT 'No, this is FALSE!'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL 2000 result :&lt;br /&gt;Server: Msg 245, Level 16, State 1, Line 3&lt;br /&gt;Syntax error converting the varchar value 'TRUE' to a column of data type bit.&lt;br /&gt;&lt;br /&gt;SQL 2005 result :&lt;br /&gt;Yes, this is true!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL 2000 bit data type won't accept 'True'!&lt;br /&gt;&lt;br /&gt;thanks for my colleague for this finding.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa225961%28SQL.80%29.aspx" target="_blank"&gt;SQL 2000 - Bit&lt;/a&gt;&lt;br /&gt;Integer data type 1, 0, or NULL.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms177603%28SQL.90%29.aspx" target="_blank"&gt;SQL 2005 - Bit&lt;/a&gt;&lt;br /&gt;An integer data type that can take a value of 1, 0, or NULL.&lt;br /&gt;The string values TRUE and FALSE can be converted to bit values: TRUE is converted to 1 and FALSE is converted to 0.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-3223514394973530932?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/3223514394973530932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=3223514394973530932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/3223514394973530932?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/3223514394973530932?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2009/11/sql-data-type-bit.html' title='SQL Data Type - Bit'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;Ck4DRXo7fip7ImA9WxNVF08.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-5279794994421675284</id><published>2009-10-28T17:02:00.003+08:00</published><updated>2009-10-28T17:09:34.406+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2009-10-28T17:09:34.406+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 script'/><title>Loop through all database and do something</title><content type='html'>I code this :&lt;br /&gt;&lt;br /&gt;   declare @database varchar(50)&lt;br /&gt;   declare @strSwitchDB nvarchar(100)&lt;br /&gt;   declare @count int&lt;br /&gt;   declare @maxRow int&lt;br /&gt;SET @count = 1  &lt;br /&gt;SELECT @maxRow=max(database_id) FROM sys.databases&lt;br /&gt;WHILE (@count &lt;= @maxRow)  &lt;br /&gt;BEGIN &lt;br /&gt;   SELECT @database = name FROM sys.databases WHERE database_id = @count      &lt;br /&gt;   set @strSwitchDB='use '+@database&lt;br /&gt;   print 'do something here, processing'&lt;br /&gt;    EXEC sp_executesql @strSwitchDB&lt;br /&gt;   set @count=@count+1&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;I expected the process will run in all databases in SQL server  &lt;br /&gt;example :&lt;br /&gt;use master&lt;br /&gt;do something&lt;br /&gt;use tempdb&lt;br /&gt;do something&lt;br /&gt;use msdb&lt;br /&gt;do something&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;but it actually no return expected result. The process will run in same database instead run in all database.&lt;br /&gt;&lt;br /&gt;example&lt;br /&gt;use master&lt;br /&gt;do something&lt;br /&gt;do something&lt;br /&gt;do something&lt;br /&gt;&lt;br /&gt;I actually find another way to do this&lt;br /&gt;if we want to loop through all database and do something,&lt;br /&gt;we actually can write in one line&lt;br /&gt;&lt;br /&gt;EXECUTE sp_msforeachdb 'SELECT ''[?]'', count(1) from [?].dbo.sysobjects'&lt;br /&gt;&lt;br /&gt;Result&lt;br /&gt;It actually loop through all the database and count number of row in sysobjects table&lt;br /&gt;-------- -----------&lt;br /&gt;[master] 3594&lt;br /&gt;-------- -----------&lt;br /&gt;[tempdb] 67&lt;br /&gt;------- -----------&lt;br /&gt;[model] 47&lt;br /&gt;------ -----------&lt;br /&gt;[msdb] 754&lt;br /&gt;&lt;br /&gt;JFYI,The above is for example and not the the actually action I want to perform&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-5279794994421675284?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/5279794994421675284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=5279794994421675284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/5279794994421675284?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/5279794994421675284?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2009/10/loop-through-all-database-and-do.html' title='Loop through all database and do something'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DkIGSHc7eip7ImA9WxNVFUU.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-2810430883654669725</id><published>2009-10-26T23:53:00.007+08:00</published><updated>2009-10-27T03:15:29.902+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2009-10-27T03:15:29.902+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 Trigger'/><title>Trigger - After, Instead of</title><content type='html'>Trigger -  After&lt;br /&gt;An UPDATE trigger is used to perform an action after an update is made on a table&lt;br /&gt;&lt;br /&gt;Trigger - INSTEAD OF &lt;br /&gt;An Instead of trigger is used to replace the incoming statement with statemement declare in trigger. &lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;&lt;a href="http://www.sqlteam.com/article/an-introduction-to-triggers-part-i" target="_blank"&gt;Introduce to Trigger&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://articles.techrepublic.com.com/5100-10878_11-6113179.html" target="_blank"&gt;Making use of INSTEAD-OF triggers in SQL Server 2005&lt;/a&gt;&lt;br /&gt;This article explain why we use Instead-of triggers, and give example of Instead-of Triggers.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.devx.com/tips/Tip/14404" target="_blank"&gt;Using INSTEAD OF In Place of Triggers In SQL Server 2000&lt;/a&gt;&lt;br /&gt;This article gives good example of "Instead of trigger". In the example, instead of trigger is used when we want replace insert statement with customize message.&lt;br /&gt;&lt;br /&gt;Notes:&lt;br /&gt;- We cannot create an AFTER trigger on views.&lt;br /&gt;- AFTER triggers gets executed automatically after the PK and FK constraints.&lt;br /&gt;-  INSTEAD OF triggers can be created on views&lt;br /&gt;-  you cannot create two INSTEAD OF triggers on the view/ table for the same event.&lt;br /&gt;- INSTEAD OF DELETE and INSTEAD OF UPDATE triggers cannot be defined on tables that have corresponding ON DELETE or ON UPDATE cascading referential integrity defined.&lt;br /&gt;&lt;br /&gt;reference : &lt;a href="http://www.sql-server-performance.com/articles/dev/triggers_2000_p3.aspx" target="_blank"&gt;Implementing Triggers in SQL 2000&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-2810430883654669725?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/2810430883654669725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=2810430883654669725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/2810430883654669725?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/2810430883654669725?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2009/10/trigger-after-instead-of.html' title='Trigger - After, Instead of'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DkMHQ3w6fip7ImA9WxNVEk0.&quot;'><id>tag:blogger.com,1999:blog-29202663.post-1564044141004695707</id><published>2009-10-22T17:15:00.003+08:00</published><updated>2009-10-22T17:40:32.216+08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2009-10-22T17:40:32.216+08:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005 script'/><title>Order by "Alias Name"</title><content type='html'>We have this query:&lt;br /&gt;&lt;br /&gt;create table testme11&lt;br /&gt;(id int identity(1,1),&lt;br /&gt;source_name varchar(20),&lt;br /&gt;source_description varchar(20))&lt;br /&gt;&lt;br /&gt;insert into testme11 values ('A',NULL)&lt;br /&gt;insert into testme11 values (NULL,'Q')&lt;br /&gt;insert into testme11 values ('E',NULL)&lt;br /&gt;insert into testme11 values (NULL,'C')&lt;br /&gt;&lt;br /&gt;select * from testme11&lt;br /&gt;id          source_name          source_description   &lt;br /&gt;----------- -------------------- -------------------- &lt;br /&gt;          1 A                    NULL&lt;br /&gt;          2 NULL                 Q&lt;br /&gt;          3 E                    NULL&lt;br /&gt;          4 NULL                 C&lt;br /&gt;&lt;br /&gt;(4 row(s) affected)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Are this three queries will return the same result?&lt;br /&gt;A.&lt;br /&gt;SELECT id,ISNULL(source_name,source_description) AS source_name&lt;br /&gt;FROM testme11 src&lt;br /&gt;order by src.source_name&lt;br /&gt;&lt;br /&gt;B.&lt;br /&gt;SELECT id,ISNULL(source_name,source_description) AS source_name&lt;br /&gt;FROM testme11 src&lt;br /&gt;order by source_name&lt;br /&gt;&lt;br /&gt;C.&lt;br /&gt;SELECT id,ISNULL(source_name,source_description) AS source_name&lt;br /&gt;FROM testme11 src&lt;br /&gt;order by ISNULL(source_name,source_description)&lt;br /&gt;&lt;br /&gt;result A:&lt;br /&gt;id          source_name          &lt;br /&gt;----------- -------------------- &lt;br /&gt;          2 Q&lt;br /&gt;          4 C&lt;br /&gt;          1 A&lt;br /&gt;          3 E&lt;br /&gt;(4 row(s) affected)&lt;br /&gt;&lt;br /&gt;result B:&lt;br /&gt;id          source_name          &lt;br /&gt;----------- -------------------- &lt;br /&gt;          1 A&lt;br /&gt;          4 C&lt;br /&gt;          3 E&lt;br /&gt;          2 Q&lt;br /&gt;&lt;br /&gt;(4 row(s) affected)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Result C:&lt;br /&gt;id          source_name          &lt;br /&gt;----------- -------------------- &lt;br /&gt;          1 A&lt;br /&gt;          4 C&lt;br /&gt;          3 E&lt;br /&gt;          2 Q&lt;br /&gt;&lt;br /&gt;(4 row(s) affected)&lt;br /&gt;&lt;br /&gt;Query B &amp; C will return same result, while Query A won't return expected result&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29202663-1564044141004695707?l=soonyu-sql2005.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soonyu-sql2005.blogspot.com/feeds/1564044141004695707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=29202663&amp;postID=1564044141004695707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/1564044141004695707?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29202663/posts/default/1564044141004695707?v=2'/><link rel='alternate' type='text/html' href='http://soonyu-sql2005.blogspot.com/2009/10/order-by-alias-name.html' title='Order by &quot;Alias Name&quot;'/><author><name>soonyu</name><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='07420660945054574003'/></author><thr:total>0</thr:total></entry></feed>