Welcome to SSQA.net Sign in | Join | Help

SQL Server Storage Engine & Tools (SSQA.net)

SQL Server Tools includes storage engine that includes a complete set of graphical tools and command prompt utilities that allow users, programmers, and administrators. SSMS, SSRS, SSIS & SSAS are most commonly used tools.
SQL Server data and log files initialization, think multiple files, backup & restore performance!
Whenever you perform a database creation, add a data or log file to database, AUTOGROW process is intiated or restore of database will trigger the file initialization if that is created afresh.
 
In addition to this when you talk about files intialization you must consider the hardware such as RAID, as the software data block size is computed for optimal performance by SQL Server and should not be altered which is set to a maximum 64KB blocksize. Say if you are writing to disk or to tape (high-speed) drives should perform better if they have a dedicated SCSI bus for each tape drive used. Drives whose native transfer rate exceeds 50 percent of the SCSI bus speed must be on a dedicated SCSI bus to avoid loss in performance. In any case you must refer to the relevant Vendor's documentations about settings that affect might tape drive performance.
 
In general the backup operation should not affect the server's performance, but in many cases I have seen that raw I/O speed of the disk backup device affects disk backup device performance and allows SQL Server backup and restore performance operations to roughly scale linearly as multiple disk devices are added. This will occur if you are performing multiple BACKUP and RESTORE operations on a SQL Server instance. This is where RAID for a disk backup device needs to be carefully considered, for instance RAID 5 has low write performance, approximately the same speed as for a single disk (due to having to maintain parity information). Additionally, the raw speed of appending data to a file is significantly slower than the raw device write speed. So the performance is highly dependant on striping of that disk, such that backup performance can be increased by placing several backup media families on the same logical drive. This is the reason backup drives must be place on seperate disk device.

Coming the internals of how SQL Server 2005 initializes the files that, say data and log files are first initialized by filling the files with zeros when you create a database; add files, log or data, to an existing database; increase the size of an existing file (including autogrow operations); or restore a database or file group. File initialization causes these operations to take longer. However, when data is written to the files for the first time, the operating system does not have to fill the files with zeros. The operation is instantaneous having the capability that allows for fast execution of the previously mentioned file operations. Instant file initialization reclaims used disk space without filling that space with zeros and the overwrite operation as new data is written to the files. The same will not work for database log files as they cannot be initialized instantaneously. A little catch here such an operation if instant file initialization is available on later versions of Windows Server 2003 & XP operating systems.

So when you have a large number of databases that are huge in size (more than 25GB) then deploying a better backup strategy is ideal by having differential and log backups on daily basis with full backups on weekly. By creating a differential backup is identical to creating a full backup, except only changed data is copied. Backing up a database file consists of simply copying the data from the file to the backup devices. There are more internals to how the reader and writer threads are initiated whenever a backup is initiated, similar to what restore operation is writer will take higher hand to perform than the reader on. This is where you may see the bottleneck on disks that will be either the database files or the backup devices. It is a bette practice to add more backup devices with necessary SCSI controllers dedicated to those devices can improve performance lot better, as if the total read throughput is greater than the total backup device throughput, then the bottleneck is on the backup device side. In other case of if the total backup throughput is greater than the total read throughput, then increase the read throughput; such as add more database files or devices (or by adding more disks to a RAID device) (source:Technet documentation).
 
To sumup its worth talking about Transaction log backup performance when you have large number of databases that are awaiting for point in time recovery mode. So whenever a transaction log backup is initiated on the disk side a writer thread is assigned to each backup device, this is the reason it is stressed to get more backup devices for transaction log backups or keep the backup on a seperate disk device. One cannot avoid bottleneck that can occur either on the disk device containing the transaction log files or the backup device, depending on their relative speed and the number of backup devices used. Why adding up more backup devices will perform better? The number of backup devices will scale linearly until the capacity of the disk device containing the transaction log files is reached, after which no further gains are possible without increasing the speed of the disk devices containing the transaction log, by using disk striping. So when you have multiple operations of BACKUP & RESTORE to/from tape then you can improve performance by specifying NOREWIND. This option causes SQL Server to keep the tape or tapes open after the backup operation. NOREWIND implies NOUNLOAD.
 
