<?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-3648324934281471766</id><updated>2011-11-27T16:47:52.249-08:00</updated><category term='kuraliniyan'/><title type='text'>MSSQL SERVER  ADMINISTRATION TIPS</title><subtitle type='html'>The purpose of this blog is "SHARING MY SQL SERVER DBA EXPERIENCE" and this blog will help troubleshoot the sql server issues..</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3648324934281471766.post-4214163642171019529</id><published>2010-06-02T06:30:00.000-07:00</published><updated>2010-06-02T06:38:17.977-07:00</updated><title type='text'>How to  remove the each articles  without dropping the entire subscription  on Transactional replication</title><content type='html'>&lt;p&gt;&lt;br /&gt;&lt;span style="color:#cc33cc;"&gt;&lt;strong&gt;&lt;span style="font-size:100%;"&gt;How to remove the each articles without dropping the entire subscription on Transactional replication&lt;/span&gt;:&lt;/strong&gt;&lt;br /&gt;**************************************************&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Step 1:&lt;br /&gt;&lt;br /&gt;sp_dropsubscription 'Publication','article','subscribername','subscriptiondb'&lt;br /&gt;&lt;br /&gt;Step 2:&lt;br /&gt;&lt;br /&gt;DECLARE @publication AS sysname;&lt;br /&gt;DECLARE @article AS sysname;&lt;br /&gt;SET @publication = N'Publication';&lt;br /&gt;SET @article = N'article';&lt;br /&gt;&lt;br /&gt;-- Drop the transactional article.&lt;br /&gt;USE Databasename&lt;br /&gt;EXEC sp_droparticle&lt;br /&gt;@publication = @publication,&lt;br /&gt;@article = @article,&lt;br /&gt;@force_invalidate_snapshot = 1;&lt;br /&gt;GO&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-4214163642171019529?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/4214163642171019529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=4214163642171019529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/4214163642171019529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/4214163642171019529'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2010/06/how-to-remove-each-articles-without.html' title='How to  remove the each articles  without dropping the entire subscription  on Transactional replication'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-1743752160698168677</id><published>2009-12-22T10:27:00.000-08:00</published><updated>2009-12-22T10:33:03.391-08:00</updated><title type='text'>SQL server Flight Recorder</title><content type='html'>Today i learned one new thing in sql server -SQL server Flight Recorder&lt;br /&gt;&lt;br /&gt;How to enable sql server blackbox trace&lt;br /&gt;DECLARE @traceid INT;&lt;br /&gt;EXEC sp_trace_create @traceid OUTPUT, @options = 8;&lt;br /&gt;SELECT @traceid AS [Trace Id];&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;This returns the following:&lt;br /&gt;traceid  property   value&lt;br /&gt;----------- -----------   ---------------------------------------------------------------------------------&lt;br /&gt;2           1            8&lt;br /&gt;2           2            &lt;a href="file://%3F/C:/Program"&gt;\\?\C:\Program&lt;/a&gt; Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\blackbox_1.trc&lt;br /&gt;2           3            5&lt;br /&gt;2           4            NULL&lt;br /&gt;2           5            0&lt;br /&gt;The various properties are:&lt;br /&gt;1: the trace options. 8 means its a black-box trace. 2: the filename of the trace file. This isn't configurable for a black-box trace. 3: the maximum size of the file in MB. This also isn't configurable for a black-box trace. 4: the stop time for the trace. NULL means the trace won't stop until its manually turned off. 5: the current trace status. 0 is off, 1 is on.Notice that the trace status is 0, which means that the trace hasn't been started - so we need to start it manually using:&lt;br /&gt;EXEC sp_trace_setstatus @traceid = 2, @status = 1;&lt;br /&gt;GO&lt;br /&gt;Very cool. Next I wanted to see whether this trace would start up again automatically if I bounced the SQL instance I'd defined it on - so I did a net stop mssqlserver and net start mssqlserver. Just for kicks I thought I'd look in the black-box to see what it had logged when I did the net stop mssqlserver. To do that I used the following:&lt;br /&gt;SELECT * FROM fn_trace_gettable (&lt;br /&gt;    'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\blackbox_1.trc',&lt;br /&gt;    DEFAULT);&lt;br /&gt;GO&lt;br /&gt;And then ran the fn_trace_getinfo query again. Nothing. So - if you want this feature to be on all the time, you'll need to write a script that's run at instance startup that defines and enables the trace.&lt;br /&gt; &lt;a href="http://blogs.msdn.com/sqlserverstorageengine/archive/2007/06/03/sql-server-s-black-box.aspx"&gt;http://blogs.msdn.com/sqlserverstorageengine/archive/2007/06/03/sql-server-s-black-box.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-1743752160698168677?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/1743752160698168677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=1743752160698168677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/1743752160698168677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/1743752160698168677'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2009/12/sql-server-flight-recorder.html' title='SQL server Flight Recorder'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-3073622263936451440</id><published>2009-12-01T03:57:00.000-08:00</published><updated>2009-12-01T03:58:29.902-08:00</updated><title type='text'>How to Track License Information in SQL 2005</title><content type='html'>&lt;span style="font-family:times new roman;"&gt;How to Track License Information in SQL 2005&lt;br /&gt;SQL 2005 no longer tracks licensing (per seat or per processor) via registry entries. SQL 2005 still reads the registry for this information, but the SQL 2005 setup doesn’t put licensing information in the registry during setup as in SQL 2000.&lt;br /&gt;This is by-design. Hence, when ServerProperty(‘LicenseType’) is run on a SQL 2005 installation, ‘DISABLED’ is always returned.&lt;br /&gt;This could be a problem for large companies who would like a programmatic way to track licensing rather than just having paper license tracking (which is the current method in SQL 2005).&lt;br /&gt;Supported Resolution&lt;br /&gt;Since SQL 2005 still queries the registry for licensing information, add the following key and values and ServerProperty(‘LicenseType’) will return license information.&lt;br /&gt;Note: Licensing has always been server wide and not SQL instance specific. This setting would apply to all instances of SQL Server on the server.&lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\MSSQLLicenseInfo\MSSQL9.00&lt;br /&gt;If you want to configure SQL Server for Per Processor then add these Registry Values under that Key adjusting for the number of processors you have a license for:&lt;br /&gt;Name Type ValueMode              REG_DWORD   2 ß LICENSE_MODE_PERPROCConcurrentLimit   REG_DWORD   4 ß Number of Processors&lt;br /&gt;If you want to configure SQL Server for Per Seat licensing then add these Registry values under the Key adjusting for the number of seat license you have purchased.&lt;br /&gt;Name              Type        ValueMode              REG_DWORD   0           ß LICENSE_MODE_PERSEATConcurrentLimit   REG_DWORD   100 ß No. of client licenses registered for SQL Server in Per Seat mode.&lt;br /&gt;Test in SQL Management Studio&lt;br /&gt;You need to stop and restart SQL Server 2005 before the information will be available to ServerProperty() as the registry is read on start-up of SQL Server. With the above settings you would see the following when you restart SQL Server 2005.&lt;br /&gt;SELECT  ServerProperty(’LicenseType’) as LicenseType, ServerProperty(’NumLicenses’) as ProcessorCount&lt;br /&gt;Output:LicenseType ProcessorCount&lt;br /&gt;PER_PROCESSOR           4&lt;br /&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-3073622263936451440?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/3073622263936451440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=3073622263936451440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/3073622263936451440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/3073622263936451440'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2009/12/how-to-track-license-information-in-sql.html' title='How to Track License Information in SQL 2005'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-6042359864492156523</id><published>2009-11-11T05:23:00.000-08:00</published><updated>2009-11-11T05:44:51.330-08:00</updated><title type='text'>SQL Server 2008  can store BLOBs (e.g. Images, Video, Word, Excel, PDF, MP3, etc files) in the NTFS file system rather than in a database file.</title><content type='html'>&lt;p&gt;SQL Server 2008  can store BLOBs (e.g. Images, Video, Word, Excel, PDF, MP3, etc files) in the NTFS file system rather than in a database file. This can be achieved by using the new FILESTREAM feature which was introduced in SQL Server&lt;br /&gt; -----------------------------------------------------------------------&lt;br /&gt;How to enable the filestream storage for sql server 2008 database&lt;br /&gt;-----------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Creating a FILESTREAM Enabled Database&lt;br /&gt;&lt;br /&gt;Creating a FILESTREAM enabled database named FileStreamDB by executing the T-SQL code below.&lt;br /&gt;-----------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Use Master&lt;br /&gt;GO&lt;br /&gt;IF EXISTS (SELECT name FROM sys.databases WHERE name = N'FileStreamDB')&lt;br /&gt;DROP DATABASE FileStreamDB&lt;br /&gt;GO&lt;br /&gt;USE master&lt;br /&gt;GO&lt;br /&gt;CREATE DATABASE [FileStreamDB] ON PRIMARY&lt;br /&gt;( NAME = N'FileStreamDB', FILENAME = N'D:\FileStreamDB\FileStreamDB.mdf',&lt;br /&gt;SIZE = 10MB , MAXSIZE = UNLIMITED, FILEGROWTH = 10% )&lt;br /&gt;LOG ON&lt;br /&gt;( NAME = N'FileStreamDB_log', FILENAME = N'D:\FileStreamDB\FileStreamDB_log.ldf' ,&lt;br /&gt;SIZE = 10MB , MAXSIZE = UNLIMITED , FILEGROWTH = 10%)&lt;br /&gt;GO&lt;br /&gt;ALTER DATABASE [FileStreamDB]&lt;br /&gt;ADD FILEGROUP [FileStreamGroup] CONTAINS FILESTREAM&lt;br /&gt;GO&lt;br /&gt;ALTER DATABASE [FileStreamDB]&lt;br /&gt;ADD FILE (NAME = N'FileStreamDB_FSData', FILENAME = N'E:\FileStreamDB\FileStreamData')&lt;br /&gt;TO FILEGROUP FileStreamGroup&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;----------------------------------------------------&lt;br /&gt;Creating a table with FILESTREAM columns&lt;br /&gt;----------------------------------------------------&lt;br /&gt;&lt;br /&gt;Let us now create the FileStreamDataStorage table by executing the T-SQL code below. This table will be used to store FILESTREAM data:&lt;br /&gt;&lt;br /&gt;Use FileStreamDB&lt;br /&gt;GO&lt;br /&gt;IF EXISTS (SELECT name FROM sys.all_objects WHERE name = N'FileStreamDataStorage')&lt;br /&gt;DROP TABLE FileStreamDataStorage&lt;br /&gt;GO&lt;br /&gt;CREATE TABLE [FileStreamDataStorage]&lt;br /&gt;(&lt;br /&gt;[ID] [INT] IDENTITY(1,1) NOT NULL,&lt;br /&gt;[FileStreamData] VARBINARY(MAX) FILESTREAM NULL,&lt;br /&gt;[FileStreamDataGUID] UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE DEFAULT NEWSEQUENTIALID(),&lt;br /&gt;[DateTime] DATETIME DEFAULT GETDATE()&lt;br /&gt;)&lt;br /&gt;ON [PRIMARY]&lt;br /&gt;FILESTREAM_ON FileStreamGroup&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To store a BLOB using FILESTREAM feature, you must have a column of datatype VARBINARY (MAX) along with the FILESTREAM attribute. In addition to this, the table must also have a UNIQUEIDENTIFIER column with the ROWGUIDCOL attribute.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Inserting FILESTREAM Data&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Let us now add a row to FileStreamDataStorage table by execute the below mentioned T-SQL code.&lt;br /&gt;&lt;br /&gt;Use FileStreamDB&lt;br /&gt;GO&lt;br /&gt;INSERT INTO [FileStreamDataStorage] (FileStreamData)&lt;br /&gt;SELECT * FROM&lt;br /&gt;OPENROWSET(BULK N'C:\SampleFiles\Image1.BMP' ,SINGLE_BLOB) AS Document&lt;br /&gt;GO&lt;br /&gt;INSERT INTO [FileStreamDataStorage] (FileStreamData)&lt;br /&gt;SELECT * FROM&lt;br /&gt;OPENROWSET(BULK N'C:\SampleFiles\Image2.BMP' ,SINGLE_BLOB) AS Document&lt;br /&gt;GO&lt;br /&gt;INSERT INTO [FileStreamDataStorage] (FileStreamData)&lt;br /&gt;SELECT * FROM&lt;br /&gt;OPENROWSET(BULK N'C:\SampleFiles\Image3.BMP' ,SINGLE_BLOB) AS Document&lt;br /&gt;GO&lt;br /&gt;INSERT INTO [FileStreamDataStorage] (FileStreamData)&lt;br /&gt;SELECT * FROM&lt;br /&gt;OPENROWSET(BULK N'C:\SampleFiles\Image4.BMP' ,SINGLE_BLOB) AS Document&lt;br /&gt;GO&lt;br /&gt;/*&lt;br /&gt;Execute the below mentioned TSQL code to retrieve the data from&lt;br /&gt;FileStreamDataStorage table.&lt;br /&gt;*/&lt;br /&gt;USE FileStreamDB&lt;br /&gt;GO&lt;br /&gt;SELECT ID&lt;br /&gt;, CAST([FileStreamData] AS VARCHAR) as [FileStreamData]&lt;br /&gt;, FileStreamDataGUID&lt;br /&gt;, [DateTime]&lt;br /&gt;FROM [FileStreamDataStorage]&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Courtesy from mssqltips.com&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949109.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc949109.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.mssqltips.com/tip.asp?tip=1878&amp;amp;home"&gt;http://www.mssqltips.com/tip.asp?tip=1878&amp;amp;home&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-6042359864492156523?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/6042359864492156523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=6042359864492156523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6042359864492156523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6042359864492156523'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2009/11/sql-server-2008-can-store-blobs-eg.html' title='SQL Server 2008  can store BLOBs (e.g. Images, Video, Word, Excel, PDF, MP3, etc files) in the NTFS file system rather than in a database file.'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-1678660894886903007</id><published>2009-11-11T04:45:00.000-08:00</published><updated>2009-11-11T04:49:27.067-08:00</updated><title type='text'>Microsoft   Launched  " Microsoft® SQL Azure™ Database is a cloud-based relational database service built on SQL Server® technologies"</title><content type='html'>Microsoft Launched " Microsoft® SQL Azure™ Database is a cloud-based relational database service built on SQL Server® technologies"&lt;br /&gt;&lt;br /&gt;Please refer below links.....&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6633ff;"&gt;&lt;a href="http://www.mssqltips.com/tip.asp?tip=1874&amp;amp;home"&gt;http://www.mssqltips.com/tip.asp?tip=1874&amp;amp;home&lt;/a&gt; &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6633ff;"&gt;&lt;a href="http://www.microsoft.com/windowsazure/sqlazure/"&gt;http://www.microsoft.com/windowsazure/sqlazure/&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6633ff;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6633ff;"&gt;Thanks&amp;amp;Regards&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6633ff;"&gt;Kuraliniyan S&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6633ff;"&gt;MCTS&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6633ff;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6633ff;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6633ff;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-1678660894886903007?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/1678660894886903007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=1678660894886903007' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/1678660894886903007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/1678660894886903007'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2009/11/microsoft-launched-microsoft-sql-azure.html' title='Microsoft   Launched  &quot; Microsoft® SQL Azure™ Database is a cloud-based relational database service built on SQL Server® technologies&quot;'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-5052451028224688044</id><published>2008-12-18T06:18:00.000-08:00</published><updated>2008-12-18T06:19:52.599-08:00</updated><title type='text'>Microsoft Released SQL server 2005 service pack 3</title><content type='html'>Microsoft Released SQL server 2005 service pack 3&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.microsoft.com/downloads/details.aspx?FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4&amp;amp;displaylang=en#Requirements"&gt;https://www.microsoft.com/downloads/details.aspx?FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4&amp;amp;displaylang=en#Requirements&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-5052451028224688044?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/5052451028224688044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=5052451028224688044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/5052451028224688044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/5052451028224688044'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/12/microsoft-released-sql-server-2005.html' title='Microsoft Released SQL server 2005 service pack 3'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-3168452550990417651</id><published>2008-11-26T06:36:00.000-08:00</published><updated>2008-11-26T06:40:51.549-08:00</updated><title type='text'>SQL Server error logs</title><content type='html'>The sqlserver bydefault keep 7 error log files.Some time we unable to investigate old issues.For Avoid those kind of issue microsoft provided good solution.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to archive more than six SQL Server error logs&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/230590/"&gt;http://support.microsoft.com/kb/230590/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to increase the number of SQL Server error logs&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://support.microsoft.com/kb/196909"&gt;http://support.microsoft.com/kb/196909&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-3168452550990417651?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/3168452550990417651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=3168452550990417651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/3168452550990417651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/3168452550990417651'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/11/sql-server-error-logs.html' title='SQL Server error logs'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-461804356220026239</id><published>2008-11-11T21:38:00.000-08:00</published><updated>2008-11-11T21:43:08.013-08:00</updated><title type='text'>SQL server 2005 SP3 Beta available....</title><content type='html'>SQL server 2005 SP3 Beta available....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=D22317E1-BC64-4936-A14B-7A632B50A4CA&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=D22317E1-BC64-4936-A14B-7A632B50A4CA&amp;amp;displaylang=en&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-461804356220026239?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft.com/downloads/details.aspx?FamilyId=D22317E1-BC64-4936-A14B-7A632B50A4CA&amp;displaylang=en' title='SQL server 2005 SP3 Beta available....'/><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/461804356220026239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=461804356220026239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/461804356220026239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/461804356220026239'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/11/sql-server-2005-sp3-beta-available.html' title='SQL server 2005 SP3 Beta available....'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-3692435588354566442</id><published>2008-10-24T04:01:00.000-07:00</published><updated>2008-10-24T04:15:04.075-07:00</updated><title type='text'>Microsoft Released New Hot fixes for SQL server</title><content type='html'>&lt;a name="msg_e917fafe49f47740"&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Microsoft Released New Hot fixes for SQL server&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;----------------------------------------------------------&lt;br /&gt;&lt;/strong&gt;This security update resolves four privately disclosed vulnerabilities. The more serious of the vulnerabilities could allow an attacker to run code and to take complete control of an affected system. An authenticated attacker could then install programs; view, change, or delete data; or create new accounts with full administrative rights.&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/security/bulletin/MS08-040.mspx" target="_blank" rel="nofollow"&gt;http://www.microsoft.com/technet/security/bulletin/MS08-040.mspx&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Vulnerability Information: &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt; Memory Page Reuse Vulnerability - CVE-2008-0085&lt;br /&gt;An information disclosure vulnerability exists in the way that SQL Server manages memory page reuse. An attacker with database operator access who successfully exploited this vulnerability could access customer data.&lt;br /&gt; Convert Buffer Overrun - CVE-2008-0086&lt;br /&gt;A vulnerability exists in the convert function in SQL Server that could allow an authenticated attacker to gain elevation of privilege. An attacker who successfully exploited this vulnerability could run code and take complete control of the system.&lt;br /&gt;SQL Server Memory Corruption Vulnerability - CVE-2008-0107&lt;br /&gt;A vulnerability exists in SQL Server that could allow an authenticated attacker to gain elevation of privilege. An attacker who successfully exploited this vulnerability could run code and take complete control of the system.&lt;br /&gt; SQL Server Buffer Overrun Vulnerability - CVE-2008-0106&lt;br /&gt;A vulnerability exists in SQL Server that could allow an authenticated attacker to gain elevation of privilege. An attacker who successfully exploited this vulnerability could run code and take complete control of the system.&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-3692435588354566442?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/3692435588354566442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=3692435588354566442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/3692435588354566442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/3692435588354566442'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/10/microsoft-released-new-hot-fixes-for.html' title='Microsoft Released New Hot fixes for SQL server'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-805959561048877983</id><published>2008-08-15T02:22:00.004-07:00</published><updated>2008-08-15T02:35:46.390-07:00</updated><title type='text'>SQL Server Agent appears with "Agent XPs disabled"</title><content type='html'>Tempdb database was full.Then I restarted the sql service.while checking management studio sql server agent tab shown Agent XPs disabled.&lt;br /&gt;&lt;br /&gt;After that I refered below steps from the msdn libraray.&lt;br /&gt;&lt;br /&gt;Agent XPs Option&lt;br /&gt;Use the Agent XPs option to enable the SQL Server Agent extended stored procedures on this server. When this option is not enabled, the SQL Server Agent node is not available in SQL Server Management Studio Object Explorer. &lt;br /&gt;When you use the SQL Server Management Studio tool to start the SQL Server Agent service, these extended stored procedures are enabled automatically. For more information, see Understanding Surface Area Configuration.&lt;br /&gt; Note: &lt;br /&gt;&lt;br /&gt;Management Studio Object Explorer does not display the contents of the SQL Server Agent node unless these extended stored procedures are enabled regardless of the SQL Server Agent service state. &lt;br /&gt;The possible values are:&lt;br /&gt;• 0, indicating that SQL Server Agent extended stored procedures are not available (the default).&lt;br /&gt;• 1, indicating that SQL Server Agent extended stored procedures are available.&lt;br /&gt;The setting takes effect immediately without a server stop and restart.&lt;br /&gt;  Examples &lt;br /&gt;The following example enables the SQL Server Agent extended stored procedures.&lt;br /&gt; Copy Code&lt;br /&gt;sp_configure 'show advanced options', 1;&lt;br /&gt;GO&lt;br /&gt;RECONFIGURE;&lt;br /&gt;GO&lt;br /&gt;sp_configure 'Agent XPs', 1;&lt;br /&gt;GO&lt;br /&gt;RECONFIGURE&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-805959561048877983?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/en-us/library/ms178127.aspx' title='SQL Server Agent appears with &quot;Agent XPs disabled&quot;'/><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/805959561048877983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=805959561048877983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/805959561048877983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/805959561048877983'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/08/sql-server-agent-appears-with-agent-xps_5065.html' title='SQL Server Agent appears with &quot;Agent XPs disabled&quot;'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-6953482925038873026</id><published>2008-08-08T02:22:00.000-07:00</published><updated>2008-08-08T02:23:56.733-07:00</updated><title type='text'>Understanding SQL Server's DBCC SHOWCONTIG</title><content type='html'>Understanding SQL Server's DBCC SHOWCONTIG&lt;br /&gt;&lt;br /&gt;DBCC SHOWCONTIG is a wonderful tool which helps you to understand quite a bit more about your system than is obvious at first glance. And, frankly, the documentation doesn't use terminology that makes it very obvious either. So, this article will focus on a few of the big ideas behind the tool using SQL Server, and how you can use it to better understand what is going on inside your SQL Server box.&lt;br /&gt;Probably one of the most significant performance problems found in databases is centered around table data fragmentation. One situation that may be analogous to table fragmentation might be an index at the end of a large book. A single index entry in such a book might point to several pages scattered throughout the book. You must then scan each page for the specific information you require. This differs significantly from the index of the phone book which stores its data in sorted order. A typical query for the name "Jones" might span multiple consecutive pages, but are always held in a sorted order.&lt;br /&gt;&lt;br /&gt;In the case of a database, we start out with the data looking more like a phone book, and end with the data looking more like a history book. Therefore, we need to occasionally resort the data in an effort to recreate the phone book order. Below, you will see a graphical presentation of how SQL Server lays out the data so that we can discuss the actual findings more clearly.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A Quick SQL Server Internals Discussion&lt;br /&gt;We are most familiar with the data row. The row size is set only by the definition of the table that holds it (e.g. A table of addresses require more data per row then a table of class names). In SQL Server, a table may define a row as storing as little as 4 bytes to as much as 8060.This limit is set by the size of the data page, which stores up to 8,192 bytes (8 KB). The remaining 132 bytes are used by SQL Server to track other information under the covers. Although SQL Server is designed around 8 KB pages, the smallest unit of data that SQL Server can allocate is 64 KB. This is called an extent. &lt;br /&gt;To store the data in a sorted order, as in a phone book, SQL Server uses something called a clustered index. When a typical database is created, clustered indexes exist on nearly all tables. However, just because the data exists in sorted order within the page does not mean that it exists as such within an extent. The reason for this derives from situations in which there is no more room on a given page in which it can insert a row. SQL Server then removes approximately half the page and moves it to another page, which is called a Page Split (Page Splits will not occur with clustered indexes on IDENTITY based columns, but hotspotting may). In some cases, it may move that data to another extent altogether, possibly even allocating a new extent to do so. So, while we start off with names beginning with A and ending with H on one page, and names beginning with I and ending with Z on the next page, through usage, we may see that names A through C are now located on one page in one extent, D through E on another extent and S through Z back on the fifth page of the first extent, etc. It is because of the page split that there are times in which we may prefer to use tables with no clustered indexes at all. However, these tables are usually scratch tables which are highly volatile. In those situations, we desire the quicker write times at the cost of slower reads.&lt;br /&gt; &lt;br /&gt;Calling DBCC SHOWCONTIG&lt;br /&gt;Using Query Analyzer, connect to the database you wish to view. Next, you will need to get the object id of the table(s) you wish to examine. I have simplified this task to retrieve the top 10 tables by size using the following script.&lt;br /&gt;SELECT TOP 10 &lt;br /&gt;'DBCC SHOWCONTIG(' + CAST(id AS NVARCHAR(20)) + ')' &lt;br /&gt;+ CHAR(10) + &lt;br /&gt;'PRINT '' ''' + CHAR(10) &lt;br /&gt;FROM &lt;br /&gt;sysindexes &lt;br /&gt;WHERE &lt;br /&gt;indid = 1 or &lt;br /&gt;indid = 0 &lt;br /&gt;ORDER BY rows DESC&lt;br /&gt;Execute this script in the database that you wish to check, and you will get an output resembling (repeated 10 times, once for each of the 10 largest tables):&lt;br /&gt;DBCC SHOWCONTIG(123456789)&lt;br /&gt;PRINT ''&lt;br /&gt;Copy and paste the complete resultset into your query window and execute it.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;The Results Explained&lt;br /&gt;The results from the previous command will look something like the following:&lt;br /&gt;DBCC SHOWCONTIG scanning 'MyTable1' table...&lt;br /&gt;Table: 'MyTable1' (1556968673); index ID: 1, database ID: 16&lt;br /&gt;TABLE level scan performed.&lt;br /&gt;- Pages Scanned................................: 18986&lt;br /&gt;- Extents Scanned..............................: 2443&lt;br /&gt;- Extent Switches..............................: 9238&lt;br /&gt;- Avg. Pages per Extent........................: 7.8&lt;br /&gt;- Scan Density [Best Count:Actual Count].......: 25.70% [2374:9239]&lt;br /&gt;- Logical Scan Fragmentation ..................: 44.58%&lt;br /&gt;- Extent Scan Fragmentation ...................: 87.07%&lt;br /&gt;- Avg. Bytes Free per Page.....................: 1658.7&lt;br /&gt;- Avg. Page Density (full).....................: 79.51%&lt;br /&gt;DBCC execution completed. If DBCC printed error messages, &lt;br /&gt;contact your system administrator.&lt;br /&gt;&lt;br /&gt;DBCC SHOWCONTIG scanning 'MyTable2' table...&lt;br /&gt;Table: 'MyTable2' (183984032); index ID: 1, database ID: 16&lt;br /&gt;TABLE level scan performed.&lt;br /&gt;- Pages Scanned................................: 28980&lt;br /&gt;- Extents Scanned..............................: 3687&lt;br /&gt;- Extent Switches..............................: 22565&lt;br /&gt;- Avg. Pages per Extent........................: 7.9&lt;br /&gt;- Scan Density [Best Count:Actual Count].......: 16.06% [3623:22566]&lt;br /&gt;- Logical Scan Fragmentation ..................: 83.05%&lt;br /&gt;- Extent Scan Fragmentation ...................: 87.44%&lt;br /&gt;- Avg. Bytes Free per Page.....................: 3151.1&lt;br /&gt;- Avg. Page Density (full).....................: 61.07%&lt;br /&gt;DBCC execution completed. If DBCC printed error messages,&lt;br /&gt;contact your system administrator.&lt;br /&gt;In the first table, MyTable1, we see that there were 18,986 pages examined to create the report. Those pages existed within 2,443 extents, indicating that the table consumed approximately 97% (7.8 pages per extent on average) of the extents allocated for it. We then see that while examining the pages for fragmentation, the server had to switch extent locations 9, 238 times. The Scan Density restates this by indicating the percentage of all pages within all extents were contiguous. In an ideal environment, the density displayed would be close to 100. The Logical Scan Fragmentation and Extent Scan Fragmentation are indications of how well the indexes are stored within the system when a clustered index is present (and should be ignored for tables that do not have a clustered index). In both cases, a number close to 0 is preferable. There is another anomaly being displayed here that is a little difficult to explain, but it is that SQL Server allows multiple tables to exist within a single extent, which further explains the 7.8 pages per extent (multiple tables may not however exist within a page).&lt;br /&gt;The next items discuss a somewhat more mundane but important issue of page utilization. Again using the first table as the example, there are an average of 1659 bytes free per page, or that each page is 79.51% utilized. The closer that number gets to 100, the faster the database is able to read in records, since more records exist on a single page. However, this must be balanced with the cost of writing to the table. Since a page split will occur if a write is required on a page that is full, the overhead can be tremendous. This is exaggerated when using RAID 5 disk subsystems, since RAID 5 has a considerably slower write time compared to its read time. To account for this, we have the ability of telling SQL Server to leave each page a certain percentage full. &lt;br /&gt;DBCC REINDEX is a related tool that will reorganize your database information in much the same way Norton Defrag will work on your hard drive (see Books Online for information on how to use DBCC REINDEX). The following report displays the differences in the data after we defragmented the data using DBCC DBREINDEX. &lt;br /&gt;DBCC SHOWCONTIG scanning 'MyTable1' table...&lt;br /&gt;Table: 'MyTable1' (1556968673); index ID: 1, database ID: 16&lt;br /&gt;TABLE level scan performed.&lt;br /&gt;- Pages Scanned................................: 15492&lt;br /&gt;- Extents Scanned..............................: 1945&lt;br /&gt;- Extent Switches..............................: 2363&lt;br /&gt;- Avg. Pages per Extent........................: 8.0&lt;br /&gt;- Scan Density [Best Count:Actual Count].......: 81.94% [1937:2364]&lt;br /&gt;- Logical Scan Fragmentation ..................: 15.43%&lt;br /&gt;- Extent Scan Fragmentation ...................: 20.15%&lt;br /&gt;- Avg. Bytes Free per Page.....................: 159.8&lt;br /&gt;- Avg. Page Density (full).....................: 98.03%&lt;br /&gt;DBCC execution completed. If DBCC printed error messages, &lt;br /&gt;contact your system administrator.&lt;br /&gt; &lt;br /&gt;DBCC SHOWCONTIG scanning 'MyTable2' table...&lt;br /&gt;Table: 'MyTable2' (183984032); index ID: 1, database ID: 16&lt;br /&gt;TABLE level scan performed.&lt;br /&gt;- Pages Scanned................................: 35270&lt;br /&gt;- Extents Scanned..............................: 4415&lt;br /&gt;- Extent Switches..............................: 4437&lt;br /&gt;- Avg. Pages per Extent........................: 8.0&lt;br /&gt;- Scan Density [Best Count:Actual Count].......: 99.35% [4409:4438]&lt;br /&gt;- Logical Scan Fragmentation ..................: 0.11%&lt;br /&gt;- Extent Scan Fragmentation ...................: 0.66%&lt;br /&gt;- Avg. Bytes Free per Page.....................: 3940.1&lt;br /&gt;- Avg. Page Density (full).....................: 51.32%&lt;br /&gt;DBCC execution completed. If DBCC printed error messages, &lt;br /&gt;contact your system administrator.&lt;br /&gt;Here, we can see several key improvements and some examples of how proper indexing can be very important. The most glaring items for us are how well we were able to increase the scan density. Again, using the MyTable1 table as a reference, we can see that out of 1,945 extents, there were only 2363 extent switches. Notice that the number of extent switches is now a lower number than the original number of extents. This is due to the more efficient allocation of the data. And, since there is a significant reduction of the number of extent switches, searches for large quantities of contiguous data will be fulfilled much more quickly.&lt;br /&gt;These reports were taken after only a small amount of processing had occurred on this system, yet already we can see that there has been a fair amount of fragmentation of the data. The table MyTable1 has already begun to show signs of performance degradation. When there is an unusually large amount of new data being inserted into the tables, these numbers will quickly begin to resemble the those that we see in the previous report.&lt;br /&gt;In the table MyTable2, we see a stark difference from MyTable1.This is because of some index tuning that I had done on that table. As I said earlier, SQL Server uses the clustered indexes in order to understand how data should be ordered. To prevent page splits, I had SQL Server leave each page only 50% full. This allows for multiple inserts to occur without generating page splits, allowing our scan density to remain high for a longer period of time. But this also comes at the cost of reducing the quantity of contiguous records on each page and doubles the amount of space consumed by the table, hence the now much larger number of pages and extents scanned.&lt;br /&gt; &lt;br /&gt;Conclusion&lt;br /&gt;From examining the output of DBCC SHOWCONTIG, we were able to locate several key issues. First, we saw that our database was heavily fragmented, and required defragmentation using DBCC DBREINDEX. Next, we were able to tell what percentage of the allocated pages were actually being used by SQL Server. Finally, we saw that by modifying the fillfactor on an index, we had a tremendous affect on page splitting at the cost of more page I/O for each read.&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-6953482925038873026?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/6953482925038873026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=6953482925038873026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6953482925038873026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6953482925038873026'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/08/understanding-sql-servers-dbcc.html' title='Understanding SQL Server&apos;s DBCC SHOWCONTIG'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-7617324604355273804</id><published>2008-07-17T05:18:00.000-07:00</published><updated>2008-07-17T05:20:16.399-07:00</updated><title type='text'>Sql  server Recovery…</title><content type='html'>Sql  server Recovery…&lt;br /&gt; &lt;br /&gt;Problem:&lt;br /&gt;&lt;br /&gt;Due to hardware failure one of the SQL database server was totally corrupted.&lt;br /&gt;The sql server version is 8.00.818  .(sp3+ SQL2000-KB815495-8.00.0818-ENU.exe)&lt;br /&gt;While starting the sqlserver we are not able to start the sql server service.Because there was no mdf and ldf files on the server..&lt;br /&gt;&lt;br /&gt;Action Taken for this issue:&lt;br /&gt;&lt;br /&gt;1.Verified Database backup files.(we have the disk backup files)&lt;br /&gt;2. Uninstalled the sql server.&lt;br /&gt;3. Restarted the server.&lt;br /&gt;4. Installed sql server with correct configuration settings&lt;br /&gt;5. Installed sp3 service pack&lt;br /&gt;6. Installed SQL2000-KB815495-8.00.0818-ENU.exe&lt;br /&gt;7. Stopped the sql server services&lt;br /&gt;8. Started the sql server in the single user mode (c:\....\binn\&gt;sqlservr.exe  -c –m  )&lt;br /&gt;9. Restored the master database.&lt;br /&gt;10. Restored all remaining system and user databases.&lt;br /&gt;11. While checking all the databases are restored successfully.&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-7617324604355273804?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/7617324604355273804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=7617324604355273804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/7617324604355273804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/7617324604355273804'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/07/sql-server-recovery.html' title='Sql  server Recovery…'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-5190505859502638999</id><published>2008-07-11T02:02:00.000-07:00</published><updated>2008-07-11T02:04:40.479-07:00</updated><title type='text'>Replication log reader agent Failure error</title><content type='html'>One of the Production sql 2005 database server replication failed due to log reader agent.&lt;br /&gt;Data was not moved from the publication database to distributor database.&lt;br /&gt;The error message from the log reader history is below……&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Code: 20011, text: 'The process could not execute 'sp_replcmds' on 'server name'.'.&lt;br /&gt;The process could not execute 'sp_replcmds' on 'servername'.&lt;br /&gt;Status: 2, code: 10054, text: 'TCP Provider: An existing connection was forcibly closed by the remote host.’&lt;br /&gt;Status: 2, code: 10054, text: 'Communication link failure'.&lt;br /&gt;Status: 2, code: 0, text: 'Query timeout expired'.&lt;br /&gt;Status: 2, code: 22037, text: 'The process could not execute 'sp_replcmds' on 'server name'.'.&lt;br /&gt;The agent failed with a 'Retry' status. Try to run the agent at a later time.&lt;br /&gt;&lt;br /&gt;Action taken for this issue.&lt;br /&gt;&lt;br /&gt;1. Restarted the log reader agent&lt;br /&gt;&lt;br /&gt;2. Executed the sp_replflush command on publisher database.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After that issue has been  resolved.&lt;br /&gt;&lt;br /&gt;While checking logreader history and distribution history  replication was working fine.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Refered Articles:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms151190.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms151190.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href="http://technet.microsoft.com/en-us/library/ms174992.aspx"&gt;http://technet.microsoft.com/en-us/library/ms174992.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-5190505859502638999?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/5190505859502638999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=5190505859502638999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/5190505859502638999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/5190505859502638999'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/07/replication-log-reader-agent-failure.html' title='Replication log reader agent Failure error'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-6409530705299345692</id><published>2008-06-25T04:43:00.000-07:00</published><updated>2008-06-25T04:45:54.101-07:00</updated><title type='text'>CHECKPOINT</title><content type='html'>&lt;a name="_checkpoint"&gt;&lt;/a&gt;CHECKPOINT&lt;br /&gt;Forces all dirty pages for the current database to be written to disk. Dirty pages are data or log pages modified after entered into the buffer cache, but the modifications have not yet been written to disk. For more information about log truncation, see Truncating the Transaction Log.&lt;br /&gt;Syntax&lt;br /&gt;CHECKPOINT&lt;br /&gt;Remarks&lt;br /&gt;The CHECKPOINT statement saves time in a subsequent recovery by creating a point at which all modifications to data and log pages are guaranteed to have been written to disk.&lt;br /&gt;Checkpoints also occur:&lt;br /&gt;When a database option is changed with ALTER DATABASE. A checkpoint is executed in the database in which the option is changed.&lt;br /&gt;When a server is stopped, a checkpoint is executed in each database on the server. These methods of stopping Microsoft® SQL Server™ 2000 checkpoint each database:&lt;br /&gt;Using SQL Server Service Manager.&lt;br /&gt;Using SQL Server Enterprise Manager.&lt;br /&gt;Using the SHUTDOWN statement.&lt;br /&gt;Using the Windows NT command net stop mssqlserver on the command prompt.&lt;br /&gt;Using the services icon in the Windows NT control panel, selecting the mssqlserver service, and clicking the stop button.&lt;br /&gt;The SHUTDOWN WITH NOWAIT statement shuts down SQL Server without executing a checkpoint in each database. This may cause the subsequent restart to take a longer time than usual to recover the databases on the server.&lt;br /&gt;SQL Server 2000 also automatically checkpoints any database where the lesser of these conditions occur:&lt;br /&gt;The active portion of the log exceeds the size that the server could recover in the amount of time specified in the recovery interval server configuration option.&lt;br /&gt;If the database is in log truncate mode and the log becomes 70 percent full.&lt;br /&gt;A database is in log truncate mode when both these conditions are TRUE:&lt;br /&gt;The database is using the simple recovery model.&lt;br /&gt;One of these events has occurred after the last BACKUP DATABASE statement referencing the database was executed:&lt;br /&gt;A BACKUP LOG statement referencing the database is executed with either the NO_LOG or TRUNCATE_ONLY clauses.&lt;br /&gt;A nonlogged operation is performed in the database, such as a nonlogged bulk copy operation or a nonlogged WRITETEXT statement is executed.&lt;br /&gt;An ALTER DATABASE statement that adds or deletes a file in the database is executed.&lt;br /&gt;Permissions&lt;br /&gt;CHECKPOINT permissions default to members of the sysadmin fixed server role and the db_owner and db_backupoperator fixed database roles, and are not transferable.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="_checkpoints_and_the_active_portion_of_t"&gt;&lt;/a&gt;Checkpoints and the Active Portion of the Log&lt;br /&gt;Checkpoints minimize the portion of the log that must be processed during a full recovery of a database. During a full recovery, two types of actions must be performed:&lt;br /&gt;The log may contain records of modifications not flushed to disk before the system stopped. These modifications must be rolled forward.&lt;br /&gt;All the modifications associated with incomplete transactions (transactions for which there is no COMMIT or ROLLBACK log record) must be rolled back.&lt;br /&gt;Checkpoints flush dirty data and log pages from the buffer cache of the current database, minimizing the number of modifications that have to be rolled forward during a recovery.&lt;br /&gt;A SQL Server 2000 checkpoint performs these processes in the current database:&lt;br /&gt;Writes to the log file a record marking the start of the checkpoint.&lt;br /&gt;Stores information recorded for the checkpoint in a chain of checkpoint log records. The LSN of the start of this chain is written to the database boot page.&lt;br /&gt;One piece of information recorded in the checkpoint records is the LSN of the first log image that must be present for a successful database-wide rollback. This LSN is called the Minimum Recovery LSN (MinLSN) and is the minimum of:&lt;br /&gt;The LSN of the start of the checkpoint.&lt;br /&gt;The LSN of the start of the oldest active transaction.&lt;br /&gt;The LSN of the start of the oldest replication transaction that has not yet replicated to all subscribers.&lt;br /&gt;Another piece of information recorded in the checkpoint records is a list of all outstanding, active transactions.&lt;br /&gt;Deletes all log records before the new MinLSN, if the database is using the simple recovery model.&lt;br /&gt;Writes to disk all dirty log and data pages.&lt;br /&gt;Writes to the log file a record marking the end of the checkpoint.&lt;br /&gt;The portion of the log file from the MinLSN to the last-written log record is called the active portion of the log. This is the portion of the log required to do a full recovery of the database. No part of the active log can ever be truncated. All log truncation must be done from the parts of the log before the MinLSN.&lt;br /&gt;This is a simplified version of the end of a transaction log with two active transactions. Checkpoint records have been compacted to a single record.&lt;br /&gt;LSN 148 is the last record in the transaction log. At the time the checkpoint recorded at LSN 147 was processed, Tran 1 had been committed and Tran 2 was the only active transaction. That makes the first log record for Tran 2 the oldest log record for a transaction active at the time of the last checkpoint. This makes LSN 142, the begin transaction record for Tran 2, the MinLSN.&lt;br /&gt;Checkpoints occur:&lt;br /&gt;When a CHECKPOINT statement is executed. The current database for the connection is check pointed.&lt;br /&gt;When ALTER DATABASE is used to change a database option. ALTER DATABASE checkpoints the database when database options are changed.&lt;br /&gt;When an instance of SQL Server is stopped by:&lt;br /&gt;Executing a SHUTDOWN statement.&lt;br /&gt;Using the SQL Server Service Control Manager to stop the service running an instance of the database engine.&lt;br /&gt;Either of these methods checkpoints each database in the instance of SQL Server.&lt;br /&gt;When an instance SQL Server periodically generates automatic checkpoints in each database to reduce the amount of time the instance would take to recover the database.&lt;br /&gt;Automatic Checkpoints&lt;br /&gt;SQL Server 2000 always generates automatic checkpoints. The interval between automatic checkpoints is based on the number of records in the log, not time. The time interval between automatic checkpoints can be highly variable. The time interval between automatic checkpoints is long if few modifications are made in the database. Automatic checkpoints occur frequently if a lot of data is modified.&lt;br /&gt;The interval between automatic checkpoints is calculated from the recovery interval server configuration option. This option specifies the maximum time SQL Server should use to recover a database during a system restart. SQL Server estimates how many log records it can process in the recovery interval during a recovery operation. The interval between automatic checkpoints also depends on whether or not the database is using the simple recovery model.&lt;br /&gt;If the database is using either the full or bulk-logged recovery model, an automatic checkpoint is generated whenever the number of log records reaches the number SQL Server estimates it can process during the time specified in the recovery interval option.&lt;br /&gt;If the database is using the simple recovery model, an automatic checkpoint is generated whenever the number of log records reaches the lesser of these two values:&lt;br /&gt;The log becomes 70 percent full.&lt;br /&gt;The number of log records reaches the number SQL Server estimates it can process during the time specified in the recovery interval option.&lt;br /&gt;Automatic checkpoints truncate the unused portion of the transaction log if the database is using the simple recovery model. The log is not truncated by automatic checkpoints if the database is using the full or bulk-logged recovery models. For more information, see Truncating the Transaction Log.&lt;br /&gt;Long-Running Transactions&lt;br /&gt;The active portion of the log must include every part of all uncommitted transactions. An application that starts a transaction and does not commit it or roll it back prevents SQL Server from advancing the MinLSN. This can cause two types of problems:&lt;br /&gt;If the system is shut down after the transaction has performed many uncommitted modifications, the recovery phase of the subsequent restart can take considerably longer than the amount of time specified in the recovery interval option.&lt;br /&gt;The log may grow very large because the log cannot be truncated past the MinLSN. This happens even if the database is using the simple recovery model, in which the transaction log is normally truncated on each automatic checkpoint.&lt;br /&gt;Replication Transactions&lt;br /&gt;The active portion of the log must also contain all transactions marked for replication, but that have not yet been replicated to a subscriber. If these transactions are not replicated in a timely manner, they can also prevent truncation of the log.&lt;br /&gt;&lt;br /&gt;&lt;a name="_truncating_the_transaction_log"&gt;&lt;/a&gt;Truncating the Transaction Log&lt;br /&gt;If log records were never deleted from the transaction log, the logical log would grow until it filled all the available space on the disks holding the physical log files. At some point in time, old log records no longer necessary for recovering or restoring a database must be deleted to make way for new log records. The process of deleting these log records to reduce the size of the logical log is called truncating the log.&lt;br /&gt;The active portion of the transaction log can never be truncated. The active portion of the log is the part of the log needed to recover the database at any time, so must have the log images needed to roll back all incomplete transactions. It must always be present in the database in case the server fails because it will be required to recover the database when the server is restarted. The record at the start of the active portion of the log is identified by the minimum recovery log sequence number (MinLSN).&lt;br /&gt;The recovery model chosen for a database determines how much of the transaction log in front of the active portion must be retained in the database. Although the log records in front of the MinLSN play no role in recovering active transactions, they are required to roll forward modifications when using log backups to restore a database to the point of failure. If you lose a database for some reason, you can recover the data by restoring the last database backup, and then restoring every log backup since the database backup. This means that the sequence of log backups must contain every log record that was written since the database backup. When you are maintaining a sequence of transaction log backups, no log record can be truncated until after it has been written to a log backup.&lt;br /&gt;The log records before the MinLSN are only needed to maintain a sequence of transaction log backups.&lt;br /&gt;In the simple recovery model, a sequence of transaction logs is not being maintained. All log records before the MinLSN can be truncated at any time, except while a BACKUP statement is being processed. NO_LOG and TRUNCATE_ONLY are the only BACKUP LOG options that are valid for a database that is using the simple recovery model.&lt;br /&gt;Note  The tempdb database always uses the simple recovery model, it cannot be switched to another recovery model. Log truncation always occurs on a checkpoint in tempdb.&lt;br /&gt;In the full and bulk-logged recovery models, a sequence of transaction log backups is being maintained. The part of the logical log before the MinLSN cannot be truncated until those log records have been copied to a log backup.&lt;br /&gt;Log truncation occurs at these points:&lt;br /&gt;At the completion of any BACKUP LOG statement.&lt;br /&gt;Every time a checkpoint is processed, provided the database is using the simple recovery model. This includes both explicit checkpoints resulting from a CHECKPOINT statement and implicit checkpoints generated by the system. The exception is that the log is not truncated if the checkpoint occurs when a BACKUP statement is still active. For more information about the interval between automatic checkpoints, see &lt;a href="mk:@MSITStore:C:/Program%20Files/Microsoft%20SQL%20Server/80/Tools/Books/architec.chm::/8_ar_da2_8y3y.htm"&gt;Checkpoints and the Active Portion of the Log.&lt;/a&gt;.&lt;br /&gt;Transaction logs are divided internally into sections called virtual log files. Virtual log files are the unit of truncation. When a transaction log is truncated, all log records before the start of the virtual log file containing the MinLSN are deleted. For more information about virtual log files, see &lt;a href="mk:@MSITStore:C:/Program%20Files/Microsoft%20SQL%20Server/80/Tools/Books/architec.chm::/8_ar_da2_3t2d.htm"&gt;Transaction Log Physical Architecture&lt;/a&gt;.&lt;br /&gt;The size of a transaction log is therefore controlled in one of these ways:&lt;br /&gt;When a log backup sequence is being maintained, schedule BACKUP LOG statements to occur at intervals that will keep the transaction log from growing past the desired size.&lt;br /&gt;When a log backup sequence is not maintained, specify the simple recovery model.&lt;br /&gt;This illustration shows a transaction log that has four virtual logs. The log has not been truncated after the database was created. The logical log starts at the beginning of the first virtual log and the part of virtual log 4 beyond the end of the logical file has never been used.&lt;br /&gt;This illustration shows how the log looks after truncation. The rows before the start of the virtual log containing the MinLSN record have been truncated.&lt;br /&gt;Truncation does not reduce the size of a physical log file, it reduces the size of the logical log file. For information on shrinking the size of a physical log file, see Shrinking the Transaction Log.&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-6409530705299345692?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/6409530705299345692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=6409530705299345692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6409530705299345692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6409530705299345692'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/06/checkpoint.html' title='CHECKPOINT'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-4813732219404763792</id><published>2008-06-13T04:19:00.000-07:00</published><updated>2008-06-13T04:21:53.707-07:00</updated><title type='text'>Cumulative list of the hotfixes that are available for SQL Server 2000 स्प४</title><content type='html'>Cumulative list of the hotfixes that are available for SQL Server 2000 SP4&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#appliesto"&gt;View products that this article applies to.&lt;/a&gt;&lt;br /&gt;function loadTOCNode(){}&lt;br /&gt;Article ID&lt;br /&gt;:&lt;br /&gt;894905&lt;br /&gt;Last Review&lt;br /&gt;:&lt;br /&gt;December 5, 2007&lt;br /&gt;Revision&lt;br /&gt;:&lt;br /&gt;6.2&lt;br /&gt;On This Page&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;INTRODUCTION&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;MORE INFORMATION&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2040&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2145&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2146&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2148&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2151&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2156&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2159&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2162&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2164&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2166&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2171&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2172&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2175&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2177&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2180&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2181&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2184&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2185&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2187&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2189&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2190&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2191&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2192&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2194&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2196&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2197&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2199&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2200&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2201&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2203&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2204&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2207&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2209&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2215&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2216&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2217&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2218&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2220&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2223&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2226&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2229&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2231&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2232&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2234&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2238&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2239&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2241&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2244&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2245&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2246&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2248&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;SQL Server 2000 build 8.00.2249&lt;/a&gt;&lt;br /&gt;&lt;a onclick="return tocScrollTo(this);" href="http://support.microsoft.com/kb/894905#"&gt;REFERENCES&lt;/a&gt;&lt;br /&gt;var sectionFilter = "type != 'notice' &amp;amp;&amp;amp; type != 'securedata' &amp;amp;&amp;amp; type != 'querywords'";&lt;br /&gt;var tocArrow = "/library/images/support/kbgraphics/public/en-us/downarrow.gif";&lt;br /&gt;var depthLimit = 10;&lt;br /&gt;var depth3Limit = 10;&lt;br /&gt;var depth4Limit = 5;&lt;br /&gt;var depth5Limit = 3;&lt;br /&gt;var tocEntryMinimum = 1;&lt;br /&gt;&lt;br /&gt;.toc{display: none;}&lt;br /&gt;INTRODUCTION&lt;br /&gt;loadTOCNode(1, 'summary');&lt;br /&gt;This article contains a list of the Microsoft SQL Server 2000 hotfixes. You can use this list to determine which hotfixes are included in a specific hotfix build. Unless otherwise specified, all the hotfixes in earlier builds are included in later builds. The list includes all the public hotfixes that have been released since the release of Microsoft SQL Server 2000 Service Pack 4 (SP4).Important notes:&lt;br /&gt;•&lt;br /&gt;Before you apply any hotfix in this list, you must have SQL Server 2000 SP4 installed. To determine which version of SQL Server you have, see the following article in the Microsoft Knowledge Base:&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/321185/"&gt;321185&lt;/a&gt; (http://support.microsoft.com/kb/321185/) How to identify your SQL Server version and edition To obtain SQL Server 2000 SP4, visit the following Microsoft Download Center Web site:&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&lt;/a&gt; (http://www.microsoft.com/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5)For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/119591/"&gt;119591&lt;/a&gt; (http://support.microsoft.com/kb/119591/) How to obtain Microsoft support files from online services Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.&lt;br /&gt;•&lt;br /&gt;Hotfixes that are not part of a security release or a public roll-up package can only be obtained by contacting Microsoft Product Support Services. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:&lt;br /&gt;&lt;a href="http://support.microsoft.com/contactus/?ws=support"&gt;http://support.microsoft.com/contactus/?ws=support&lt;/a&gt; (http://support.microsoft.com/contactus/?ws=support)Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.&lt;br /&gt;•&lt;br /&gt;This list does not contain the hotfixes for Microsoft Data Access Components (MDAC) or for Microsoft SQL Server 2000 Analysis Services.&lt;br /&gt;•&lt;br /&gt;This article also describes a list of the SQL Server 2000 SP3-based hotfixes that are not included in SQL Server 2000 SP4. The reason is that the ship date of these hotfixes is later than the ship date of SQL Server 2000 SP4. These hotfixes are first included in this build.&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;MORE INFORMATION&lt;br /&gt;loadTOCNode(1, 'moreinformation');&lt;br /&gt;The following list includes all public SQL Server 2000 hotfixes that have been released since the release of SQL Server 2000 SP4.&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2040&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/899761/"&gt;899761&lt;/a&gt; (http://support.microsoft.com/kb/899761/) FIX: Not all memory is available when AWE is enabled on a computer that is running a 32-bit version of SQL Server 2000 Service Pack 4 SQL Server 2000 build 8.00.2040 includes the same hotfix that SQL Server 2000 build 8.00.2141 includes. SQL Server 2000 build 8.00.2040 is a general distribution release (GDR) update. The hotfix that is included in SQL Server 2000 build 8.00.2040 is the first hotfix that was released after SQL Server 2000 SP4.For more information about a GDR, click the following article number to view the article in the Microsoft Knowledge Base:&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/935897/"&gt;935897&lt;/a&gt; (http://support.microsoft.com/kb/935897/) An Incremental Servicing Model is available from the SQL Server team to deliver hotfixes for reported problems&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2145&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/836651/"&gt;836651&lt;/a&gt; (http://support.microsoft.com/kb/836651/) FIX: You receive query results that were not expected when you use both ANSI joins and non-ANSI joins&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/898626/"&gt;898626&lt;/a&gt; (http://support.microsoft.com/kb/898626/) FIX: An access violation may occur when a deadlock graph is written to the error log in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/899430/"&gt;899430&lt;/a&gt; (http://support.microsoft.com/kb/899430/) FIX: An access violation may occur when you run a SELECT query and the NO_BROWSETABLE option is set to ON in Microsoft SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/899431/"&gt;899431&lt;/a&gt; (http://support.microsoft.com/kb/899431/) FIX: An access violation occurs in the Mssdi98.dll file, and SQL Server crashes when you use SQL Query Analyzer to debug a stored procedure in SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/900390/"&gt;900390&lt;/a&gt; (http://support.microsoft.com/kb/900390/) FIX: The Mssdmn.exe process may use lots of CPU capacity when you perform a SQL Server 2000 full text search of Office Word documents&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/900404/"&gt;900404&lt;/a&gt; (http://support.microsoft.com/kb/900404/) FIX: The results of the query may be returned much slower than you expect when you run a query that includes a GROUP BY statement in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/900470/"&gt;900470&lt;/a&gt; (http://support.microsoft.com/kb/900470/) FIX: You may receive an error message when you perform transactional replication in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/900629/"&gt;900629&lt;/a&gt; (http://support.microsoft.com/kb/900629/) FIX: You receive a "Failed to open a table" error message when you try to open a trace table by using SQL Profiler after you upgrade to SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/901200/"&gt;901200&lt;/a&gt; (http://support.microsoft.com/kb/901200/) FIX: You may receive a “Server: Msg 7358, Level 16, State 1, Line 1” error message after you run a linked server query in SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/901212/"&gt;901212&lt;/a&gt; (http://support.microsoft.com/kb/901212/) FIX: You receive an error message if you use the sp_addalias or sp_dropalias procedures when the IMPLICIT_TRANSACTIONS option is set to ON in SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/902955/"&gt;902955&lt;/a&gt; (http://support.microsoft.com/kb/902955/) FIX: You receive a "Getting registry information" message when you run the Sqldiag.exe utility after you install SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2146&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/909100/"&gt;909100&lt;/a&gt; (http://support.microsoft.com/kb/909100/) FIX: The performance of the statement that raises an error differs from the performance of the statement that does not raise an error when you trace exception events in SQL Server 2000 on an IA-64 computer&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2148&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/895123/"&gt;895123&lt;/a&gt; (http://support.microsoft.com/kb/895123/) FIX: You may receive error message 701, error message 802, and error message 17803 when many hashed buffers are available in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/899410/"&gt;899410&lt;/a&gt; (http://support.microsoft.com/kb/899410/) FIX: You may experience slow server performance when you start a trace in an instance of SQL Server 2000 that runs on a computer that has more than four processors&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/902150/"&gt;902150&lt;/a&gt; (http://support.microsoft.com/kb/902150/) FIX: Some 32-bit applications that use SQL-DMO and SQL-VDI APIs may stop working after you install SQL Server 2000 Service Pack 4 on an Itanium-based computer&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/903086/"&gt;903086&lt;/a&gt; (http://support.microsoft.com/kb/903086/) FIX: The batch job stops running, and job output is truncated when you run a Transact-SQL script as a SQL Server Agent job in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2151&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/903742/"&gt;903742&lt;/a&gt; (http://support.microsoft.com/kb/903742/) FIX: You receive an “Error: 8526, Severity: 16, State: 2” error message in SQL Profiler when you use SQL Query Analyzer to start or to enlist into a distributed transaction after you have installed SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/905417/"&gt;905417&lt;/a&gt; (http://support.microsoft.com/kb/905417/) FIX: Error message when you try to open SQL Server 2000 Data Transformation Services (DTS) packages in SQL Server Management Studio: "SQL Server 2000 DTS Designer components are required to edit DTS packages"&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/904244/"&gt;904244&lt;/a&gt; (http://support.microsoft.com/kb/904244/) FIX: Incorrect data is inserted unexpectedly when you perform a bulk copy operation by using the DB-Library API in SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2156&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/906790/"&gt;906790&lt;/a&gt; (http://support.microsoft.com/kb/906790/) FIX: You receive an error message when you try to rebuild the master database after you have installed hotfix builds in SQL Server 2000 SP4 64-bit&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/906890/"&gt;906890&lt;/a&gt; (http://support.microsoft.com/kb/906890/) FIX: You receive an access violation error message when a user-defined function is in a high-stress scenario in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/909379/"&gt;909379&lt;/a&gt; (http://support.microsoft.com/kb/909379/) FIX: You receive a 17883 error message when you run a complex query against SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/909380/"&gt;909380&lt;/a&gt; (http://support.microsoft.com/kb/909380/) FIX: Error message 17883 may be logged in the error log when you try to manually update table statistics in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2159&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/887700/"&gt;887700&lt;/a&gt; (http://support.microsoft.com/kb/887700/) FIX: Server Network Utility may display incorrect protocol properties in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/891017/"&gt;891017&lt;/a&gt; (http://support.microsoft.com/kb/891017/) FIX: SQL Server 2000 may stop responding to other requests when you perform a large deallocation operation&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/891201/"&gt;891201&lt;/a&gt; (http://support.microsoft.com/kb/891201/) FIX: Performance is significantly reduced when you set trace flag 9134 to prevent error message 601 in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/891268/"&gt;891268&lt;/a&gt; (http://support.microsoft.com/kb/891268/) FIX: You receive a 17883 error message and SQL Server 2000 may stop responding to other requests when you perform large in-memory sort operations&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/891585/"&gt;891585&lt;/a&gt; (http://support.microsoft.com/kb/891585/) FIX: Database recovery does not occur, or a user database is marked as suspect in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892205/"&gt;892205&lt;/a&gt; (http://support.microsoft.com/kb/892205/) FIX: You may receive a 17883 error message when SQL Server 2000 performs a very large hash operation&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892392/"&gt;892392&lt;/a&gt; (http://support.microsoft.com/kb/892392/) FIX: Query performance may be slower if the query contains both a GROUP BY clause and a DISTINCT keyword on the same column&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892551/"&gt;892551&lt;/a&gt; (http://support.microsoft.com/kb/892551/) FIX: You receive a SqlException error message when you call the sp_addmergepublication stored procedure when the Active Directory directory service is not available in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892840/"&gt;892840&lt;/a&gt; (http://support.microsoft.com/kb/892840/) FIX: 17883 errors may be written to the SQL Server error log when you run a query that generates many floating point exception errors in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892923/"&gt;892923&lt;/a&gt; (http://support.microsoft.com/kb/892923/) FIX: Differential database backups may not contain database changes in the Page Free Space (PFS) pages in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892935/"&gt;892935&lt;/a&gt; (http://support.microsoft.com/kb/892935/) FIX: You experience slow performance when you join local partitioned views with a table in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892940/"&gt;892940&lt;/a&gt; (http://support.microsoft.com/kb/892940/) FIX: You experience delays and receive a 17883 error message when SQL Server 2000 performs a large and complex query plan that uses hash operators&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/893172/"&gt;893172&lt;/a&gt; (http://support.microsoft.com/kb/893172/) FIX: An access violation may occur when you use the READPAST lock hint and you use a non-clustered index in your query in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/894257/"&gt;894257&lt;/a&gt; (http://support.microsoft.com/kb/894257/) FIX: You receive an "Incorrect syntax near ')'" error message when you run a script that was generated by SQL-DMO for an Operator object in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/896985/"&gt;896985&lt;/a&gt; (http://support.microsoft.com/kb/896985/) FIX: The Subscriber may not be able to upload changes to the Publisher when you incrementally add an article to a publication in SQL Server 2000 Service Pack 3&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/897572/"&gt;897572&lt;/a&gt; (http://support.microsoft.com/kb/897572/) FIX: You may receive a memory-related error message when you repeatedly create and destroy an out-of-process COM object within the same batch or stored procedure in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/897578/"&gt;897578&lt;/a&gt; (http://support.microsoft.com/kb/897578/) FIX: Only the master database and the tempdb database are listed when you try to create a new job in SQL Server Enterprise Manager&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/900625/"&gt;900625&lt;/a&gt; (http://support.microsoft.com/kb/900625/) FIX: The error message that the SELECT statement returns may contain user data in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/907250/"&gt;907250&lt;/a&gt; (http://support.microsoft.com/kb/907250/) FIX: You may experience concurrency issues when you run the DBCC INDEXDEFRAG statement in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892310/"&gt;892310&lt;/a&gt; (http://support.microsoft.com/kb/892310/) FIX: The results are different every time that you run a complex query that contains a hash outer join operator in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2162&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/887700/"&gt;887700&lt;/a&gt; (http://support.microsoft.com/kb/887700/) FIX: Server Network Utility may display incorrect protocol properties in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/891017/"&gt;891017&lt;/a&gt; (http://support.microsoft.com/kb/891017/) FIX: SQL Server 2000 may stop responding to other requests when you perform a large deallocation operation&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/891201/"&gt;891201&lt;/a&gt; (http://support.microsoft.com/kb/891201/) FIX: Performance is significantly reduced when you set trace flag 9134 to prevent error message 601 in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/891268/"&gt;891268&lt;/a&gt; (http://support.microsoft.com/kb/891268/) FIX: You receive a 17883 error message and SQL Server 2000 may stop responding to other requests when you perform large in-memory sort operations&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/891585/"&gt;891585&lt;/a&gt; (http://support.microsoft.com/kb/891585/) FIX: Database recovery does not occur, or a user database is marked as suspect in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/891866/"&gt;891866&lt;/a&gt; (http://support.microsoft.com/kb/891866/) FIX: The query runs slower than you expected when you try to parse a query in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892205/"&gt;892205&lt;/a&gt; (http://support.microsoft.com/kb/892205/) FIX: You may receive a 17883 error message when SQL Server 2000 performs a very large hash operation&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892310/"&gt;892310&lt;/a&gt; (http://support.microsoft.com/kb/892310/) FIX: The results are different every time that you run a complex query that contains a hash outer join operator in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892392/"&gt;892392&lt;/a&gt; (http://support.microsoft.com/kb/892392/) FIX: Query performance may be slower if the query contains both a GROUP BY clause and a DISTINCT keyword on the same column&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892551/"&gt;892551&lt;/a&gt; (http://support.microsoft.com/kb/892551/) FIX: You receive a SqlException error message when you call the sp_addmergepublication stored procedure when the Active Directory directory service is not available in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892840/"&gt;892840&lt;/a&gt; (http://support.microsoft.com/kb/892840/) FIX: 17883 errors may be written to the SQL Server error log when you run a query that generates many floating point exception errors in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892923/"&gt;892923&lt;/a&gt; (http://support.microsoft.com/kb/892923/) FIX: Differential database backups may not contain database changes in the Page Free Space (PFS) pages in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892935/"&gt;892935&lt;/a&gt; (http://support.microsoft.com/kb/892935/) FIX: You experience slow performance when you join local partitioned views with a table in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892940/"&gt;892940&lt;/a&gt; (http://support.microsoft.com/kb/892940/) FIX: You experience delays and receive a 17883 error message when SQL Server 2000 performs a large and complex query plan that uses hash operators&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/892985/"&gt;892985&lt;/a&gt; (http://support.microsoft.com/kb/892985/) FIX: You may experience unexpected delays in query execution and unexpected time-out situations, and you may receive error message 17883 when you use the BULK INSERT command in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/893172/"&gt;893172&lt;/a&gt; (http://support.microsoft.com/kb/893172/) FIX: An access violation may occur when you use the READPAST lock hint and you use a non-clustered index in your query in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/894254/"&gt;894254&lt;/a&gt; (http://support.microsoft.com/kb/894254/) FIX: A complex query that includes a UNION ALL operator and an EXISTS clause may fail in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/894257/"&gt;894257&lt;/a&gt; (http://support.microsoft.com/kb/894257/) FIX: You receive an "Incorrect syntax near ')'" error message when you run a script that was generated by SQL-DMO for an Operator object in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/895187/"&gt;895187&lt;/a&gt; (http://support.microsoft.com/kb/895187/) FIX: You receive an error message when you try to delete records by running a Delete Transact-SQL statement in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/896425/"&gt;896425&lt;/a&gt; (http://support.microsoft.com/kb/896425/) FIX: The BULK INSERT statement silently skips insert attempts when the data value is NULL and the column is defined as NOT NULL for INT, SMALLINT, and BIGINT data types in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/896980/"&gt;896980&lt;/a&gt; (http://support.microsoft.com/kb/896980/) FIX: The query plan may take longer than expected to compile, and you may receive error message 701, error message 8623, or error message 8651 in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/896985/"&gt;896985&lt;/a&gt; (http://support.microsoft.com/kb/896985/) FIX: The Subscriber may not be able to upload changes to the Publisher when you incrementally add an article to a publication in SQL Server 2000 Service Pack 3&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/897572/"&gt;897572&lt;/a&gt; (http://support.microsoft.com/kb/897572/) FIX: You may receive a memory-related error message when you repeatedly create and destroy an out-of-process COM object within the same batch or stored procedure in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/897578/"&gt;897578&lt;/a&gt; (http://support.microsoft.com/kb/897578/) FIX: Only the master database and the tempdb database are listed when you try to create a new job in SQL Server Enterprise Manager&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/898115/"&gt;898115&lt;/a&gt; (http://support.microsoft.com/kb/898115/) FIX: The subquery in a CASE function is evaluated even if the condition in the WHEN expression is false in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/898709/"&gt;898709&lt;/a&gt; (http://support.microsoft.com/kb/898709/) FIX: Error message when you use SQL Server 2000: "Time out occurred while waiting for buffer latch type 3"&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/900335/"&gt;900335&lt;/a&gt; (http://support.microsoft.com/kb/900335/) FIX: The SQL Server 2000 automatic database recovery operation may not succeed if an index contains a FLOAT data type or a REAL data type, and this data type contains a NaN value&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/900416/"&gt;900416&lt;/a&gt; (http://support.microsoft.com/kb/900416/) FIX: A 17883 error may occur you run a query that uses a hash join in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/900625/"&gt;900625&lt;/a&gt; (http://support.microsoft.com/kb/900625/) FIX: The error message that the SELECT statement returns may contain user data in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/902851/"&gt;902851&lt;/a&gt; (http://support.microsoft.com/kb/902851/) FIX: SQL Server 2000 may intermittently appear to stop responding (hang) during a scheduled maintenance DBCC DBREINDEX operation&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/902852/"&gt;902852&lt;/a&gt; (http://support.microsoft.com/kb/902852/) FIX: Error message when you run an UPDATE statement that uses two JOIN hints to update a table in SQL Server 2000: "Internal SQL Server error"&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/905765/"&gt;905765&lt;/a&gt; (http://support.microsoft.com/kb/905765/) FIX: A view is corrupted after you run the DBCC DBREINDEX Transact-SQL statement to rebuild the clustered index on a view in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2164&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/909089/"&gt;909089&lt;/a&gt; (http://support.microsoft.com/kb/909089/) FIX: An access violation may occur when you try to run a Transact-SQL query in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2166&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/909734/"&gt;909734&lt;/a&gt; (http://support.microsoft.com/kb/909734/) FIX: An error message is logged, and new diagnostics do not capture the thread stack when the SQL Server User Mode Scheduler (UMS) experiences a nonyielding thread in SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2171&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/908156/"&gt;908156&lt;/a&gt; (http://support.microsoft.com/kb/908156/) FIX: You receive an error message when MS DTC for SQL Server 2000 reuses a server process identifier (SPID) to enlist in a distributed transaction&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/909369/"&gt;909369&lt;/a&gt; (http://support.microsoft.com/kb/909369/) FIX: Automatic checkpoints on some SQL Server 2000 databases do not run as expected&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/910392/"&gt;910392&lt;/a&gt; (http://support.microsoft.com/kb/910392/) FIX: You may receive incorrect results when you run a Transact-SQL query in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/910895/"&gt;910895&lt;/a&gt; (http://support.microsoft.com/kb/910895/) FIX: You may receive an error message when you set the database collation to Thai_CI_AS and you try to run a Transact-SQL update query in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2172&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/910707/"&gt;910707&lt;/a&gt; (http://support.microsoft.com/kb/910707/) FIX: When you query a view that was created by using the VIEW_METADATA option, an access violation may occur in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/910710/"&gt;910710&lt;/a&gt; (http://support.microsoft.com/kb/910710/) FIX: You receive an error message when a Visual Basic application opens a dynamic cursor on a GROUP BY query in SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2175&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/911569/"&gt;911569&lt;/a&gt; (http://support.microsoft.com/kb/911569/) FIX: You may receive an access violation error message when you run a linked server query that includes a subquery&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/911677/"&gt;911677&lt;/a&gt; (http://support.microsoft.com/kb/911677/) FIX: A query may run more slowly against SQL Server 2000 post-Service Pack 3 hotfix build 8.00.0988 than a query that you run against SQL Server 2000 post-Service Pack 3 hotfix builds that are earlier than build 8.00.0988&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/911678/"&gt;911678&lt;/a&gt; (http://support.microsoft.com/kb/911678/) FIX: No rows may be returned, and you may receive an error message when you try to import SQL Profiler trace files into tables by using the fn_trace_gettable function in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2177&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/912468/"&gt;912468&lt;/a&gt; (http://support.microsoft.com/kb/912468/) FIX: The connection that processes the cube stops responding, and the cube is locked in SQL Server 2000 Analysis Services&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/913049/"&gt;913049&lt;/a&gt; (http://support.microsoft.com/kb/913049/) FIX: The result set contains data for the whole relational source when you execute a query to retrieve a drillthrough result set in SQL Server 2000 Analysis Services&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2180&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/913684/"&gt;913684&lt;/a&gt; (http://support.microsoft.com/kb/913684/) FIX: You may receive error messages when you use linked servers in SQL Server 2000 on a 64-bit Itanium processor&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/913789/"&gt;913789&lt;/a&gt; (http://support.microsoft.com/kb/913789/) FIX: The password that you specify in a BACKUP statement appears in the SQL Server Errorlog file or in the Application event log if the BACKUP statement does not run in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2181&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/914085/"&gt;914085&lt;/a&gt; (http://support.microsoft.com/kb/914085/) FIX: You may receive an error message when you try to use a Japanese user name or a Korean user name to connect to an Analysis Services server&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2184&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/913991/"&gt;913991&lt;/a&gt; (http://support.microsoft.com/kb/913991/) FIX: Hotfix files may not be copied to remote nodes when you install a 32-bit hotfix, and hotfix files may not be removed from remote nodes on a computer that is running SQL Server 2000 in an MSCS environment&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/914298/"&gt;914298&lt;/a&gt; (http://support.microsoft.com/kb/914298/) FIX: You may receive an error message, and the SQL Server process may crash when you copy or transfer SQL Server 2000 data&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/914384/"&gt;914384&lt;/a&gt; (http://support.microsoft.com/kb/914384/) FIX: The database status changes to Suspect when you perform a bulk copy in a transaction and then roll back the transaction in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2185&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/914439/"&gt;914439&lt;/a&gt; (http://support.microsoft.com/kb/914439/) FIX: The synchronization process may take a long time when you synchronize merge replication publications in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/915340/"&gt;915340&lt;/a&gt; (http://support.microsoft.com/kb/915340/) FIX: A deadlock occurs when the scheduled SQL Server Agent job that you add or that you update is running in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2187&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/914298/"&gt;914298&lt;/a&gt; (http://support.microsoft.com/kb/914298/) FIX: You may receive an error message, and the SQL Server process may crash when you copy or transfer SQL Server 2000 data&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2189&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/913438/"&gt;913438&lt;/a&gt; (http://support.microsoft.com/kb/913438/) FIX: The SQL Server process may end unexpectedly when you turn on trace flag -T1204 and a profiler trace is capturing the Lock:DeadLock Chain event in SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/915436/"&gt;915436&lt;/a&gt; (http://support.microsoft.com/kb/915436/) FIX: Error message when you run a complex insert query or a stored procedure in SQL Server 2000: "Internal SQL Server error"&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/916652/"&gt;916652&lt;/a&gt; (http://support.microsoft.com/kb/916652/) FIX: An access violation may occur when you run a query on a table that has a multicolumn index in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/916653/"&gt;916653&lt;/a&gt; (http://support.microsoft.com/kb/916653/) FIX: An access violation may occur intermittently in the CQList::Remove function when you run a query in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2190&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/916097/"&gt;916097&lt;/a&gt; (http://support.microsoft.com/kb/916097/) FIX: You may not be able to use Analysis Manager to change server properties for an instance of SQL Server 2000 Analysis Services that is running on an IA-64 server computer after you install Windows Server 2003 S916097 on a client computer&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2191&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/916698/"&gt;916698&lt;/a&gt; (http://support.microsoft.com/kb/916698/) FIX: Error message when you run SQL Server 2000: "Failed assertion = 'lockFound == TRUE'"&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/916950/"&gt;916950&lt;/a&gt; (http://support.microsoft.com/kb/916950/) FIX: You may experience heap corruption, and SQL Server 2000 may shut down with fatal access violations when you try to browse files in SQL Server 2000 Enterprise Manager on a Windows Server 2003 x64-based computer&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2192&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/917593/"&gt;917593&lt;/a&gt; (http://support.microsoft.com/kb/917593/) FIX: The "Audit Logout" event does not appear in the trace results file when you run a profiler trace against a linked server instance in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/917606/"&gt;917606&lt;/a&gt; (http://support.microsoft.com/kb/917606/) FIX: You may notice a decrease in performance when you run a query that uses the UNION ALL operator in SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2194&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/893312/"&gt;893312&lt;/a&gt; (http://support.microsoft.com/kb/893312/) FIX: You may receive a "SQL Server could not spawn process_loginread thread" error message, and a memory leak may occur when you cancel a remote query in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/917565/"&gt;917565&lt;/a&gt; (http://support.microsoft.com/kb/917565/) FIX: Error 17883 is logged in the SQL Server error log, and the instance of SQL Server 2000 temporarily stops responding&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/917972/"&gt;917972&lt;/a&gt; (http://support.microsoft.com/kb/917972/) FIX: You receive an access violation error message when you try to perform a read of a large binary large object column in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2196&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/919165/"&gt;919165&lt;/a&gt; (http://support.microsoft.com/kb/919165/) FIX: A memory leak occurs when you run a remote query by using a linked server in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2197&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/919068/"&gt;919068&lt;/a&gt; (http://support.microsoft.com/kb/919068/) FIX: The query may return incorrect results, and the execution plan for the query may contain a "Table Spool" operator in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/919133/"&gt;919133&lt;/a&gt; (http://support.microsoft.com/kb/919133/) FIX: Each query takes a long time to compile when you execute a single query or when you execute multiple concurrent queries in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/919399/"&gt;919399&lt;/a&gt; (http://support.microsoft.com/kb/919399/) FIX: A profiler trace in SQL Server 2000 may stop logging events unexpectedly, and you may receive the following error message: "Failed to read trace data"&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2199&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/919221/"&gt;919221&lt;/a&gt; (http://support.microsoft.com/kb/919221/) FIX: SQL Server 2000 may take a long time to complete the synchronization phase when you create a merge publication&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2200&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/920121/"&gt;920121&lt;/a&gt; (http://support.microsoft.com/kb/920121/) FIX: Error message when you add a calculated member to a cube in SQL Server 2000 Analysis Services Service Pack 4: "Unable to update the calculated member"&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2201&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/920930/"&gt;920930&lt;/a&gt; (http://support.microsoft.com/kb/920930/) FIX: Error message when you try to run a query on a linked server in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2203&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/922040/"&gt;922040&lt;/a&gt; (http://support.microsoft.com/kb/922040/) FIX: You cannot uninstall SQL Server 2000 build 2187 when SQL Server 2000 build 2187 is configured as a Microsoft Cluster Service (MSCS) node&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2204&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/921929/"&gt;921929&lt;/a&gt; (http://support.microsoft.com/kb/921929/) BUG: When you click "Build Query" in the "Execute SQL Task Properties" dialog box of the SQL Server 2000 DTS package designer, SQL Server 2005 Management Studio unexpectedly closes&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2207&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/923344/"&gt;923344&lt;/a&gt; (http://support.microsoft.com/kb/923344/) FIX: A SQL Server 2000 session may be blocked for the whole time that a Snapshot Agent job runs&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2209&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/923327/"&gt;923327&lt;/a&gt; (http://support.microsoft.com/kb/923327/) FIX: You may receive an access violation error message when you import data by using the "Bulk Insert" command in SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/923563/"&gt;923563&lt;/a&gt; (http://support.microsoft.com/kb/923563/) FIX: Error message when you configure an immediate updating transactional replication in SQL Server 2000: "Implicit conversion from datatype 'text' to 'nvarchar' is not allowed"&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/923796/"&gt;923796&lt;/a&gt; (http://support.microsoft.com/kb/923796/) FIX: Data in a subscriber of a merge publication in SQL Server 2000 differs from the data in the publisher&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2215&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/924662/"&gt;924662&lt;/a&gt; (http://support.microsoft.com/kb/924662/) FIX: The query performance may be slow when you query data from a view in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2216&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/925000/"&gt;925000&lt;/a&gt; (http://support.microsoft.com/kb/925000/) FIX: An access violation may occur in SQL Server 2000 Analysis Services when you try to use a 2007 Office system program to open an offline local cube&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2217&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/924664/"&gt;924664&lt;/a&gt; (http://support.microsoft.com/kb/924664/) FIX: You cannot stop the SQL Server service, or many minidump files and many log files are generated in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2218&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/925297/"&gt;925297&lt;/a&gt; (http://support.microsoft.com/kb/925297/) FIX: The result may be sorted in the wrong order when you run a query that uses the ORDER BY clause to sort a column in a table in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2220&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/925745/"&gt;925745&lt;/a&gt; (http://support.microsoft.com/kb/925745/) FIX: The members of a role that uses dynamic security cannot access the SQL Server 2000 Analysis Services database when you run a query against a cube&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2223&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/925678/"&gt;925678&lt;/a&gt; (http://support.microsoft.com/kb/925678/) FIX: Error message when you schedule a Replication Merge Agent job to run after you install SQL Server 2000 Service Pack 4: "The process could not enumerate changes at the 'Subscriber'"&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/925419/"&gt;925419&lt;/a&gt; (http://support.microsoft.com/kb/925419/) FIX: The server stops responding, the performance is slow, and a time-out occurs in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2226&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/925684/"&gt;925684&lt;/a&gt; (http://support.microsoft.com/kb/925684/) FIX: You may experience one or more symptoms when you run a "CREATE INDEX" statement on an instance of SQL Server 2000&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/925732/"&gt;925732&lt;/a&gt; (http://support.microsoft.com/kb/925732/) FIX: You may receive inconsistent comparison results when you compare strings by using a width sensitive collation in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2229&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/927186/"&gt;927186&lt;/a&gt; (http://support.microsoft.com/kb/927186/) FIX: Error message when you create a merge replication for tables that have computed columns in SQL Server 2000 Service Pack 4: "The process could not log conflict information"&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2231&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/928079/"&gt;928079&lt;/a&gt; (http://support.microsoft.com/kb/928079/) FIX: The Sqldumper.exe utility cannot generate a filtered SQL Server dump file when you use the Remote Desktop Connection service or Terminal Services to connect to a Windows 2000 Server-based computer in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2232&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/928568/"&gt;928568&lt;/a&gt; (http://support.microsoft.com/kb/928568/) FIX: SQL Server 2000 stops responding when you cancel a query or when a query time-out occurs, and error messages are logged in the SQL Server error log file&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2234&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/929131/"&gt;929131&lt;/a&gt; (http://support.microsoft.com/kb/929131/) FIX: In SQL Server 2000, the synchronization process is slow, and the CPU usage is high on the computer that is configured as the Distributor&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/929440/"&gt;929440&lt;/a&gt; (http://support.microsoft.com/kb/929440/) FIX: Error messages when you try to update table rows or insert table rows into a table in SQL Server 2000: "644" or "2511"&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2238&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/929410/"&gt;929410&lt;/a&gt; (http://support.microsoft.com/kb/929410/) FIX: Error message when you run a full-text query in SQL Server 2000: "Error: 17883, Severity: 1, State: 0"&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/931932/"&gt;931932&lt;/a&gt; (http://support.microsoft.com/kb/931932/) FIX: The merge agent fails intermittently when you use merge replication that uses a custom resolver after you install SQL Server 2000 Service Pack 4&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2239&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/930484/"&gt;930484&lt;/a&gt; (http://support.microsoft.com/kb/930484/) FIX: CPU utilization may approach 100 percent on a computer that is running SQL Server 2000 after you run the BACKUP DATABASE statement or the BACKUP LOG statement&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2241&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/932697/"&gt;932697&lt;/a&gt; (http://support.microsoft.com/kb/932697/) FIX: A calculated member that uses the DistinctCount function always returns 0 when you query a virtual cube that contains the calculated member after you install SQL Server 2000 Analysis Services Service Pack 4&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2244&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/934203/"&gt;934203&lt;/a&gt; (http://support.microsoft.com/kb/934203/) FIX: A hotfix for Microsoft SQL Server 2000 Service Pack 4 may not update all the necessary files on an x64-based computer&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2245&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/933573/"&gt;933573&lt;/a&gt; (http://support.microsoft.com/kb/933573/) FIX: You may receive an assertion or database corruption may occur when you use the bcp utility or the "Bulk Insert" Transact-SQL command to import data in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2246&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/935465/"&gt;935465&lt;/a&gt; (http://support.microsoft.com/kb/935465/) An updated version of Sqlvdi.dll is now available for SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2248&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/935950/"&gt;935950&lt;/a&gt; (http://support.microsoft.com/kb/935950/) FIX: The foreign key that you created between two tables does not work after you run the CREATE INDEX statement in SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;SQL Server 2000 build 8.00.2249&lt;br /&gt;loadTOCNode(2, 'moreinformation');&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/936232/"&gt;936232&lt;/a&gt; (http://support.microsoft.com/kb/936232/) FIX: An access violation may occur when you try to log in to an instance of SQL Server 2000&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;REFERENCES&lt;br /&gt;loadTOCNode(1, 'references');&lt;br /&gt;For more information about the naming schema for SQL Server updates, click the following article number to view the article in the Microsoft Knowledge Base:&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/822499/"&gt;822499&lt;/a&gt; (http://support.microsoft.com/kb/822499/) New naming schema for Microsoft SQL Server software update packages For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:&lt;br /&gt;&lt;a class="KBlink" href="http://support.microsoft.com/kb/824684/"&gt;824684&lt;/a&gt; (http://support.microsoft.com/kb/824684/) Description of the standard terminology that is used to describe Microsoft software updates&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;&lt;a id="appliesto"&gt;&lt;/a&gt;&lt;br /&gt;APPLIES TO&lt;br /&gt;•&lt;br /&gt;Microsoft SQL Server 2000 Enterprise Edition 64-bit&lt;br /&gt;•&lt;br /&gt;Microsoft SQL Server 2000 Developer Edition&lt;br /&gt;•&lt;br /&gt;Microsoft SQL Server 2000 Workgroup Edition&lt;br /&gt;•&lt;br /&gt;Microsoft SQL Server 2000 Standard Edition&lt;br /&gt;•&lt;br /&gt;Microsoft SQL Server 2000 Personal Edition&lt;br /&gt;•&lt;br /&gt;Microsoft SQL Server 2000 Enterprise Edition&lt;br /&gt;•&lt;br /&gt;Microsoft SQL Server 2000 Desktop Engine (Windows)&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;br /&gt;Keywords:&lt;br /&gt;kbbug kbfix kbqfe KB894905&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/894905#top"&gt;Back to the top&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-4813732219404763792?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://support.microsoft.com/kb/894905' title='Cumulative list of the hotfixes that are available for SQL Server 2000 स्प४'/><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/4813732219404763792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=4813732219404763792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/4813732219404763792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/4813732219404763792'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/06/cumulative-list-of-hotfixes-that-are.html' title='Cumulative list of the hotfixes that are available for SQL Server 2000 स्प४'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-5113186005413941241</id><published>2008-04-25T02:31:00.000-07:00</published><updated>2008-04-25T02:47:54.582-07:00</updated><title type='text'>How to manually remove a replication in SQL Server 2000 or in SQL Server 2005</title><content type='html'>How to remove the transactional Publication from the server:&lt;br /&gt;we should follow step by step commands to remove the Replication:&lt;br /&gt;USE &lt;publication&gt;GOEXEC sp_dropsubscription @publication =N'&lt;publication&gt;', @subscriber = N'&lt;subscriber&gt;', @article = N'all', @destination_db = N'&lt;destination&gt;'&lt;br /&gt;....................................................................................................&lt;br /&gt;USE &lt;publication&gt;GOEXEC sp_droppublication @publication = N'&lt;publication&gt;'&lt;br /&gt;USE masterGOEXEC sp_replicationdboption @dbname = N'&lt;publication&gt;', @optname = N'publish', @value = N'false'&lt;br /&gt;.........................................................................................&lt;br /&gt;USE masterGOEXEC sp_dropsubscriber @subscriber = N'&lt;subscriber&gt;', @reserved = N'drop_subscriptions'&lt;br /&gt;............................................................................................USE masterGOEXEC sp_dropdistributor @no_checks = 1&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-5113186005413941241?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://support.microsoft.com/kb/324401' title='How to manually remove a replication in SQL Server 2000 or in SQL Server 2005'/><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/5113186005413941241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=5113186005413941241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/5113186005413941241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/5113186005413941241'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/04/how-to-manually-remove-replication-in.html' title='How to manually remove a replication in SQL Server 2000 or in SQL Server 2005'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-7731040580986459735</id><published>2008-04-14T03:28:00.000-07:00</published><updated>2008-04-14T03:36:13.163-07:00</updated><title type='text'>Moving the tempdb database to another location</title><content type='html'>Moving the tempdb database to another location&lt;br /&gt;&lt;br /&gt;We plan to move tempdb database physical file to another drive.&lt;br /&gt;We tried some different way.Atlast the below article helped to solve the issue.&lt;br /&gt;Moving the tempdb database&lt;br /&gt;By Bill Graziano on 05 November 2007 3 Comments Tags: Administration&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Moving the tempdb database in SQL Server is a simple process but does require the service to be restarted.&lt;br /&gt;&lt;br /&gt;By default, the tempdb database is created in the same location as master, model and msdb. Tempdb is used to store temporary user created objects (e.g. temp tables), temporary internal objects (e.g. work tables for sorting) and any row version data. Each time SQL Server is started all the objects in tempdb are deleted but the file sizes are retained. People primarily want to move tempdb to increase performance or deal with file size issues.&lt;br /&gt;&lt;br /&gt;The first step is to determine the logical file names of of the data files for tempdb. You can run the following command in SQL Server 2000 or SQL Server 2005:&lt;br /&gt;&lt;br /&gt;USE tempdb&lt;br /&gt;GO&lt;br /&gt;EXEC sp_helpfile&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;name fileid filename&lt;br /&gt;--------- ------ -------------------------------&lt;br /&gt;tempdev 1 c:\Data\MSSQL\data\tempdb.mdf&lt;br /&gt;templog 2 c:\Data\MSSQL\data\templog.ldfI've omitted some extra columns from the result set. The logical names always seem to be tempdev and templog. Knowing this we can run the following ALTER DATABASE statement in SQL Server 2000 or SQL Server 2005 to move tempdb. Set the FILENAME parameter to the location where you'd like each file.&lt;br /&gt;&lt;br /&gt;USE master&lt;br /&gt;GO&lt;br /&gt;ALTER DATABASE tempdb&lt;br /&gt;MODIFY FILE (NAME = tempdev, FILENAME = 'C:\tempdb2005.mdf')&lt;br /&gt;GO&lt;br /&gt;ALTER DATABASE tempdb&lt;br /&gt;MODIFY FILE (NAME = templog, FILENAME = 'C:\tempdb2005.ldf')&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;The file "tempdev" has been modified in the system catalog. The new path will be used the next time the database is started.&lt;br /&gt;&lt;br /&gt;Restart the sql server services.&lt;br /&gt;&lt;br /&gt;GOSQL Server will return a message indicating that the old files can be deleted after restarting SQL Server or that the new files will be available after the database is restarted depending on which version of SQL Server you're using. In either case, you'll need to restart SQL Server for the change to take effect.&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-7731040580986459735?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/7731040580986459735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=7731040580986459735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/7731040580986459735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/7731040580986459735'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2008/04/moving-tempdb-database-to-another.html' title='Moving the tempdb database to another location'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-2978157435248409911</id><published>2007-09-27T05:41:00.000-07:00</published><updated>2007-09-27T05:52:16.768-07:00</updated><title type='text'>Sql versions list</title><content type='html'>This is very important for every sql server DBA ।This version list will help disaster time.&lt;br /&gt;&lt;br /&gt;select @@versions;&lt;br /&gt;SELECT CONVERT(char(20), SERVERPROPERTY('ProductLevel'))&lt;br /&gt;This command will return Returns:&lt;br /&gt;'RTM' = shipping version.'SPn' = service pack version'Bn', = beta version.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sqlsecurity.com/FAQs/SQLServerVersionDatabase/tabid/63/Default.aspx"&gt;http://www.sqlsecurity.com/FAQs/SQLServerVersionDatabase/tabid/63/Default.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-2978157435248409911?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/2978157435248409911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=2978157435248409911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/2978157435248409911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/2978157435248409911'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/09/sql-versions-list.html' title='Sql versions list'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-133668770616015966</id><published>2007-08-21T00:31:00.001-07:00</published><updated>2007-09-10T00:34:30.147-07:00</updated><title type='text'>DBA database management checklist</title><content type='html'>DBA database management chekklist&lt;br /&gt;&lt;br /&gt;Written By: Edgewood Solutions Engineers -- 7/3/2007&lt;br /&gt;&lt;br /&gt;ProblemFor both old and new DBAs there are fundamental procedures that should be addressed and proper processes put in place to handle various areas of database management for SQL Server. Whether you are a full time DBA or this is one of many job roles that you perform the same basic steps should be implemented and adhered to in order to have some peace of mind that you are performing the correct procedures to ensure a healthy running SQL Server environment. For old DBAs these items should be a no-brainer, but often a refresher is good reminder to make sure everything is in place. For new DBAs some of these basic items are not all that apparent and often some of the most basic DBA 101 items are sometimes overlooked. So based on this, what is a good plan to implement to make sure the basic SQL Server DBA items are being addressed?&lt;br /&gt;SolutionThe following is a checklist of 10 items that should be in place for all of your SQL Server database servers. Some of these items are pretty basic and easy to implement, while others require a higher level of effort to think through what is needed and then to implement the process.&lt;br /&gt;These items are not necessarily written in any priority order, because not any one of these items is a complete database management plan it really requires all of these items to be thought about, addressed and implemented.&lt;br /&gt;#&lt;br /&gt;Item&lt;br /&gt;Steps&lt;br /&gt;1&lt;br /&gt;Backups&lt;br /&gt;This is one of the most basic items to be addressed. Everyone knows that a good solid backup plan should be in place for all databases, but time and time again I run across servers where the wrong or no backup plan is in place.&lt;br /&gt;To get started you need to ask yourself a few questions such as the following:&lt;br /&gt;What are you trying to recover from when a failure occurs?&lt;br /&gt;How much data can be lost? A day, one hour, a week, none...&lt;br /&gt;What kind of processing occurs, transaction based, batch loading, a combination?&lt;br /&gt;Can the data be easily recreated if there is a failure or is this the only source of this data?&lt;br /&gt;This is just a short list of questions to ask, but once these are addressed this will allow you to determine; 1) the recovery model for your database and 2) the backup processing.&lt;br /&gt;Depending on your needs your backup plan may look like one of the following:&lt;br /&gt;Daily full backups only&lt;br /&gt;Daily full backups and transaction log backups every hour&lt;br /&gt;Daily full backups, transaction log backups every 15 minutes and differential backups every 4 hours&lt;br /&gt;Note: If you are unsure what to do, start with at least full backups on a daily basis. If your data is very important and you cannot easily recreate the data, change your database recovery model to FULL and implement both full and transaction log backups.&lt;br /&gt;2&lt;br /&gt;Run Integrity Checks&lt;br /&gt;Another area that should be addressed is the integrity of your data. SQL Server offers a few options to address this such as DBCC CHECKDB, DBCC CHECKTABLE, DBCC CHECKALLOC, etc...&lt;br /&gt;These commands check the allocation, structure and logical integrity of all objects in your database. In addition, to running these commands either through maintenance plans, maintenance jobs or via a query window you also need to analyze the data to look for any integrity issues that need to be addressed. This is another area that I see a lot of where the commands are run via maintenance jobs, but no one ever reviews the reports to see if there are any issues that need to be addressed.&lt;br /&gt;For the most part these integrity issues pop up a lot less than they did with earlier versions of SQL Server, but this is still an area that should be part of your DBA procedures.&lt;br /&gt;3&lt;br /&gt;Maintain Indexes&lt;br /&gt;Indexes are those helpful pointers that allow you quick access to your data pages in your database. When indexes are newly created the structure is nice and clean and everything works great by accessing your data via the index instead of having to scan the entire table.&lt;br /&gt;Over time these helpful indexes become fragmented and take up unnecessary space and accessing your data pages is not as efficient as it was when the indexes were first created. This is where index maintenance is a critical DBA process that needs to be in place.&lt;br /&gt;In SQL Server 2000 you have the ability to run index rebuilds across the board for all tables when using maintenance plans. This was an all or nothing approach. In SQL Server 2005, you also have the ability to run index rebuilds as well as index defrags. In addition, you can pick specific tables that you need to manage. Although this is not a perfect process for maintaining indexes it is definitely better than not doing anything.&lt;br /&gt;To take this a step further you can manage your index maintenance table by table or index by index. Some indexes will become fragmented while others may never have an issue based on how the index was created and how data is applied to the table/index. Based on this, by doing the across the board method of index management you are spending unnecessary time addressing a problem that does not exist for some the tables. Therefore the best approach would be to use the tools that SQL Server offers such as DBCC SHOWCONTIG and sys.dm_db_index_physical_stats to identify where the real issues exist and then take steps to address these tables and indexes instead of every table and index in your database.&lt;br /&gt;4&lt;br /&gt;Review Error Logs&lt;br /&gt;There are several areas where SQL Server logs information about processes that are occurring as well as errors that occur. The most used is probably the SQL Server Error Log. This error log gives you startup information, integrity check information, backup information, etc... as well as any SQL Server errors that occur. In addition to this log, there is also a log for SQL Server Agent and now in SQL Server 2005 Database Mail. In addition to these internal SQL Server logs you should also use the Windows Event Log to find other errors that may be occurring or possibly additional information that is not in the SQL Server logs.&lt;br /&gt;Reviewing the logs should be part of your daily routine for checking the health of your system. The ideal way to handle this is to use some tool that automates the alert process when there is an error, but either way you should keep these error logs on your radar list as something to review each day.&lt;br /&gt;5&lt;br /&gt;Manage SQL Server Agent Jobs&lt;br /&gt;SQL Server's built-in job scheduling tool is a great tool for automating your backups, index rebuilds, integrity checks, etc... But in addition to this tool giving you the flexibility to run these jobs during off hours you also need to make sure you are monitoring job success and failure. This can be automated by setting up SQL Mail (SQL 2000) or Database Mail (SQL 2005) and having failures be sent out to operators that are configured.&lt;br /&gt;This is another area I see all the time where there are several jobs that fail not just once or twice but every single time they were run. Take the time on a daily basis to check out the job failures and address the issue so all of your jobs run successfully.&lt;br /&gt;6&lt;br /&gt;Test Backups&lt;br /&gt;A SQL Server backup is only good if the restore works. No matter how many backups you take of your database if you cannot restore the file when needed there is no point in doing backups in the first place. The only way to determine if your backup/restore process will work is to periodically test on another server. This not only gives you peace of mind that the restore was successful, but this also gives you an idea of how long the entire process will take if you ever need to do this on your production server. Having this little insight and the time it will take to recover you database will go along way when you have people breathing down you neck.&lt;br /&gt;In addition to testing, you should also use the RESTORE VERIFY option when creating your backups. It doesn't necessarily tell you that the restore will not have any issues, but it will at least prove that SQL Server can read the entire backup file without a problem.&lt;br /&gt;7&lt;br /&gt;Monitor Performance&lt;br /&gt;This is one area that should be a no-brainer if you are responsible for monitoring your SQL Server environment. The database is usually the last thing people think about when they are working with an application, but when the application is slow the database is usually the first thing that is blamed for the poor performance.&lt;br /&gt;The problem with performances monitoring is not that most people don't do this, it is that they are not sure how to do this. Windows and SQL Server offer built in tools such as Performance Monitor, Profiler, Execution Plans, Index Tuning Wizard, Database Engine Tuning Advisor, etc... In addition, there are a whole bunch of third party tools that allow you to trend performance issues and be alerted when there are issues. Without good data it is very difficult to say when there really is a performance issue and also without this data it is difficult to know where to spend your time fixing issues that will have a big impact versus fixing something that will not have a very big impact.&lt;br /&gt;8&lt;br /&gt;Document&lt;br /&gt;Another thing that should be implemented is a documentation process to document procedures, priority lists, escalation lists, production changes, roll out procedures, etc... A good set of procedures should be established, so everyone that works on your SQL Servers understands the processes that you have put in place as well as to document all changes that occur, so when a problem does arise you can pinpoint when a change was made.&lt;br /&gt;A simple text file could be used to track your changes or since we are all database developers/DBAs why not use SQL Server to document and track the changes. This should be one of the simplest things to implement and there is no reason you can start doing this today.&lt;br /&gt;9&lt;br /&gt;Create and Test Disaster Recovery Plan&lt;br /&gt;Disasters don't strike all that often and because of this disaster recovery plans are usually not implemented. I am sure just about everyone has thought about this at one point in time, but thinking about a disaster recovery plan and implementing a plan are two totally different things.&lt;br /&gt;As a DBA you need to take the time to determine what kind of issues may arise and how to resolve the problem when it does occur. Think about this from a server level, database level and also down to a table level. Once you have determine what you need to do and how you are going to go about resolving the issue take the time to do some tests. You don't need to test every single server in your environment, but you should try to test each type of failure that you are trying to recover from.&lt;br /&gt;Another thing to put in place is a priority list for your servers and your databases. This way if there are multiple failures that occur you already have a priority list of what needs to be addressed and the order that they need to be dealt with.&lt;br /&gt;10&lt;br /&gt;Manage Security&lt;br /&gt;Security is also another area that is the DBAs responsibility to monitor. As you probably know security levels exist at the Windows server level, SQL Server server level, database level, object level, etc... There are SQL Server server level roles, database roles and user defined roles. Take the time to analyze your permission structure and make the necessary adjustments to ensure people have the rights they need to work, but not additional rights that may cause potential problems. In addition, to securing your database servers, make sure your database backups and any external programs are also secure, so no one can gain backdoor access to your servers or your data.&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-133668770616015966?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/133668770616015966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=133668770616015966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/133668770616015966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/133668770616015966'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/08/dba-database-management.html' title='DBA database management checklist'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-896666145945976677</id><published>2007-08-21T00:20:00.000-07:00</published><updated>2007-08-21T00:23:28.263-07:00</updated><title type='text'>Database Restore Verification</title><content type='html'>ProblemI have over night processes on a few different SQL Servers in my environment that are backup and restore related. I have used the scripts on MSSQLTips.com to check if the &lt;a href="http://www.mssqltips.com/tip.asp?tip=1054" target="_blank"&gt;SQL Server Agent Jobs\Job Steps&lt;/a&gt; have run as well as the &lt;a href="http://www.mssqltips.com/tip.asp?tip=1251" target="_blank"&gt;backup verification code&lt;/a&gt;. Some of the backup and restore processes I have written and others I have inherited. Some of the processes seem to be very reliable and others are not. I need a way to validate the restore processes have completed properly just like the SQL Server Agent Job and backup code. Can you provide this script so I can include it in my daily verification process?&lt;br /&gt;SolutionValidating daily processes such as SQL Server Agent Jobs, backups, restores, etc। should be an daily task for all DBAs to ensure the core business processes execute as expected. When thinking about restore related processes the other thought that comes to mind is log shipping. Whether you have to support daily backup and restore processes or full fledged log shipping, validating the full, differential and transaction log restores have worked properly is critical especially when these process are considered your disaster recovery or high availability solution. It is better to be safe than sorry. As such, here is code to validate the database restoration processes in the last 24 hours:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;All Backups - SQL Server 2005 and 2000 Restore Verification &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SELECT restore_date, destination_database_name, restore_type = CASE WHEN restore_type = 'D' THEN 'Database'WHEN restore_type = 'F' THEN 'File'WHEN restore_type = 'G' THEN 'Filegroup'WHEN restore_type = 'L' THEN 'Log'WHEN restore_type = 'I' THEN 'Differential'WHEN restore_type = 'R' THEN 'Revert'ELSE 'Unknown'ENDFROM MSDB।dbo.restorehistoryWHERE restore_date BETWEEN DATEADD(hh, -24, GETDATE()) AND GETDATE()AND restore_type &lt;&gt; 'V'ORDER BY restore_history_id&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Full Backups - SQL Server 2005 and 2000 Restore Verification &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SELECT restore_date, destination_database_nameFROM MSDB.dbo.restorehistoryWHERE restore_date BETWEEN DATEADD(hh, -24, GETDATE()) AND GETDATE()AND restore_type = 'D'ORDER BY restore_history_id&lt;br /&gt;Differential Backups - SQL Server 2005 and 2000 Restore Verification&lt;br /&gt;SELECT restore_date, destination_database_nameFROM MSDB।dbo.restorehistoryWHERE restore_date BETWEEN DATEADD(hh, -24, GETDATE()) AND GETDATE()AND restore_type = 'I'ORDER BY restore_history_id&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Transaction Log Backups - SQL Server 2005 and 2000 Restore Verification&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SELECT restore_date, destination_database_nameFROM MSDB.dbo.restorehistoryWHERE restore_date BETWEEN DATEADD(hh, -24, GETDATE()) AND GETDATE()AND restore_type = 'L'ORDER BY restore_history_id&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-896666145945976677?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/896666145945976677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=896666145945976677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/896666145945976677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/896666145945976677'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/08/database-restore-verification.html' title='Database Restore Verification'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-6539649015383081239</id><published>2007-08-20T02:47:00.000-07:00</published><updated>2007-08-20T02:52:38.990-07:00</updated><title type='text'>Delete Backup History stored procedure</title><content type='html'>I recently asked why his msdb database had grown so large (2GB). I found out that it was due to the sizes of the backup system tables. These tables store information used for backup and restore operations. If you've ever used the restore database wizard in Enterprise Manager (and if you have, you might want to start using Query Analyzer instead to get more familiar with backup and restore operations), you might notice that it displays a listing of previous backups to choose from for the restore. It gathers this information from these backup system tables. If you backup your transaction logs as often as we do (every 15 minutes), these tables can get quite large. Microsoft provides sp_delete_backuphistory to delete this data. But, this stored procedure is very slow as it uses a cursor to loop through the data. Using sp_delete_backuphistory took over 2 hours to delete all but 10 days worth of data. I provided to him my version of this stored procedure that uses JOINs instead of a cursor. With slight modifications, he was able to get it working for him. This version was able to delete all but 10 days worth of data in 32 seconds.&lt;br /&gt;&lt;br /&gt;I got this stored procedure from&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.sqlteam.com/tarad/archive/2004/07/02/1704.aspx"&gt;http://weblogs.sqlteam.com/tarad/archive/2004/07/02/1704.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's the stored procedure:&lt;br /&gt;CREATE PROC isp_DeleteBackupHistory(@DaysToRetain int)AS&lt;br /&gt;SET NOCOUNT ON&lt;br /&gt;DECLARE @Err intDECLARE @rc int&lt;br /&gt;BEGIN TRAN&lt;br /&gt;DELETE FROM msdb..restorefile FROM msdb..restorefile rf INNER JOIN msdb..restorehistory rh ON rf.restore_history_id = rh.restore_history_id INNER JOIN msdb..backupset bs ON rh.backup_set_id = bs.backup_set_id WHERE bs.backup_finish_date &lt; (GETDATE() - @DaysToRetain) SET @Err = @@ERROR IF @Err &lt;&gt; 0 GOTO Error_Exit DELETE FROM msdb..restorefilegroup FROM msdb..restorefilegroup rfg INNER JOIN msdb..restorehistory rh ON rfg.restore_history_id = rh.restore_history_id INNER JOIN msdb..backupset bs ON rh.backup_set_id = bs.backup_set_id WHERE bs.backup_finish_date &lt; (GETDATE() - @DaysToRetain) SET @Err = @@ERROR IF @Err &lt;&gt; 0 GOTO Error_Exit DELETE FROM msdb..restorehistory FROM msdb..restorehistory rh INNER JOIN msdb..backupset bs ON rh.backup_set_id = bs.backup_set_id WHERE bs.backup_finish_date &lt; (GETDATE() - @DaysToRetain) SET @Err = @@ERROR IF @Err &lt;&gt; 0 GOTO Error_Exit SELECT media_set_id, backup_finish_date INTO #Temp FROM msdb..backupset WHERE backup_finish_date &lt; (GETDATE() - @DaysToRetain) SET @Err = @@ERROR IF @Err &lt;&gt; 0 GOTO Error_Exit DELETE FROM msdb..backupfile FROM msdb..backupfile bf INNER JOIN msdb..backupset bs ON bf.backup_set_id = bs.backup_set_id INNER JOIN #Temp t ON bs.media_set_id = t.media_set_id WHERE bs.backup_finish_date &lt; (GETDATE() - @DaysToRetain) SET @Err = @@ERROR IF @Err &lt;&gt; 0 GOTO Error_Exit DELETE FROM msdb..backupset FROM msdb..backupset bs INNER JOIN #Temp t ON bs.media_set_id = t.media_set_id&lt;br /&gt;SET @Err = @@ERROR&lt;br /&gt;IF @Err &lt;&gt; 0 GOTO Error_Exit DELETE FROM msdb..backupmediafamily FROM msdb..backupmediafamily bmf INNER JOIN msdb..backupmediaset bms ON bmf.media_set_id = bms.media_set_id INNER JOIN #Temp t ON bms.media_set_id = t.media_set_id&lt;br /&gt;SET @Err = @@ERROR&lt;br /&gt;IF @Err &lt;&gt; 0 GOTO Error_Exit DELETE FROM msdb..backupmediaset FROM msdb..backupmediaset bms INNER JOIN #Temp t ON bms.media_set_id = t.media_set_id&lt;br /&gt;SET @Err = @@ERROR&lt;br /&gt;IF @Err &lt;&gt; 0 GOTO Error_Exit&lt;br /&gt;COMMIT TRAN&lt;br /&gt;SET @rc = 0&lt;br /&gt;GOTO isp_DeleteBackupHistory_Exit&lt;br /&gt;Error_Exit:&lt;br /&gt;ROLLBACK TRAN&lt;br /&gt;SET @rc = -1&lt;br /&gt;isp_DeleteBackupHistory_Exit:&lt;br /&gt;DROP TABLE #Temp&lt;br /&gt;SET NOCOUNT OFF&lt;br /&gt;RETURN @rc&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;GO&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-6539649015383081239?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/6539649015383081239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=6539649015383081239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6539649015383081239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6539649015383081239'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/08/delete-backup-history-stored-procedure.html' title='Delete Backup History stored procedure'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-8079559282006877162</id><published>2007-07-23T04:06:00.000-07:00</published><updated>2007-07-23T04:06:23.554-07:00</updated><title type='text'>Replication Optimization Tips</title><content type='html'>&lt;a href="http://www.databasejournal.com/features/mssql/article.php/1478891"&gt;Replication Optimization Tips&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-8079559282006877162?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.databasejournal.com/features/mssql/article.php/1478891' title='Replication Optimization Tips'/><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/8079559282006877162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=8079559282006877162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/8079559282006877162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/8079559282006877162'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/07/replication-optimization-tips.html' title='Replication Optimization Tips'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-3856187237070800464</id><published>2007-07-17T03:54:00.000-07:00</published><updated>2007-07-17T03:56:02.160-07:00</updated><title type='text'>QUICK TIME Database RESTORATION through QUERY ANALAYSER</title><content type='html'>&lt;span style="color:#cc33cc;"&gt;&lt;strong&gt;QUICK TIME Database RESTORATION through QUERY ANALAYSER:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;This sp will give the backup set information. All the restore command we will get in single stored procedure&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;br /&gt;create proc usp_restoration @dbname varchar(20)&lt;br /&gt;&lt;br /&gt;as&lt;br /&gt;&lt;br /&gt;DECLARE @databaseName sysname&lt;br /&gt;DECLARE @backupStartDate datetime&lt;br /&gt;DECLARE @backup_set_id_start INT&lt;br /&gt;DECLARE @backup_set_id_end INT&lt;br /&gt;&lt;br /&gt;-- set database to be used&lt;br /&gt;SET @databaseName = @dbName&lt;br /&gt;&lt;br /&gt;SELECT @backup_set_id_start = MAX(backup_set_id)&lt;br /&gt;FROM  msdb.dbo.backupset&lt;br /&gt;WHERE database_name = @databaseName AND type = 'D'&lt;br /&gt;&lt;br /&gt;SELECT @backup_set_id_end = MIN(backup_set_id)&lt;br /&gt;FROM  msdb.dbo.backupset&lt;br /&gt;WHERE database_name = @databaseName AND type = 'D'&lt;br /&gt;AND backup_set_id &gt; @backup_set_id_start&lt;br /&gt;&lt;br /&gt;IF @backup_set_id_end IS NULL SET @backup_set_id_end = 999999999&lt;br /&gt;&lt;br /&gt;SELECT backup_set_id, 'RESTORE DATABASE ' + @databaseName + ' FROM DISK = '''&lt;br /&gt;               + mf.physical_device_name + ''' WITH NORECOVERY'&lt;br /&gt;FROM    msdb.dbo.backupset b,&lt;br /&gt;           msdb.dbo.backupmediafamily mf&lt;br /&gt;WHERE    b.media_set_id = mf.media_set_id&lt;br /&gt;           AND b.database_name = @databaseName&lt;br /&gt;          AND b.backup_set_id = @backup_set_id_start&lt;br /&gt;UNION&lt;br /&gt;SELECT backup_set_id, 'RESTORE LOG ' + @databaseName + ' FROM DISK = '''&lt;br /&gt;               + mf.physical_device_name + ''' WITH NORECOVERY'&lt;br /&gt;FROM    msdb.dbo.backupset b,&lt;br /&gt;           msdb.dbo.backupmediafamily mf&lt;br /&gt;WHERE    b.media_set_id = mf.media_set_id&lt;br /&gt;           AND b.database_name = @databaseName&lt;br /&gt;          AND b.backup_set_id &gt;= @backup_set_id_start AND b.backup_set_id &lt; @backup_set_id_end&lt;br /&gt;          AND b.type = 'L'&lt;br /&gt;UNION&lt;br /&gt;SELECT 999999999 AS backup_set_id, 'RESTORE DATABASE ' + @databaseName + ' WITH RECOVERY'&lt;br /&gt;ORDER BY backup_set_id&lt;br /&gt;Go&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-3856187237070800464?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/3856187237070800464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=3856187237070800464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/3856187237070800464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/3856187237070800464'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/07/quick-time-database-restoration-through.html' title='QUICK TIME Database RESTORATION through QUERY ANALAYSER'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-4649363316725784781</id><published>2007-07-09T02:18:00.000-07:00</published><updated>2007-07-09T02:29:58.287-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://tim.mackey.ie/SQLChangeObjectOwnerForMultipleObjects.aspx"&gt;SQL - change object owner for multiple objects&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;sp_changeobjectowner stored procedure in the Master database to change the owner of an object one at a time, but there is a semi-automatic way to do it.&lt;br /&gt;&lt;br /&gt;SELECT 'EXEC sp_changeobjectowner ''dbo.' + ROUTINE_NAME + ''', ''thenewuser'''FROM INFORMATION_SCHEMA.ROUTINES&lt;br /&gt;WHERE ROUTINE_SCHEMA = 'dbo'&lt;br /&gt;&lt;br /&gt;Execute it, then click the top left corner of the output window, to select all the rows. Copy and paste the rows into a new query window and execute.&lt;br /&gt;To change table owners, modify the query and repeat the proces:&lt;br /&gt;SELECT 'EXEC sp_changeobjectowner ''dbo.' + TABLE_NAME + ''', ''thenewuser'''FROM INFORMATION_SCHEMA.TABLES&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-4649363316725784781?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/4649363316725784781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=4649363316725784781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/4649363316725784781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/4649363316725784781'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/07/sql-change-object-owner-for-multiple.html' title=''/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-4886414636342792822</id><published>2007-05-29T01:45:00.000-07:00</published><updated>2007-05-29T01:49:15.279-07:00</updated><title type='text'>Log Shipping</title><content type='html'>&lt;span style="color:#cc33cc;"&gt;&lt;strong&gt;What is Log Shipping?&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;Log Shipping is one of the solutions for High Availability for business critical application. Log Shipping is first introduced in SQL Server 7.0. Log Shipping; as name defines does the shipping of Transaction Log to another server; it does exact replica of the database; it does backup of Transaction Log and restores it on a Secondary /Stand by Server which keeps database on secondary server in sync with the database on Primary Server. In case of failure work loss happens only for the time being copy of T-Log backup and restoring back to Secondary/Stand by Server. Stand by / Secondary server which can act as a primary server in case of failure. SQL Server DBA has to perform some manual tasks to bring it online for business.&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;strong&gt;Why&lt;/strong&gt; &lt;strong&gt;to do Log Shipping?&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;There are other options like Clustering and Replication for High Availability of Business Critical Application, so why do we go for Log Shipping?&lt;br /&gt;Well, there are reasons for choosing Log Shipping against Cluster and Replications:&lt;br /&gt;1.&lt;strong&gt; Setting up&lt;/strong&gt;: It is very easy to create a Log Shipping, only thing you need to identify is you must have two servers with SQL Server Enterprise Edition and a database(s) which is critical to your business environment.&lt;br /&gt;2. &lt;strong&gt;Manageability&lt;/strong&gt;: It is easy to manage Log Shipping comparing to Replication and Cluster Server, generally Log Shipping works well and you don’t feel panic with its monitoring or maintenance work.&lt;br /&gt;3. &lt;strong&gt;Act as a Reporting Server&lt;/strong&gt;: Stand by or Secondary Server can act as a Reporting Server in your organization, your database which is being log shipped can be used for Read Only queries or I would rather say it can act as a Reporting Server. The thing need to be consider here is it will be unavailable at the time of Restoration of Transaction Log e.g. if your Transaction Log backup takes 10 minutes of Restoration Time and you does Log Shipping every 60 minutes then your Reporting/Secondary/Stand by Server will be un-available for 10 minutes.&lt;br /&gt;4. &lt;strong&gt;Can use multiple database(s)/server(s):&lt;/strong&gt; You can use multiple server(s) as a Stand by or Secondary Server for different purpose, e.g. you can create two Stand by server(s) one for Reporting and another for High Availability&lt;br /&gt;5. &lt;strong&gt;Cheaper then cluster&lt;/strong&gt;: If you go for a Cluster Server you will have to meet software and Hardware requirement; I mean you need identical hardware to setup clustering where as in case of Log Shipping you don’t need to have exactly the same set of hardware for Primary and Secondary or Stand by server.&lt;br /&gt;6. &lt;strong&gt;Best solution for physical dispersed location&lt;/strong&gt;: Data Center: In your environment you are having a cluster server configured at your Data Center for high availability so that if in case of any failure or damaged you can recover your data back, imagine what if your data center itself got damaged!!!!!! In this type of scenario Log Shipping does good job you can configure Log Shipping to Dr Server which is at different physically location and if your local Data Center / Server got damaged you may still recover your data. You can do this thing using Replication too; in case of replication again you have to select Snapshot/Transactional/Snapshot Replication, now as you may use Log Shipping you would rather go for Snapshot Replication, you have to monitoring it regularly whether it is running or not!!! Where as with Log Shipping it generally runs smoothly and even if it caught an error it will tell you exact where it breaks so fixing a Log Shipping is not difficult.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;Prerequisite&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;1. Database must be in Full or Bulk-Logged Recovery Model.It is required that Database has to be in Full or Bulk-Logged Recovery Model,One can perform T-Log backup only when Database Recovery Model is set to Full or Bulk-Logged, here is a brief on recovery model.&lt;br /&gt;&lt;br /&gt;3. Create a share on Primary Server and Secondary Server with change and write permissions for Windows Account User which is used for SQL Server Agent.&lt;br /&gt;&lt;br /&gt;4. You may Restore Full Database on Secondary Server manually or it can be done via Log Shipping installation itself at the time of setup process (Ensure this database on Secondary Server must be restored with NORECOVERY or STANDBY option).It is required to Restore Database with NORECOVERT  STANDBY because if the database restored in recovered/write enabled mode you can not apply another T-Log.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Optional Component&lt;/strong&gt; : Monitoring / Witness Server&lt;br /&gt;Identify your Monitor Server which will look after for your Primary Server and SECONDARY Server’s Activity.It is better to use separate server which monitors the activity of Primary and Secondary Server so that you can get the alert even if server itself won’t works.&lt;br /&gt;&lt;strong&gt;Primary Server&lt;br /&gt;&lt;/strong&gt;1. Create a Share with read/write permission for domain user which we’ll be using to startup SQLServerAgent&lt;br /&gt;2. Create a Full Database backup for LogShDB&lt;br /&gt;3. Backed up T-Log on the folder you have created earlier to store the log backup You can create a maintenance plan to take a T-Log backup for regular interval and then add it as a Step in job to automate this process&lt;br /&gt;4. Please ensure that the duration must enough to copy the log backup file to Secondary Server.Suppose we are taking T-Log backup each 1/2 hour and if the backup file is big enough which takes more then 1/2 to copy over the network share, it will again creates a new T-Log backup which will then occupies recourse unnecessarily.&lt;br /&gt;5. Copy T-Log backup file to Secondary Server’s shared folder&lt;br /&gt;6. Delete the T-Log backup file after it copied to the Secondary Server’s shared folder.&lt;br /&gt;7. Ensure you have selected Allow Database to assume primary role option so that if in future requirement of role reversal can be possible easily.If in case we need to change the role of primary server or secondary server to act as Primary or Secondary this option should be used while setting up Log Shipping.&lt;br /&gt;8. Ensure that you have set up proper threshold values for Destination Database for Out of Sync, Load Time Delay, File Retention Period and History Retention Period option.These options are self explanatory: Out of Sync=used by witness server to send alert if the specified time has been exceeded between Last T-Log backup on primary and secondary server, Load Time Delay= Destination Database waits before it restores the T-Log, File Retention Period= Time elapse till file gets deleted and History Retention Period= Time till we retain History details&lt;br /&gt;&lt;strong&gt;Secondary Server&lt;/strong&gt;&lt;br /&gt;1. Check if the Database is already exists on Secondary Server, if it is already their drop it.&lt;br /&gt;2. Restore a Full Database Backup for LogShDB 3. Restore a T-Log for LogShDB on the secondary server which is copied on the shared folder of Secondary Server;&lt;br /&gt;4. Ensure you have given STANDBY or NORECOVERY option while restoring T-Log backup for LogShDB.&lt;br /&gt;&lt;strong&gt;Summary:&lt;br /&gt;&lt;/strong&gt;You may find log shipping is a very use full yet simple to configure, use and manage, it is cheaper and easily manageable solution for High Availability of your data. It is a good solution over clustering (because it is costly; requires identical hardware to setup cluster) and easily manageable, easy troubleshooting against replication as it clearly says where it breaks. Generally Log Shipping works very smooth once it is configured. Even if you have to re-configure it from the scratch it is easy job to do.&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-4886414636342792822?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/4886414636342792822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=4886414636342792822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/4886414636342792822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/4886414636342792822'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/05/log-shipping.html' title='Log Shipping'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-1769348195527636929</id><published>2007-05-29T01:14:00.000-07:00</published><updated>2007-05-29T01:30:56.121-07:00</updated><title type='text'>How to avoid deadlocking on your SQL Server</title><content type='html'>&lt;span style="font-size:180%;color:#cc33cc;"&gt;Deadlock:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Deadlocking occurs when two user processes have locks on separate objects and each process is trying to acquire a lock on the object that the other process has. When this happens, SQL Server ends the deadlock by automatically choosing one and aborting the process, allowing the other process to continue. The aborted transaction is rolled back and an error message is sent to the user of the aborted process. Generally, the transaction that requires the least amount of overhead to rollback is the transaction that is aborted.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#330033;"&gt;Some tips for reducing the deadlock:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ensure the database design is properly normalized. &lt;/li&gt;&lt;li&gt;Have the application access server objects in the same order each time. &lt;/li&gt;&lt;li&gt;During transactions, don't allow any user input. Collect it before the transaction begins. &lt;/li&gt;&lt;li&gt;Avoid cursors. &lt;/li&gt;&lt;li&gt;Keep transactions as short as possible. One way to help accomplish this is to reduce the number of round trips between your application and SQL Server by using stored procedures or keeping transactions with a single batch.&lt;/li&gt;&lt;li&gt;Another way of reducing the time a transaction takes to complete is to make sure you are not performing the same reads over and over again. If you do need to read the same data more than once, cache it by storing it in a variable or an array, and then re-reading it from there. &lt;/li&gt;&lt;li&gt;Reduce lock time. Try to develop your application so that it grabs locks at the latest possible time, and then releases them at the very earliest time. &lt;/li&gt;&lt;li&gt;If appropriate, reduce lock escalation by using the ROWLOCK or PAGLOCK.&lt;br /&gt;Consider using the NOLOCK hint to prevent locking if the data being locked is not modified often. &lt;/li&gt;&lt;li&gt;If appropriate, use as low of an isolation level as possible for the user connection running the transaction. Consider using bound connections. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Example:&lt;/p&gt;&lt;p&gt;&lt;span style="color:#cc33cc;"&gt;&lt;span style="color:#990000;"&gt;&lt;strong&gt;You are a database developer for a clothing retailer. The company has a database named Sales. This&lt;br /&gt;database contains a table named Inventory. The Inventory table contains the list of items for sale and the&lt;br /&gt;quantity available for each of those items. When sales information is inserted into the database, this table&lt;br /&gt;is updated. The stored procedure that updates the Inventory table is shown in the exhibit.&lt;br /&gt;CREATE PROCEDURE UpdateInventory @IntID int&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;DECLARE @Count int&lt;br /&gt;BEGIN TRAN&lt;br /&gt;SELECT @Count = Available&lt;br /&gt;FROM Inventory WITH (HOLDLOCK)&lt;br /&gt;WHERE InventoryID = @IntID&lt;br /&gt;IF (@Count &gt; 0)&lt;br /&gt;UPDATE Inventory SET Available = @Count – 1&lt;br /&gt;WHERE InventoryID = @IntID&lt;br /&gt;COMMIT TRAN&lt;br /&gt;END&lt;br /&gt;When this procedure executes, the database server occasionally returns the following error message:&lt;br /&gt;Transaction (Process ID 53) was deadlocked on {lock} resources with another&lt;br /&gt;process and has been chosen as the deadlock victim. Rerun the transaction&lt;/strong&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;You need to prevent the error message from occurring while maintaining data integrity.&lt;br /&gt; Change the table hint to UPDLOCK.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;Explanation&lt;/span&gt;:&lt;/strong&gt; This is a deadlock problem. We must resolve this problem. The SQL batch of this scenario&lt;br /&gt;basically consists of an SELECT statement and an UPDATE statement. The SELECT statement includes a table&lt;br /&gt;hint: WITH (HOLDLOCK).&lt;br /&gt;This table hint is very restrictive. The rows are completely locked. We need to remove this restrictive table hint&lt;br /&gt;and replace it with the table hint UPDLOCK, which is less restrictive than HOLDLOCK. It allows reads of the&lt;br /&gt;rows, but no updates.&lt;br /&gt;Note: table hint&lt;br /&gt;A table hint specifies that a table scan, or one or more indexes, must be used by the query optimizer, or a&lt;br /&gt;locking method must be used by the query optimizer with this table and for this SELECT. The query optimizer&lt;br /&gt;can usually pick the best optimization method without hints being specified, therefore it is recommended that&lt;br /&gt;hints only be used as a last resort by experienced developers and database administrators.&lt;br /&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;Further Refference:&lt;br /&gt;&lt;a href="http://www.sql-server-performance.com/deadlocks.asp"&gt;http://www.sql-server-performance.com/deadlocks.asp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-1769348195527636929?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/1769348195527636929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=1769348195527636929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/1769348195527636929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/1769348195527636929'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/05/how-to-avoid-deadlocking-on-your-sql.html' title='How to avoid deadlocking on your SQL Server'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-6947030954568657275</id><published>2007-05-28T01:25:00.000-07:00</published><updated>2007-05-28T01:31:50.704-07:00</updated><title type='text'>How to Store  pdf,txt doc files in Tables  MSSQL SERVER 2005</title><content type='html'>Hi,&lt;br /&gt;&lt;br /&gt;1.  Create table with varbinary(max) column(s)&lt;br /&gt;2.  Use BCP or BULK INSERT or OPENROWSET(BULK... or create an SSIS Package to transfer the data from flat file to SQL&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br /&gt;create table #ORStable (doclen bigint, doc varbinary(max))&lt;br /&gt;insert into #ORStable&lt;br /&gt;select len(bulkcolumn), *&lt;br /&gt;from&lt;br /&gt;openrowset(bulk 'C:\test.doc', SINGLE_BLOB)&lt;br /&gt;as r&lt;br /&gt;&lt;br /&gt;select *&lt;br /&gt;from #ORStable&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To use BULK INSERT you need a format file.&lt;br /&gt;Unfortunately, the format file requires the exact size of the word doc&lt;br /&gt;&lt;br /&gt;Format file definition: (worddoc.fmt)&lt;br /&gt;Code Snippet 9.0 1 1 SQLBINARY 0 20480 "" 1 doc ""&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;create table #BItable (doc varbinary(max))&lt;br /&gt;BULK INSERT #BItable&lt;br /&gt;FROM 'C:\test.doc'&lt;br /&gt;WITH ( FORMATFILE= 'C:\worddoc.fmt', CODEPAGE= 'RAW' )&lt;br /&gt;&lt;br /&gt;select len(doc), *&lt;br /&gt;from #BITable&lt;br /&gt;&lt;br /&gt;To export the data back to a .doc file recreate table #ORStable (doclen bigint, doc varbinary(max))&lt;br /&gt;insert into #ORStable&lt;br /&gt;select len(bulkcolumn), *&lt;br /&gt;from&lt;br /&gt;openrowset(bulk 'C:\test.doc', SINGLE_BLOB)&lt;br /&gt;as r&lt;br /&gt;&lt;br /&gt;select *&lt;br /&gt;from #ORStable&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To use BULK INSERT you need a format file.&lt;br /&gt;Unfortunately, the format file requires the exact size of the word doc&lt;br /&gt;&lt;br /&gt;Format file definition: (worddoc.fmt)&lt;br /&gt;Code Snippet 9.0 1 1 SQLBINARY 0 20480 "" 1 doc ""&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;create table #BItable (doc varbinary(max))&lt;br /&gt;BULK INSERT #BItable&lt;br /&gt;FROM 'C:\test.doc'&lt;br /&gt;WITH ( FORMATFILE= 'C:\worddoc.fmt', CODEPAGE= 'RAW' )&lt;br /&gt;&lt;br /&gt;select len(doc), *&lt;br /&gt;from #BITable&lt;br /&gt;&lt;br /&gt;To export the data back to a .doc file requires using BCP and a format file (again with the exact size)&lt;br /&gt;&lt;br /&gt; Working with the .txt files and varchar(max) is a little easier, but you need varbinary to save the exact images of the PDF and DOC files.quires using BCP and a format file (again with the exact size)&lt;br /&gt;&lt;br /&gt; Working with the .txt files and varchar(max) is a little easier, but you need varbinary to save the exact images of the PDF and DOC files.&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-6947030954568657275?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/6947030954568657275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=6947030954568657275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6947030954568657275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6947030954568657275'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/05/how-to-store-pdftxt-doc-files-in-tables.html' title='How to Store  pdf,txt doc files in Tables  MSSQL SERVER 2005'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-8234136516997258161</id><published>2007-05-17T00:07:00.000-07:00</published><updated>2009-01-19T05:50:54.210-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kuraliniyan'/><title type='text'>How to tranfer  the same logins and password between the sql server 2000 and sql server 2005</title><content type='html'>&lt;span style="color: rgb(204, 51, 204);"&gt;&lt;strong&gt;While upgrading time I  faced this problem.After that I got solution from microsoft.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 51, 204);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;&lt;strong&gt;steps:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1.Sql server 2000 we must create &lt;strong&gt;sp_help_revlogin&lt;/strong&gt; stored procedure.&lt;br /&gt;&lt;br /&gt;2.This stored procedure will help tranfer the login  along with SID and same password.&lt;br /&gt;&lt;br /&gt;Procedure:&lt;br /&gt;&lt;br /&gt;This script will help to create the &lt;strong&gt; sp_hexadecimal and sp_help_revlogin&lt;/strong&gt;  stored procedure.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://support.microsoft.com/kb/246133&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-8234136516997258161?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/8234136516997258161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=8234136516997258161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/8234136516997258161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/8234136516997258161'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/05/how-to-tranfer-same-logins-and-password.html' title='How to tranfer  the same logins and password between the sql server 2000 and sql server 2005'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-7734587340573239375</id><published>2007-05-08T05:13:00.000-07:00</published><updated>2007-05-08T05:21:40.060-07:00</updated><title type='text'>New Features in SQL Server 2005</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;span style="color:#cc33cc;"&gt;New Features in SQL Server 2005&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Management Studio&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Includes All Tools&lt;br /&gt;Object Explorer replaces Enterprise Manager&lt;br /&gt;Query Editor Replaces Query Analyzer&lt;br /&gt;New Table Designer&lt;br /&gt;New Server Properties&lt;br /&gt;Server Registration Export/Import&lt;br /&gt;New Database Properties&lt;br /&gt;Template Explorer&lt;br /&gt;Solution Explorer&lt;br /&gt;Projects Management&lt;br /&gt;Web Browser Window&lt;br /&gt;Properties Window&lt;br /&gt;Assisted Editors&lt;br /&gt;Source Control&lt;br /&gt;XML Editor&lt;br /&gt;Toolbars Selection&lt;br /&gt;Dynamic Help&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;T-SQL Enhancements&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Database Schemas&lt;br /&gt;Script Storage in Project&lt;br /&gt;Xquery - XML Query Language&lt;br /&gt;XML Data Type&lt;br /&gt;varchar(max) &amp; nvarchar(max) Data Types&lt;br /&gt;varbinary(max) Data Type&lt;br /&gt;PIVOT and UNPIVOT&lt;br /&gt;INTERSECT and EXCEPT&lt;br /&gt;OVER(PARTITION BY...)&lt;br /&gt;Recursive Query&lt;br /&gt;Common Table Expression - CTE&lt;br /&gt;RANK and DENSE_RANK&lt;br /&gt;NTILE&lt;br /&gt;ROW_NUMBER&lt;br /&gt;Partitioned Table, Partition Function, &amp;amp; Partition Scheme&lt;br /&gt;DDL Trigger&lt;br /&gt;.NET Assembly support &lt;br /&gt;CROSS APPLY and OUTER APPLY&lt;br /&gt;OUTPUT Clause&lt;br /&gt;TRY and CATCH for Exception Handling&lt;br /&gt;TOP and TABLESAMPLE Clauses&lt;br /&gt;  EXECUTE AS Clause&lt;br /&gt;  MARS - Multiple Active Result Sets&lt;br /&gt;  Snapshot Isolation&lt;br /&gt;  Indexes with Included Columns&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SQL Server Profiler&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Deadlock Visualization &lt;br /&gt;Correlate a Trace with Windows Performance Log Data&lt;br /&gt;Save Trace as XML File&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SQL Configuration Manager&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Replaces Services Manager&lt;br /&gt;Replaces Server Network Utility&lt;br /&gt;Replaces Client Network Utility&lt;br /&gt;&lt;br /&gt; &lt;strong&gt;SQL Server 2005 Surface Area Configuration&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Surface Area Configuration for Services and Connections&lt;br /&gt;Surface Area Configuration for Features&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Utilities&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;SQLCMD utility with new scripting language&lt;br /&gt;Dedicated Administrator Connection(DAC) to Server&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Security&lt;br /&gt;&lt;/strong&gt;CREATE CERTIFICATE&lt;br /&gt;Encryption&lt;br /&gt;Decryption&lt;br /&gt;Asymmetric Key&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Operations&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Setup Consistency Checker&lt;br /&gt;Online Database Restore&lt;br /&gt;Online Reindex&lt;br /&gt;Mirrored Backups&lt;br /&gt;Database Mirroring&lt;br /&gt;Database Snapshot Database Tuning Advisor&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-7734587340573239375?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/7734587340573239375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=7734587340573239375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/7734587340573239375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/7734587340573239375'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/05/new-features-in-sql-server-2005.html' title='New Features in SQL Server 2005'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-6044316298436258036</id><published>2007-05-02T00:20:00.000-07:00</published><updated>2007-05-02T00:26:04.748-07:00</updated><title type='text'>Differnce between sql 2000 and sql 2005 with New Features</title><content type='html'>Sql server 2000 vs Sqlserver 2005&lt;br /&gt;&lt;br /&gt;Enterprise manager                 Sqlserver management studio(combination of EM&amp;QA) &lt;br /&gt;  &lt;br /&gt;Query analyser                         visuval studio 2005(Inbuild)&lt;br /&gt;                                                    Business Intelligence Development Studio (BIDS)&lt;br /&gt;Analysis Services Manager (ASM)&lt;br /&gt;&lt;br /&gt;T-sql                                          SMO and T-sql&lt;br /&gt;&lt;br /&gt;DTS(data transformation service)    SSIs(sql server Integrated services)(advanced version of dts)&lt;br /&gt;&lt;br /&gt;security                                 new security features(Encryption,password expiry)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Top 10 features for administration part:&lt;br /&gt;-------------------------------------------------&lt;br /&gt;&lt;br /&gt;Database mirroring&lt;br /&gt;Online Restore&lt;br /&gt;Online Indexing Operations&lt;br /&gt;Fast Recovery&lt;br /&gt;Standards-based Information Access&lt;br /&gt;SQL Server Management Studio&lt;br /&gt;Dedicated Administrator Connection&lt;br /&gt;Snapshot Isolation&lt;br /&gt;Data Partitioning&lt;br /&gt;Replication&lt;br /&gt;&lt;br /&gt;Top 10 features for developer part:&lt;br /&gt;-----------------------------------------&lt;br /&gt;Hosted CommonLanguage Runtime   vc#,vb,.net&lt;br /&gt;Native XML Support &lt;br /&gt;ADO.NET version 2.0&lt;br /&gt;Security Enhancements&lt;br /&gt;Transact-SQL Enhancements&lt;br /&gt;Reliable Messaging for Asynchronous Applications&lt;br /&gt;Visual Studio Integration&lt;br /&gt;Web Services&lt;br /&gt;Embedded Reports&lt;br /&gt;Full-Text Search Enhancements&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Top 10 Features for Business Intelligence:&lt;br /&gt;-----------------------------------------------&lt;br /&gt;&lt;br /&gt;Analysis Services&lt;br /&gt;Integration Services (SSIS)&lt;br /&gt;Data Mining&lt;br /&gt;Reporting Services&lt;br /&gt;Clustering Support&lt;br /&gt;Key Performance&lt;br /&gt;Scalability and Performance&lt;br /&gt;Report Builder&lt;br /&gt;Proactive Caching&lt;br /&gt;Integration with the Microsoft Office System(SharePoint Server 2007)&lt;br /&gt;&lt;br /&gt;SQL SERVER 2005 ENTERPRISE EDITION FEATURE:&lt;br /&gt;---------------&lt;br /&gt;Number of CPUs-------Nolimit&lt;br /&gt;RAM………………… Operating system maximum&lt;br /&gt;64-bit Support&lt;br /&gt;Database Size…………Nolimit&lt;br /&gt;Partitioning&lt;br /&gt;Parallel Index Operations&lt;br /&gt;Indexed Views&lt;br /&gt;&lt;br /&gt;High Availability:&lt;br /&gt;------------------&lt;br /&gt;1.Database Mirroring&lt;br /&gt;2.Failover Clustering&lt;br /&gt;3.Backup Log-shipping&lt;br /&gt;4.Online System Changes&lt;br /&gt;5.Onlne Indexing&lt;br /&gt;6.Online Restore&lt;br /&gt;7.Fast Recovery&lt;br /&gt;&lt;br /&gt;Manageability:&lt;br /&gt;----------------&lt;br /&gt;Auto Tuning&lt;br /&gt;Profiler&lt;br /&gt;SQL Server Management Studio Express&lt;br /&gt;Management Studio&lt;br /&gt;Database Tuning Advisor&lt;br /&gt;Serviceability Enhancements&lt;br /&gt;Full-text Search&lt;br /&gt;SQL Agent Job Scheduling Service&lt;br /&gt;&lt;br /&gt;Security:&lt;br /&gt;-----------------&lt;br /&gt;Advanced Auditing, Authentication, and Authorization&lt;br /&gt;Data Encryption and Key Management&lt;br /&gt;Integration with Microsoft Baseline Security Analyzer&lt;br /&gt;Integration with Microsoft Update&lt;br /&gt;&lt;br /&gt;Programmability:&lt;br /&gt;-------------------------&lt;br /&gt;Stored Procedures, Triggers, and Views&lt;br /&gt;T-SQL Enhancements&lt;br /&gt;Common Language Runtime and .NET Integration&lt;br /&gt;User-defined Types&lt;br /&gt;Native XML&lt;br /&gt;XQuery&lt;br /&gt;Notification Services&lt;br /&gt;Service Broker&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Integration and Interoperability:&lt;br /&gt;--------------------------------------------&lt;br /&gt;Import/Export&lt;br /&gt;Integration Services with Basic Transforms&lt;br /&gt;Integration Services Advanced Transforms&lt;br /&gt;Merge Replication&lt;br /&gt;Transactional Replication&lt;br /&gt;Oracle Replication&lt;br /&gt;Web Services (HTTP Endpoints)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Discontinued feature :&lt;br /&gt;&lt;br /&gt;Discontinued feature&lt;br /&gt;.Named pipe backup devices.&lt;br /&gt;.isql utility&lt;br /&gt;.'allow updates' option of sp_configure.&lt;br /&gt;'open objects' option of sp_configure.&lt;br /&gt;.'set working set size' option of sp_configure&lt;br /&gt;.DISK INIT&lt;br /&gt;.DISK RESIZE&lt;br /&gt;.FOR LOAD option of CREATE DATABASE&lt;br /&gt;.DBCC DBREPAIR&lt;br /&gt;.DBCC NEWALLOC&lt;br /&gt;DBCC PINTABLE, DBCC UNPINTABLE&lt;br /&gt;DBCC ROWLOCK&lt;br /&gt;DBCC TEXTALL&lt;br /&gt;DBCC TEXTALLOC&lt;br /&gt;Use of SRV_PWD field in the SRV_PFIELD structure when there has been an impersonation context switch from the original login.&lt;br /&gt;The following protocols: NWLink IPX/SPX, AppleTalk, Banyan Vines Multiprotocol.&lt;br /&gt;Rebuildm.exe&lt;br /&gt;.Northwind and pubs&lt;br /&gt;Remote Setup - the TARGETCOMPUTER parameter - is not supported.&lt;br /&gt;SQL-DMO based WMI provider&lt;br /&gt;SQL Namespace API (SQL-NS)&lt;br /&gt;*= and =* outer join operators&lt;br /&gt;.syslocks&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-6044316298436258036?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/6044316298436258036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=6044316298436258036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6044316298436258036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6044316298436258036'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/05/differnce-between-sql-2000-and-sql-2005.html' title='Differnce between sql 2000 and sql 2005 with New Features'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-6039651398020736704</id><published>2007-05-01T00:14:00.000-07:00</published><updated>2007-05-01T00:16:04.486-07:00</updated><title type='text'>SQL Server 2005 (32-bit)  HARDWARE REQUIRMENTS</title><content type='html'>&lt;strong&gt;&lt;span style="color:#cc33cc;"&gt;SQL Server 2005 (32-bit) &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc33cc;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Processor type1&lt;br /&gt;Processor speed2&lt;br /&gt;Memory (RAM)3&lt;br /&gt;SQL Server 2005 Enterprise Edition 4&lt;br /&gt;SQL Server 2005 Developer Edition&lt;br /&gt;SQL Server 2005 Standard Edition&lt;br /&gt;Pentium III-compatible processor or higher&lt;br /&gt;Minimum: 600 MHz&lt;br /&gt;Recommended: 1 GHz or higher&lt;br /&gt;Minimum: 512 MB&lt;br /&gt;Recommended: 1 GB or more&lt;br /&gt;Maximum: Operating system maximum&lt;br /&gt;SQL Server 2005 Workgroup Edition&lt;br /&gt;Pentium III-compatible processor or higher&lt;br /&gt;Minimum: 600 MHz&lt;br /&gt;Recommended: 1 GHz or higher&lt;br /&gt;Minimum: 512 MB&lt;br /&gt;Recommended: 1 GB or more&lt;br /&gt;Maximum: Operating system maximum&lt;br /&gt;SQL Server 2005 Express Edition&lt;br /&gt;Pentium III-compatible processor or higher&lt;br /&gt;Minimum: 500 MHz&lt;br /&gt;Recommended: 1 GHz or higher&lt;br /&gt;Minimum: 192 MB&lt;br /&gt;Recommended: 512 MB or more&lt;br /&gt;Maximum: Operating system maximum&lt;br /&gt;SQL Server 2005 Express Edition with Advanced Services&lt;br /&gt;Pentium III-compatible processor or higher&lt;br /&gt;Minimum: 600 MHz&lt;br /&gt;Recommended: 1 GHz or higher&lt;br /&gt;Minimum: 512 MB&lt;br /&gt;Recommended: 1 GB or more&lt;br /&gt;Maximum: Operating system maximum&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-6039651398020736704?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/6039651398020736704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=6039651398020736704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6039651398020736704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/6039651398020736704'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/05/sql-server-2005-32-bit-hardware.html' title='SQL Server 2005 (32-bit)  HARDWARE REQUIRMENTS'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-3547082832804750331</id><published>2007-04-30T23:50:00.000-07:00</published><updated>2007-04-30T23:52:29.963-07:00</updated><title type='text'>SQL SERVER 2000 MAX SIZE LIMIT</title><content type='html'>Object&lt;br /&gt;SQL Server 2000&lt;br /&gt;Batch size&lt;br /&gt;65,536 * Network Packet Size1&lt;br /&gt;Bytes per sort string column&lt;br /&gt;8,000&lt;br /&gt;Bytes per text, ntext, or image column&lt;br /&gt;2 GB-2&lt;br /&gt;Bytes per GROUP BY, ORDER BY&lt;br /&gt;8,060&lt;br /&gt;Bytes per index&lt;br /&gt;9002&lt;br /&gt;Bytes per foreign key&lt;br /&gt;900&lt;br /&gt;Bytes per primary key&lt;br /&gt;900&lt;br /&gt;Bytes per row&lt;br /&gt;8,060&lt;br /&gt;Bytes in source text of a stored procedure&lt;br /&gt;Lesser of batch size or 250 MB&lt;br /&gt;Clustered indexes per table&lt;br /&gt;1&lt;br /&gt;Columns in GROUP BY, ORDER BY&lt;br /&gt;Limited only by number of bytes per GROUP BY, ORDER BY&lt;br /&gt;Columns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement&lt;br /&gt;&lt;br /&gt;Columns per index&lt;br /&gt;16&lt;br /&gt;Columns per foreign key&lt;br /&gt;16&lt;br /&gt;Columns per primary key&lt;br /&gt;16&lt;br /&gt;Columns per base table&lt;br /&gt;1,024&lt;br /&gt;Columns per SELECT statement&lt;br /&gt;4,096&lt;br /&gt;Columns per INSERT statement&lt;br /&gt;1,024&lt;br /&gt;Connections per client&lt;br /&gt;Maximum value of configured connections&lt;br /&gt;Database size&lt;br /&gt;1,048,516 TB3&lt;br /&gt;Databases per instance of SQL Server&lt;br /&gt;32,767&lt;br /&gt;Filegroups per database&lt;br /&gt;256&lt;br /&gt;Files per database&lt;br /&gt;32,767&lt;br /&gt;File size (data)&lt;br /&gt;32 TB&lt;br /&gt;File size (log)&lt;br /&gt;32 TB&lt;br /&gt;Foreign key table references per table&lt;br /&gt;253&lt;br /&gt;Identifier length (in characters)&lt;br /&gt;128&lt;br /&gt;Instances per computer&lt;br /&gt;16&lt;br /&gt;Length of a string containing SQL statements (batch size)&lt;br /&gt;65,536 * Network packet size1&lt;br /&gt;Locks per connection&lt;br /&gt;Max. locks per server&lt;br /&gt;Locks per instance of SQL Server&lt;br /&gt;2,147,483,647 (static)&lt;br /&gt;Nested stored procedure levels&lt;br /&gt;40% of SQL Server memory (dynamic)&lt;br /&gt;Nested subqueries&lt;br /&gt;32&lt;br /&gt;Nested trigger levels&lt;br /&gt;32&lt;br /&gt;Nonclustered indexes per table&lt;br /&gt;32&lt;br /&gt;Objects concurrently open in an instance of SQL Server4&lt;br /&gt;249&lt;br /&gt;Objects in a database&lt;br /&gt;2,147,483,647 (or available memory)&lt;br /&gt;Parameters per stored procedure&lt;br /&gt;21,474,836,474&lt;br /&gt;REFERENCES per table&lt;br /&gt;2,100&lt;br /&gt;Rows per table&lt;br /&gt;253&lt;br /&gt;Tables per database&lt;br /&gt;Limited by available storage&lt;br /&gt;Tables per SELECT statement&lt;br /&gt;Limited by number of objects in a database4&lt;br /&gt;Triggers per table&lt;br /&gt;256&lt;br /&gt;UNIQUE indexes or constraints per table&lt;br /&gt;Limited by number of objects in a database4&lt;br /&gt;249 nonclustered and 1 clustered&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-3547082832804750331?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/3547082832804750331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=3547082832804750331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/3547082832804750331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/3547082832804750331'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/04/sql-server-2000-max-size-limit_30.html' title='SQL SERVER 2000 MAX SIZE LIMIT'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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-3648324934281471766.post-2059137171109857575</id><published>2007-04-30T23:10:00.000-07:00</published><updated>2007-04-30T23:39:46.333-07:00</updated><title type='text'>SQL SERVER 2005MAX SIZE LIMIT</title><content type='html'>SQL Server 2005 Database Engine object&lt;br /&gt;Maximum sizes/numbers SQL Server 2005 (32-bit)&lt;br /&gt;Batch size1&lt;br /&gt;65,536 * Network Packet Size&lt;br /&gt;Bytes per short string column&lt;br /&gt;8,000&lt;br /&gt;Bytes per GROUP BY, ORDER BY&lt;br /&gt;8,060&lt;br /&gt;Bytes per index key2&lt;br /&gt;900&lt;br /&gt;Bytes per foreign key&lt;br /&gt;900&lt;br /&gt;Bytes per primary key&lt;br /&gt;900&lt;br /&gt;Bytes per row8&lt;br /&gt;8,060&lt;br /&gt;Bytes per varchar(max), varbinary(max), xml, text, or image column&lt;br /&gt;2^31-1&lt;br /&gt;Characters per ntext or nvarchar(max) column&lt;br /&gt;2^30-1&lt;br /&gt;Clustered indexes per table&lt;br /&gt;1&lt;br /&gt;Columns in GROUP BY, ORDER BY&lt;br /&gt;Limited only by number of bytes&lt;br /&gt;Columns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement&lt;br /&gt;10&lt;br /&gt;Columns per index key7&lt;br /&gt;16&lt;br /&gt;Columns per foreign key&lt;br /&gt;16&lt;br /&gt;Columns per primary key&lt;br /&gt;16&lt;br /&gt;Columns per base table&lt;br /&gt;1,024&lt;br /&gt;Columns per SELECT statement&lt;br /&gt;4,096&lt;br /&gt;Columns per INSERT statement&lt;br /&gt;1,024&lt;br /&gt;Connections per client&lt;br /&gt;Maximum value of configured connections&lt;br /&gt;Database size&lt;br /&gt;1,048,516 terabytes&lt;br /&gt;Databases per instance of SQL Server&lt;br /&gt;32,767&lt;br /&gt;Filegroups per database&lt;br /&gt;32,767&lt;br /&gt;Files per database&lt;br /&gt;32,767&lt;br /&gt;File size (data)&lt;br /&gt;16 terabytes&lt;br /&gt;File size (log)&lt;br /&gt;2 terabytes&lt;br /&gt;Foreign key table references per table4&lt;br /&gt;253&lt;br /&gt;Identifier length (in characters)&lt;br /&gt;128&lt;br /&gt;Instances per computer&lt;br /&gt;50 instances on a stand-alone server for all SQL Server 2005 editions except for Workgroup Edition. Workgroup Edition supports a maximum of 16 instances.&lt;br /&gt;Length of a string containing SQL statements (batch size)1&lt;br /&gt;SQL Server 2005 supports 25 instances on a failover cluster.&lt;br /&gt;Locks per connection&lt;br /&gt;65,536 * Network packet size&lt;br /&gt;Locks per instance of SQL Server5&lt;br /&gt;Maximum locks per server&lt;br /&gt;Nested stored procedure levels6&lt;br /&gt;Up to 2,147,483,647&lt;br /&gt;Nested subqueries&lt;br /&gt;32&lt;br /&gt;Nested trigger levels&lt;br /&gt;32&lt;br /&gt;Nonclustered indexes per table&lt;br /&gt;32&lt;br /&gt;Parameters per stored procedure&lt;br /&gt;249&lt;br /&gt;Parameters per user-defined function&lt;br /&gt;2,100&lt;br /&gt;REFERENCES per table&lt;br /&gt;2,100&lt;br /&gt;Rows per table&lt;br /&gt;253&lt;br /&gt;Tables per database3&lt;br /&gt;Limited by available storage&lt;br /&gt;Limited by number of objects in a database&lt;br /&gt;1,000&lt;br /&gt;2,000&lt;br /&gt;256&lt;br /&gt;Limited by number of objects in a database&lt;br /&gt;249 nonclustered and 1 clustered&lt;br /&gt;32,767&lt;br /&gt;249&lt;div class="blogger-post-footer"&gt;KURALINIYAN&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3648324934281471766-2059137171109857575?l=mssqlserverindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mssqlserverindia.blogspot.com/feeds/2059137171109857575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3648324934281471766&amp;postID=2059137171109857575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/2059137171109857575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3648324934281471766/posts/default/2059137171109857575'/><link rel='alternate' type='text/html' href='http://mssqlserverindia.blogspot.com/2007/04/sql-server-2000-max-size-limit.html' title='SQL SERVER 2005MAX SIZE LIMIT'/><author><name>kuraliniyan s</name><uri>http://www.blogger.com/profile/09485956315657962471</uri><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>
