//  home   //  advanced search   //  news   //  categories   //  sql build chart   //  downloads   //  statistics
 ASP FAQ 
Home
ASP FAQ Tutorials

   8000XXXX Errors
   ASP.NET 2.0
   Classic ASP 1.0
   Databases
      Access DB & ADO
      General SQL Server & Access Articles
      MySQL
      Other Articles
      Schema Tutorials
      Sql Server 2000
      Sql Server 2005
   General Concepts
   Search Engine Optimization (SEO)

Contact Us
Site Map

Search

Web
aspfaq.com
tutorials.aspfaq.com
sqlserver2000.databases.aspfaq.com

ASP FAQ Tutorials :: Databases :: Sql Server 2000 :: What do I need to know about SQL Server 2000 SP4?


What do I need to know about SQL Server 2000 SP4?

Before you install 
 
Make sure you do all of your reading beforehand, including the links offered in Article #2531
 
Before downloading SP4, be sure you understand what package you are installing and what products you have installed. 
 
If you have the 32-bit SQL Server engine or client tools installed, you want Sql2k32sp4.exe
 
If you have the Desktop Engine (MSDE) installed, you want Sql2kdesksp4.exe
 
If you have Analysis Services installed, you want Sql2k32asp4.exe
 
If you are running the 64-bit edition of SQL Server, you want Sql2k64sp4.exe
 
Make sure none of your databases are marked suspect (particularly the system databases: master, msdb, model, tempdb). If you try to install SP4 in this scenario, you may leave your server in an unusable state. So you will want to sort out the suspect problem *before* installing SP4, as opposed to attempting to use SP4 to fix it. 
 
If you have backups or restores going on, or you are using backup strategies that involve a warm standby, or you have user databases that are suspect or in other non-default states, you will get a warning dialog that some user databases are not writable. In my case, I had a warm standby, and I proceeded with installation and decided to recycle each warm standby completely (e.g. start over with a fresh full backup coming out of SP4). In the case of backup or restore activity, I would wait until it is complete and suspend them until after the server comes back up. 
 
I suggest that you have the latest version of MDAC installed prior to installing the service pack. While the service pack does include a version of MDAC, it may not be the most recent one available when you ugrade. See Article #2057 and MDAC Download Page for determining and upgrading your existing version. 
 
Shut down any external programs that may be utilizing a shared memory connection to SQL Server, such as Reporting Services, Sharepoint Portal Server, Windows Update Services, Microsoft Operations Manager, any instances of SQL Server / MSDE, etc. See KB #891085 for details. 
 
Ensure that Named Pipes, TCP/IP and Enable Shared Memory Protocol are on under Client Network Utility. I realize you may have some of these options disabled for security purposes, but they are needed for the SP install. So, after the SP is installed, you can disable them again. There is no KB article to go with this, not sure if that's because PSS hasn't encountered the issue, or that it's so basic that an MVP should have spotted it when they first started having the problem, not 8 days later... 
 

 
While installing 
 
If you get errors when running replcom.sql, this is going to sound weird, but disable or remove SQL LiteSpeed's command substition feature, if it is installed. This feature intercepts all backup commands (including those in the sp_instdist script) and replaces them with the LiteSpeed equivalents, and this causes the script to fail. (I think this would fall under the category of third-party monitoring software, mentioned briefly in KB #811168.) 
 
And rather than repeat issues that may be repeating from SP3 / SP3a, be sure to check Article #2440 for any issues you may be having during install (many of these scenarios can occur during any service pack install). 
 

 
If you are running a cluster 
 
Note that you do not have to install the service packs on all nodes, only the currently active node, but a failover will be required.  
 
Make sure Windows Task scheduler is enabled on all nodes. (See this blog post for more details.) 
 
Read the following articles:  
 
Install on a Failover Cluster 
 
KB #811168 SQL Server 2000 Service Pack 3, Service Pack 3a, or Service Pack 4 pre-installation checklist for SQL Server 2000 virtual server for failover clustering 
 