To close the topic I suggest to have a read-through of Backup and Restore in Large Mission-Critical Environments and Understanding Recovery Performance in SQL Server articles on Technet.
 
Cumulative Update 8 package for SQL Server 2005 Service Pack2

I felt like somehow I missed to post the availability of Cumulative Update package releases here and referring the last CU7_Update package blogpost now we have CU8 available for download if the specified problem occurs in your platform as per the KBA 951217 here.

Obviously this is for the installations that will have SQL Server 2005 SP2 and includes 50 Resolved Issues & 39 Unique Customer Requests, thats a lot.

As usual the best practice note from Microsoft and industry is  Cumulative Updates are designed to correct only the problems described in the associated KB article. We recommend that customers apply CU packages only to systems that are experiencing those specific problems outlined in the above KB article.

SQL Server 2005 - How to compare content of tables without using third party tools?

You may be aware about using Third party tools to compare the data between 2 tables. Using SQL Server 2005 you need not entirely dependant on such requirement, TABLEDIFF utility is the new addition to the SQL Server. This utility enables you to compare the table contents by giving consistent information such as whether data is same, are they different and also give  what data in the table different.

From the command prompt where the SQL Server is installed you can run TABLEDIFF -? to get list of supported arguments. Bear in mind you cannot use the same utility when the SQL instance is not present. Books Online refers about data types mappings that are provided with the results:

Source data type Destination data type

tinyint

smallint, int, or bigint

smallint

int or bigint

int

bigint

timestamp

varbinary

varchar(max)

text

nvarchar(max)

ntext

varbinary(max)

image

text

varchar(max)

ntext

nvarchar(max)

image

varbinary(max)

The user must be a member of DB_OWNER fixed database role or CREATE TABLE  permission. In this regard several different types of data comparison can be performed using this utility by specifying -q option that will quickly compare by providing the record count.

You can use this utility even to compare the data between Production and Development SQL instances.

 

 

 

SQL Server Express - get sample kits in express way

For every new user in SQL Server world and experienced users to get used to newer version of SQL Server, having sample kit will definetly help out.

In this scenario I often get emails asking about any samples or documentation (procedures) to get more about the latest release of SQL Server, in the same fashion thanks to Microsoft learning that such sample kits are available to download for free.

The following links source is from Microsoft site:

Teacher Starter Kit

The Teacher Starter Kit is a rich client application for keeping track of students, course rosters, and assessments or grades.

Note: This SQL Server applications starter kit requires Visual C# Express or Visual Basic Express

Create courses

Create courses

  • Define course information like course number, topic, and schedule.
  • Assign students to courses.
  • Create assessments for courses to track scores for tests or other assignments.
Create and track assessments

Create and track assessments

  • Track grades by individual student or assessment
Use reports to see course and student progress

Use reports to see course and student progress

  • See a student's overall assessment scores across courses.
  • Track scores for all assessments associated with a specific course.
  • Learn how to call Web services directly from your application.
Start Now

Collection Manager

The Collection Manager is a rich client application that enables you to create and manage any type of collection. A sample database is included, and you can create any additional number of custom collection types to store unique characteristics about each collection.

Note: This SQL Server applications starter kit requires Visual Basic Express

Create collections

Create collections

  • Customize individual collection types.
  • Create individual group properties to store unique information.
  • Assign items to collections
Manage Items

Manage Items

  • Edit unique item properties.
  • Show XML data properties.
  • Report on individual collections.
Start Now

Amazon-Enabled Movie Collection

The Amazon-Enabled Movie Collection Starter Kit is a Windows application that uses Amazon.com Web services to dynamically search for movie titles to add to your personal collection.

Note: This SQL Server applications starter kit requires Visual C# Express or Visual Basic Express

Elegant design

Elegant design

  • Simple and elegant design makes adding, searching, and rating movies in your collection a snap.
  • Fully customizable user interface enables easy skinning.
Connect to Amazon

Connect to Amazon

  • Dynamically search movie titles using Amazon.com Web services.
  • Built-in database enables offline storage of movie information straight from Amazon, including box art images, title, director, length, release year, and more.
Learn

Step-by-step documentation walks you through how the application works and how you can easily modify it.

  • Learn how to add, update, and display data from SQL Server 2005 Express Edition.
  • Learn how to call Web services directly from your application.
Start Now

Club Web Site

The Club Web Site Starter Kit is a Web database and Web site building tool that provides everything you need to easily create a dynamic Web site for your club or organization. With this Web site building tool you can create a Web site that includes contacts and events calendar, enables photo sharing, and more.

Note: This SQL Server applications starter kit requires Visual Web Developer Express.

Announcements

Announcements

  • Create announcements and news articles.
  • Include a photo or link to a photo album straight from an announcement.
Photo albums

Photo albums

  • Create albums and share the photos from your club activities.
  • Use the photos in news articles and calendar entries.
Learn

Online calendar

  • Easily create and share your calendar events.
  • Take advantage of calendaring integration to add calendar events from Outlook or other calendar applications.
Start Now

Personal Web Site

The Personal Web Site Starter Kit provides a complete, ready to run, ready to customize, interactive Web site for sharing photos, posting your résumé, categorized links and more.

Note: This SQL Server applications starter kit requires Visual Web Developer Express.

Home page

Home page

  • Enable users to login to your site
  • Display a random photo from a random album
Online photo gallery

Online photo gallery

  • Easily add photos using built-in management tools.
  • Group your photos by albums.
  • Present a random photo of the day on the front page.
Allow your friends to securely login

Allow your friends to securely login

  • Create user accounts for your friends and family to grant them special access to your site.
  • Decide which albums are publicly viewable and which ones are private.
Start Now

Time Tracker Starter Kit

The Time Tracker Starter Kit is a business Web application for keeping track of hours spent on a project, with ability to handle multiple resources as well as multiple projects.

Note: This SQL Server applications starter kit requires Visual Web Developer Express.

Create projects

Create projects

  • Define project information like due dates, hours to complete, project resources, and more.
  • Break down projects into tasks and track work on a per-task basis.
Create and track tasks

Create and track tasks

  • Track time spent each day by category and project.
Use reports to track progress

Use reports to track progress

  • Track overall progress across multiple projects, including estimated and actual work.
  • Track total work for team resources across multiple projects.
Start Now

Further you can also download samples from SQL Server Express – Sample Rich Client and Web Applications and SQL Server 2005 Express Database Schemas these links.

Error: SQL Server not found or Access Denied, General network errors & Timeout expired: Find the root cause with a trace?

The following error is a frequent-faced issue by any SQL Server user : 

SQL Server is unavailable or does not exist 

or

SQL Server does not exist or access denied

 

In this regard we have already relevant post PotentialCauses_Resolution here, but still I see that as a FAQ forum/newsgroup question and the key to solve this issue is a network packet trace. This is a further digout on your analysis technique to resolve any issue, you need to be aware about network concepts where you have to have understanding the problematic issues and to capture a network trace. 

 