KB #254321 Clustered SQL Server do's, don'ts, and basic warnings  
 
Fix your path(s) for temporary files, for the user running setup, the user SQL Server runs as, and the user the cluster service runs as. See KB #814844 for more information. 
 
Make sure that the user running setup, the user SQL Server runs as, and the user the cluster service runs as belongs to the local administrators group on all nodes. The user running setup must be a domain user, because he is authenticated via Windows Auth when aplying changes to the other nodes. 
 

 
Issues after install 
 
  • processes may seem to be blocking themselves, according to sysprocesses or sp_who/sp_who2. Don't be alarmed; this is normal behavior, SP4 is just a bit more comprehensive about reporting things like latch waits. Again, this is not a change in the engine's behavior, just a change in the way SQL Server displays the behavior to you. See KB #906344 and this Google thread for more information. 
     
  • you may have lost your ability to use memory under AWE. The initial release of SP4 (8.00.2039) had an artificial memory inhibitor, which would limit SQL Server on large memory systems to 2 GB. I am still not clear how this got into production, but there is a hotfix for it, labeled 8.00.2040. In all of my SP4 upgrades, I immediately installed the hotfix. To obtain the hotfix, visit KB #899761. After this, you should install the 2187 cumulative hotfix, available at KB #916287. This is used to correct major issues with BULK INSERT and to ensure correct installation on all nodes in a cluster. 
     
  • linked servers to other vendors may start failing. For example, if you are using the Oracle 10g client, you can try reinstalling the Oracle 10g client, which should reset anything that SP4 may have changed... you should also check your vendor for updates to their packages. 
     
  • connection strings may no longer be valid. Somewhere between the MDAC and SP4 updates, connection strings are a bit more strict. There are two styles for OLEDB: 
     
    Conn.Open "provider=SQLOLEDB.1; server=?; database=?; uid=?; pwd=?;" 
    Conn.Open "provider=SQLOLEDB.1; data source=?; initial catalog=?; user id=?; password=?;"
     
    While it requires more typing, I strongly suggest the latter. And I highly recommend you do not mix these methods, e.g. do not use server with initial catalog or data source with uid. It may work in most scenarios, but I have seen it fail. (You may also try dropping the .1 from the first parameter, if the rest of this doesn't help.) 
     
  • transaction log backups that worked fine before SP4 may slow down considerably, or fail with an error like: 
     
    Executed as user: domain\user. There is insufficient system memory to run this query. 
    [SQLSTATE 42000] (Error 701) BACKUP LOG is terminating abnormally. 
    [SQLSTATE 42000] (Error 3013). 
    The step failed.
     
    There is an undocumented BACKUP argument called MaxTransferSize, which can allow you to override the default 1MB size of contiguous blocks of virtual memory used for the backup. You can try using 262144 (256K) or 524288 (512K). See KB #904804 for more information. 
     
  • you may experience performance degradation, or output changes, in queries that involve decimal or numeric columns with different precision/scale. See KB #899976 for more information (including a trace flag that will allow you to revert to SP3 behavior in data type precedence evaluation). 
     
  • if you install MSDE SP3a onto a machine that already has Service Pack 4 installed on another instance, there may be a registry key corruption: 
     
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\80\Tools\ClientSetup 
     
    SQLPath = C:\Program Files\Microsoft SQL Server\80\Tools
     
    MSDE SP3a will truncate this path, removing the trailing "s," and this prevents existing shortcuts to Enterprise Manager, Query Analyzer and SQL Profiler, among others, from working correctly. You can manually fix the registry key using regedit to get around this problem. You should replace your MSDE SP3a installation packages with the SP4 version, available from the SP4 page
     
  • you may receive a buffer overrun when using SQLDiag.exe. This issue has been pointed out to PSS, so hopefully you are using this in relation to a case / SRX#, and PSS will help you get SQLDiag running. 
     
  • you will see different behavior in DBCC MEMORYSTATUS; the second resultset now has 7 rows instead of 6, with a new row labeled 'visible.' This number refers to the actual number of buffers concurrently visible, except in the case of AWE where the buffers are in "hidden" memory (above 4GB). There should have been an update by now to reflect this in KB #271624, but it remains unchanged.

 
As always 
 
If you have come across an issue that is not listed here, please let us know.

Related Articles

Are there tools available for auditing changes to SQL Server data?
Can I create an index on a BIT column?
Can I have optional parameters to my stored procedures?
Can I implement an input mask in SQL Server?
Can I make SQL Server format dates and times for me?
Can I start IDENTITY values at a new seed?
Can SQL Server tell me which row was inserted most recently?
How can I learn more about undocumented SQL Server stored procedures?
How can I make my SQL queries case sensitive?
How do I audit changes to SQL Server data?
How do I connect to a non-default instance of SQL Server?
How do I connect to SQL Server on a port other than 1433?
How do I create a cross-tab (or "pivot") query?
How do I determine if a table exists in a SQL Server database?
How do I drop a SQL Server database?
How do I find all the available SQL Servers on my network?
How do I get a list of SQL Server tables and their row counts?
How do I get rid of Named Pipes / DBNMPNTW errors?
How do I get the correct date/time from the msdb.sysjob* tables?
How do I get the nth row in a SQL Server table?
How do I get the result of dynamic SQL into a variable?
How do I handle REPLACE() within an NTEXT column in SQL Server?
How do I hide system tables in SQL Server's Enterprise Manager?
How do I know which version of SQL Server I'm running?
How do I limit the number of rows returned in my resultset?
How do I load text or csv file data into SQL Server?
How do I manage changes in SQL Server objects?
How do I monitor SQL Server performance?
How do I prevent linked server errors?
How do I reclaim space in SQL Server?
How do I recover data from SQL Server's log files?
How do I search for special characters (e.g. %) in SQL Server?
How do I start SQL Server Agent from ASP?
How do I time my T-SQL code?
How do I upsize from Access to SQL Server?
How do I upsize my MSDE database to full-blown SQL Server 2000?
How do I use a variable in a TOP clause in SQL Server?
How do I use GETDATE() within a User-Defined Function (UDF)?
How should I store an IP address in SQL Server?
Schema: How do I find all the foreign keys in a database?
SQL Server & MSDE
What are reserved Access, ODBC and SQL Server keywords?
What are the capacities of Access, SQL Server, and MSDE?
What are the main differences between Access and SQL Server?
Where else can I learn about SQL Server?
Where is SP4 for SQL Server 2000?
Why am I having problems with SQL Server 2000 SP3 / SP3a?
Why can't I install SQL Server on Windows Server 2003?
Why can't I install SQL Server on Windows XP?
Why can't I use LIKE '%datepart%' queries?
Why do I get "Login failed for user '\'."?
Why do I get 'object could not be found' or 'invalid object name'?
Why do I get errors about master..spt_values?
Why do I get script errors in Enterprise Manager's 'taskpad' view?
Why do I get SQLSetConnectAttr Failed errors?
Why do I have problems with views after altering the base table?
Why does EM crash when I get an error in a stored procedure?
Why does Enterprise Manager return 'Invalid cursor state'?
Why does my DELETE query not work?
Why does sp_spaceused return inaccurate values?
Why is Enterprise Manager slow at expanding my database list?
Why is my app slow after upgrading from SQL Server 7 to 2000?
Why is tempdb full, and how can I prevent this from happening?
Why should I consider using an auxiliary calendar table?
Why should I consider using an auxiliary numbers table?

 

 


Created: 10/25/2005 | Last Updated: 4/18/2006 | broken links | helpful | not helpful | statistics
© Copyright 2006, UBR, Inc. All Rights Reserved. (241)

 

Copyright 1999-2006, All rights reserved.
Finding content
Finding content.  An error has occured...