You may be aware that Netmon3 (Network Monitor) tool has further flexibility to offer with the built-in ability to capture rolling traces.  Over a period of time I have learned/built following technique to use this tool for further analysis. These are the steps below in order to configure Network Monitor:

 

  • Foremost task is to download Netmon3 tool from MS-Downloads site.
  • Next is to install the downloaded tool on your client machine & Server where you are getting the above mentioned error. Just additional notes on installation is by default install to <%ProgramFiles%\Microsoft Network Monitor 3>
  • Then run the commands in Command Prompt (Run as Administrator) to start Netmon3.1: cd /d %ProgramFiles%\Microsoft Network Monitor 3/nmcap.exe /Network * /Capture /File %SystemDrive%\%ComputerName%_Repro.cap:100M /DisableConversations
  • Few times I have seen the security policies within an Enterprise for not to install any software, in this case you can still install it on another server (such as your monitoring server) that can be used as hub  as the server or to the admin port of the switch that the server is on.  If you go this route you must synchronize the time between the client, server, and this third machine.
  • How to synchronize is, 
    • Use the command prompt as follows:
    • Net time \\machinename /set /yes (machine name will be the source server)
  • If you have Windows 2003 server then ensure to switch off the TCP chimney by using another commnad prompt as:
    • Netsh int ip set chimney DISABLED
  • Now you need to use Netmon3 tool as command line utility to start the trace as follows (source:Techned documentation):
    • [Netmon 3 installation folder]\NMCap /network * /capture /file test.chn:100M  (creates 100 MB chained files)
    • The CHN extension is required to chain the captured traces and also ensure to create the target folder where you are storing the trace files.
  • Further I recommend this Automate-Netmon3 trace procedure blog for your reference.
  • Final step of the procedure is to stop the trace by using Ctrl+C on the command line window where you started the trace.

 This will give you base information of why the error is generated and obvious lead to give more information to your network administrator. If you have support contract with Microsoft CSS then you may be aware that it provides different support services which have different service levels and support boundaries and not to mention your own debugging is out of their support boundary. A support call to our product service team is needed for the debugging service. So, if debugging is needed for this issue in the future such as server service hang, I'd like to recommend that you contact Microsoft Customer Support Service (CSS) for assistance.

SQL Server 2005 xp_sendmail: Either there is no default mail client or the current mail client cannot fulfill the messaging request. Please run Microsoft Outlook and set it as the default mail client.

Usage of SQL Mail is quite common within SQL Server environment, recently I have involved at one of the client's site with the error:

Msg 17930, Level 16, State 1, Line 0

xp_sendmail: Either there is no default mail client or the current mail client cannot fulfill the messaging request. Please run Microsoft Outlook and set it as the default mail client.

Further details on the issue the server (Windows 2003) has been upgraded  from SQL Server 2000 to 2005, no issues reported on database side except on the alert side of sending the emails for failed jobs. The first question I have asked them is that why not use Database Mail instead of SQLMail as DBMail qualities include (as per BOL):

  • No Microsoft Outlook or Extended Messaging Application Programming Interface (Extended MAPI) requirement. Database Mail uses the standard Simple Mail Transfer Protocol (SMTP) to send mail. You can use Database Mail without installing an Extended MAPI client on the computer that runs SQL Server.
  • Process isolation. To minimize the impact on SQL Server, the component that delivers e-mail runs outside of SQL Server, in a separate process. SQL Server will continue to queue e-mail messages even if the external process stops or fails. The queued messages will be sent once the outside process or SMTP server comes online.
  • Failover accounts. A Database Mail profile allows you to specify more than one SMTP server. Should an SMTP server be unavailable, mail can still be delivered to another SMTP server.
  • Cluster support. Database Mail is cluster-aware and is fully supported on a cluster. 

Due to the legacy application that was used here will have only use SQLMail, so thats the story to keep with this mailing solution until it is re-written to use Database Mail. So as per the pre-requisite for SQLMail they have installed Outlook 2000 with service pack3 and default mail is outlook with relevant mapi profiles existence. As usual search under Knowledge Base articles referred the links such as:

How to configure SQL Mail to use an Internet mail server by using Outlook 2003

How to configure SQL Mail

Common SQL Mail problems
None of them has resolved the issue and another search on ssqa.net (that will have only SQL Server related KBAs) I got through this link How to set up SQL Mail with an Internet mail server by using Outlook 2002 which is applicable to SQL Server 2005 (only) :
 
With SQL Server 2005, if you want to use SMTP and POP3 servers to send and receive e-mail messages, the best option would be to move to Database mail because it integrates with them very smoothly. If we still want to use the Legacy SQLMail component in SQL Server 2005 with SMTP/POP3 configuration, you cannot move to Database mail. In this case, use Outlook 2000 with Service Pack 3 (SP3) installed. We do not recommend that you use Outlook 2003 with SQL Server 2005 because of the reasons mentioned in this article.
For further information on what kind of issues you might get even if you use Outlook 2000 review the remaining text on the above KB article, finally I was able to resolve the issue by adding C:\Program Files\Common Files\System\Mapi\1033\NT to the PATH variable under Start --> Control Panel --> System, under Advanced Properties and choose Environment Variables then search for PATH variable (to Edit). The root cause of this issue due to the fact that SQLMail is the legacy component in SQL Server 2005 version and the profile for mail needs the SQLAgent to activate.
 
SQL Server troubleshooting tools PSSDiag, SQLDiag, SQLNexus, RML Utilities and ReadTrace: which one to choose?

Not alone with SQL Server you would be able to identify the root cause of a performance issue or to monitor any kind of activity.

As you may be aware SYSMON (PERFMON) and PROFILER will help to some extent of finding offending processes on the SQL Server for further fine tuning for queries or tasks. Still there is a need to dig deeper on the troubleshooting tools that are required within your SQL platform irrespective of versions such as SQL Server 2000, 2005 and 2008 (upcoming).

Until the age of SQL Server 2000 there needs to be huge dependancy on third party tools to identify any internal process of Relational engine, that has been changed phenominally from SQL Server 2005 onwards where SQL Server product & support team uses several internally-written utilities that will make their processes easier to work on a typical customer support incident cases. It is a mis-conception that these utilities may only useful for DBAs and not for anyone within the Data platform, it is not quite correct. Most of these utilities would help the Developers & System Administrators who work with or relatedto SQL Server within your environment.

So when we talk about troubleshooting utilities then you might be thinking about Blocker scripts that were provided in good olden SQL Server 2000 days such as sp_blocker_pss80 scripts and procedures, as most of these are applicable to SQL Server 2005 installations too and same kind of information can be obtained by using  Blocked Process Report event class in SQL Server Profiler that will capture the information about a task that has been blocked for more than a specified amount of time. Further ReadTrace80 & OSTRESS is released, where ReadTrace80 will be used to process generated trace files by PROFILER & OSTRESS utility is a multithreaded ODBC-based query utility.

Then it comes to PSSDiag utility that has been used within PSS (Customer Support) team in Microsoft as a  diagnostic data collector for SQL Server. It can simultaneously collect Perfmon/Sysmon logs, Profiler traces, event logs, SQLDIAG reports, and detailed blocking information. It is commonly used by Microsoft Product Support Services engineers to collect diagnostic data from end-user installations and can also be used by end-users to troubleshoot and monitor their own SQL Server installations. PSSDiag has been released to public to offer further flexibility to the diagnostic tools arena.

Next one in the ranch was SQLNexus tool which was a brian child of SQL Gurus Ken Henderson & Bart Duncan that was offered as a a visualization tool for detecting, analyzing, and troubleshooting problems on SQL Server 2005 database management system (DBMS). This tool uses the SQL Server 2005 diagnostics utility SQLdiag on the back end as its main data collector.  Further offers from SQLNexus are not only does it let you run several useful built-in reports, it also lets you customize existing reports and write your own. The tool uses SQL Server Reporting Services (SSRS) to generate reports and charts from the diagnostic data it collects. SQL Nexus then uses SQL Server to collect and aggregate diagnostic information into a DataWarehouse kind of database; you can use this information for long-term diagnostics and performance analysis.

Now recenlty SQL Development team has come up with another utility called RML utilities for SQL Server that is classed as a Precision Performance tool for SQL Server. This RML utilities come up with 2 releases for X86 and X64 based installations, so what kind of answers it can provide means a list of answers are below:

  • Which application, database or login is consuming the most resources, and which queries are responsible for that.
  • Whether there were any plan changes for a batch during the time when the trace was captured and how each of those plans performed.  
  • What queries are running slower in today's data as compared to a previous set of data.

 

 

Also you can use this utilities to test the system about how it  will behave with some change (different service pack or hot fix build, changing a stored procedure or function, modifying or adding indexes, and so forth)and this will be an added additional advatage to SQL users  by using the provided tools to replay the trace files against another instance of SQL Server.  If you capture trace during this replay you can use the tools to directly compare to the original baseline capture. Further it has been confirmed that this RML Utilities have undergone with an integration with SQLNexus, SQLDiag, PSSDiag & ReadTrace that were referred above. Also this will supersede the previous release of ReadTrace80 & OSTRESS utilities.

So to download and test this RML utilties within your environment you can download:

 

SQL Server High Number of User Connections found on PERFMON, how to resolve it?

I was working with one of the user project to monitor the Performance Audit of their SQL Server estate. One SQL instance among the SQL farm is very important to their day-to-day business and cannot sustain even 5 minutes of downtime which is termed as 24/7 kind of application.

During the troubleshooting exercise I have noticed a peculiar issue that while number of connection value in master.dbo.sysprocesses (or sys.processes) is relatively showing nearly 100 user connections, where as while collecting the statistics using PERFMON (SYSMON) tool or with DMV sys.dm_os_performance_counters it shows the counter value as over 1400.  Further to this to ensure the connections value is correct I have executed the command netstate -ano from command prompt, a little about netstat ("Netstat" allows anyone to instantly see what current Internet connections and listening ports any system has open and operating. Mastering the power of this little-known command will greatly empower any security-conscious computer user).

So whenever you have the opportunity to identify the number of user connections always excute as follows:

--SQL 2000 

select count(*) from master..sysprocesses where spid>50

--SQL 2005

SELECT  *  FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:General Statistics'

I have seen many users depending upon the Task Manager on the server assuming that something is really causing issue that is due to SQL Server usage. Hold on your thoughts and before confirming your thoughts it is better to collect correct statistics using DMVs (SQL 2005) or PERFMON (pre SQL 2005) methods for optimum values.

Further to this I have found the following error messages:

Logon Login failed for user LoginName'. [CLIENT: IPAddress]

 Logon Error: 18456, Severity: 14, State: 23.

 spid 1371 The client was unable to reuse a session with SPID SPID, which had been reset for connection pooling. This error may have been caused by an earlier operation failing. Check the error logs for failed operations immediately before this error message.

Also when the high user connections value is shown I can observe high CPU usage and frquent context switches from Operating System (referring to Task Manager for highlights). The root cause of this issue is when SQL Server handles many concurrent connections on a computer that has many processors installed. Additionally, a time-out may occur when you run a query. So to proceed further you should determine exactly what those user connections are performing or do they need to be open on SQL Server side whereby resources such as memory is occupied and will not be disconnected unless it is initiated by the user or you kill it. Also it is best to identify the  total amount of memory currently allocated for connection by using DBCC MEMORYSTATUS statement.

Finally we have identified the root cause of the issue is due to the activity on the database causing heavy usage of MARS  and to talk about this refer to Multiple Active Result Sets (MARS) in SQL Server 2005, Using Multiple Active Result Sets (MARS) and this blog post http://blogs.msdn.com/angelsb/archive/2005/01/13/352718.aspx & http://blogs.msdn.com/dataaccess/archive/2005/08/02/446894.aspx links explains more about the root cause.  To resolve further issues when you are using MARS type of activity review the content from this Improving-smart_client_performance event from Microsoft.

SQL Server Cumulative Update uninstallation fiasco. Dude, can I remove SQL Server setup files?

We have been struggling to uninstall the Cumulative Update package 7 on a development SQL Server!

As it is an important aspect of installation to rollback or to have a backout plan tested if you are performing any kind of installation against your Production Server, not to mention its a best practice too. Until now most of the Microsoft programs are designed to uninstall easily using Add/Remove programs from the Control panel, but it seems this isn't quite right for these Cumulative Updates on SQL Server 2005 SP2. Within the MVP community too I have been told do not attempt to uninstall these updates in the same fashion and worth to mention about SQL Server Service Pack or Hotfix patch or Cumulative Update: do not attempt Windows System Restore as a backout plan? blog post here, as I have seen many users out-there are taking this route!

So after a discussion the solution was advised by Microsoft support (CSS) that if you leave old setup files (SQL Server 2005) for previous Cumulative Update, for instance if you are trying to uninstall CU7 then you must have CU6 related setup files on the Server where the SQL Server installed. I felt this is a wierd concept that you have such a Single-Point-Of-Failure (SPOF) dependancy whereby most of the times the DBA would go and delete the files once the setup has been completed on the live SQL Server instances.

Before speaking to the CSS we have been finding a way to uninstall the old fashion way which was unsuccessful,  where by it was hanging round with an hourglass to show and not moving any bit further. Couple of times other colleagues mentioned to reboot the server or kill that uninstall process via Task Manager, which is another bad(worst)-practice you may develop if you are not getting relevant results. Obviously I have turned down to go that route as it may potentially leave the system in a inconsistent/bad state.  So as per the general practice we have deleted the previous CU setup files and going forward decided to allocate a seperate drive to have the installation files other than keeping them on C: drive whereby you will not have much space allocated when the server is designed to install.

During the recent interaction with Microsoft Product group & CSS team we have been told that a KBA will be provided about how to rollback or deal the uninstallation process within Hotfix and Cumulative Update installations.

Install cumulative update package 7 on a SQL Server Cluster?

IN continuation to the post Rollback_of_CumulativeUpdate-hotfix-ServicePack I was asked about any procedure or steps on installing Cumulative update package 7 for SQL Server 2005 Service Pack 2 on Active node SQL 2005 cluster.

The simple answer is all of such hotfix/Service Pack/Cumulative Update packages are cluster-aware. That means when you obtain the Hotfix or Cumulative Update from CSS they will need all of your Server information in order to provide you the correct binaries setup files. IN this case you should always extract the files from setup pack and look for any instructions such as README files, if not you can stress the CSS to provide the installation steps or procedure for Cluster based installations. So going forward you can simply start the install on the node that owns the SQL instance you want to patch and the installer prompts for everything else.

Bear in mind that such installation will always be treated as offline operation and will need to stop the SQL Server services and possibility of nodes to be rebooted. In any case do not forget to ask about uninstall methods too from CSS, as you may never know when it is needed.


 

 

SQL Server Service Pack or Hotfix patch or Cumulative Update: do not attempt Windows System Restore as a backout plan?

To cut the long story short, during a recent implementation of Cumulative Update 6 and 7 on a particular 'application domain' server we have had major application issues due to a mix up of application code & these SQL cumulative update fixes. Actually this server was not under our support structure that would definetly go through thorough testing cycles for any hotfix or service pack patch application, due to the road blocks and issues we were involved to provide recovery tasks.

I have highlighted and would like to stress that at any point of time it is always recommend that you test hotfixes before you deploy them in a production environment. Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2005 fix release. Due to the application campaign previously the cumulative update package 6 wasn't applied to this SQL Server database, as per the list of hotfixes that are included in CU7 for SQL Server on the KBA 949095 information  the application team were able to obtain the hotfix from CSS, that is another story. But the main problem occurred as they haven't tested the reporting part of the code that has caused this downtime to the application.

Being the reason of shared platform database server the meeting has included technical teams from Application, Database & Server based people and the discussion has brought up the suggestion of performing the 'Windows System Restore' on this Windows 2003 server. I would like to run through the basics behind 'system restore' concepts that were introduced from Windows XP time. Based on the home based work & tasks using Windows XP (with VIsta too) has that time machine facility such as when some awful thing gives your computer the staggers, it's easy to go back to the day before. Or the day before that. Or last week or last month. Few things to note for the users:

  • System Restore creates points in time — called "restore points" — in which it takes a snapshot of Windows. It stores them on your hard drive. At any given time, you might have restore points going back a few weeks, or a few months.
  • System Restore only takes Windows and some programs backwards. This is important to know: It does not reverse any changes made in your documents.

  • The System Restore monitors the files that are important to the system's performance. These have such extensions as EXE, DLL and INI. When you select a date in the System Restore wizard, it restores these files to whatever they contained on that date. If you installed a program after that restore date, you might have to reinstall it.

  • Windows creates restore points under several circumstances. For instance, when you install something from a CD or floppy, it usually creates a restore point. It makes points every 24 hours. Or, if you don't use your computer that often, it creates restore points when you boot up.

  • Never forget the fact that such system restore chekpoints and tasks you need free space in hard drive (atleast 12%) of total disk size.

Coming back to the subject topic that suggestion of performing the 'Windows System Restore' on this Windows 2003 server is not possible directly unless you perform few tweaks to enable on Windows 2003 and I have totally opposed to this suggestion by System Administrators. As per the behaviour of System Restore which will not remove binaries from locations on your disk that Windows isn't deemed to "own" that is applicable to SQL Server binaries too such as shared applications folder. This will have major issue on applied SQL instance of causing unstable state or even corruption to system database where you will have major downtime to recover the complete server platform.

I have  recommend(ed) and strongly propose to follow the process of using the CU uninstaller utility in Add/Remove Programs instead of trying to "roll back" method. Since the CU6 implementation and availability anyhow you have to approach CSS to obtain the hotfix, they will provide the steps to rollback/uninstall the Cumulative Update hotfix to your SQL instance. TO close this topic if you need to know the SQL Server 2005 builds that were released after SP2 for SQL Server 2005 refer to this KBA 937137 link.

SQL Server 2005 Failover Clustering on Windows Server 2008 - webcast

Windows Server 2008 is on full fledged wave now after it has been launched in February and it is obvious that many questions will be flying around about supportability & manageability for existing SQL Server versions such as 2005 at the moment.

Think about managing the SQL Server 2005 Failover Clustering on the new Windows Server 2008, in this case you need to be sure about how to plan, implement and administer the SQL Server 2005 cluster. So to give more information to the users Microsoft Development team has lined up a webcast that discusses the above point in addition to the featuer such as how you can use to move the existing SQL Server 2005 failover cluster from Windows Server 2003 to 2008 version, not to mention about best practices.

This is a Level 300  session that will be presented by the host: Uttam Parui.

Uttam Parui has been working with Microsoft SQL Server for the past 10 years. He has been at Microsoft for more than 8 years and has worked with all versions of Microsoft SQL Server, starting with version 6.5. He is currently a senior premier field engineer working with major customers in the United States. His areas of expertise are high availability, scalability, and performance tuning. Uttam led the development and successfully completed the globally coordinated intellectual property for "SQL Server 2005 Failover Clustering" workshop. He is also a master trainer for Microsoft SQL Server 2000 and 2005 Performance Tuning and Optimization workshops. He is one of the technical editors for "Professional SQL Server 2005 Performance Tuning" book published by Wiley Publishing Inc. He has a master's degree in computer science and is a certified Microsoft Certified Systems Engineer (MCSE), Microsoft Certified Database Administrator (MCDBA), and Microsoft Certified Trainer (MCT).

To Attend this Live WebCast. click on the link and then after you can view using the same link.

Session Summary
Monday, June 09, 2008 10:00 AM Pacific Time

Applies to:

Microsoft SQL Server 2005 Developer Edition
Microsoft SQL Server 2005 Enterprise Edition
Microsoft SQL Server 2005 Standard Edition
Windows Server 2008 Datacenter
Windows Server 2008 Enterprise
Windows Server 2008 Standard

SQL Server Release Services - Cumulative Update or frequent Service pack releases, which one you favour?

Here is the hot news, SQL Server Global Release Services (GRS) has revised their schedule of releasing Service Packs for SQL Server product by stating 'changed approach to Service Packs'. Now the big question how far you can stretch in deploying these service pack releases within your Enterprise database platform to deploy frequent service pack releases.

What has been referred on their blog is:

With our recent SP3 announcement we will be expanding the Incremental Servicing Model to now include Service Packs and we will pursue the following objectives:

 

·         Smaller Service Packs which will be easier to deploy

·         Higher quality of Service Pack releases due to reduced change introduced

·         Predictable Service Pack scheduling to allow for better customer test scheduling and deployment planning.

If you are confused or not sure about Release concepts then refer to ISM-Concepts article.  The four important factors for every release are:

·