The script in this article is used to update a SQL-NS instance to match a released Microsoft Windows international time zone DST update. After Microsoft releases a new Windows DST update, a new SQL-NS script may be released to update SQL-NS instances. The Windows KB article below shows which Windows DST release the current script matches.
The current script updates SQL-NS to match the most recent Windows DST Update described in this Microsoft Knowledge base article:
976098Â
(http://kbalertz.com/Feedback.aspx?kbNumber=976098/
)
December 2009 cumulative time zone update for Microsoft Windows operating systems
The updated script supersedes and replaces all previously released SQL-NS DST updates and can be applied to a SQL-NS Instance no matter which DST update is present or if no DST updates are present.
For more information about the DST changes for the
Windows operating system, visit the following Microsoft Web site:
Note This Web site lists the products that are affected by DST and the
articles in the Microsoft Knowledge Base that describe the latest cumulative
DST and time zone update for Windows.
This article applies to the
following versions of Microsoft SQL Server Notification Services:
- Microsoft SQL Server 2000 Notification Services
2.0
- Microsoft SQL Server 2000 Notification Services 2.0 Service
Pack 1 (SP1)
- Microsoft SQL Server 2005 Notification Services
- Microsoft SQL Server 2005 Notification Services Service
Pack 1 (SP1)
- Microsoft SQL Server 2005 Notification Services Service
Pack 2 (SP2)
- Microsoft SQL Server 2005 Notification Services Service
Pack 3 (SP3)
To resolve this issue, follow these steps:
- Stop the event provider, the Notification Services
generator service, and all the Notification Services distributor services on
all computers.
Note For more information about how to start and stop a service, visit
the following Microsoft Developer Network (MSDN) Web site: - Download the following file from the Microsoft Download
Center, and then extract the script to your computer.
Note If you use a nondefault database schema, you may have to modify
the self-extracting script. If use the default database schema, you do not have
to modify the script.
The following file is available for download from the Microsoft
Download Center:
Collapse this imageExpand this image
Download
the MSKB974412.exe package now.
(http://download.microsoft.com/download/a/8/b/a8b0e28e-80b9-4cd0-b8f6-2055b3571859/mskb974412.exe)
For more information about how to
download Microsoft support files, click the following article number to view
the article in the Microsoft Knowledge Base: 119591Â
(http://kbalertz.com/Feedback.aspx?kbNumber=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.
- Click Start, click Run,
type cmd, and then click OK.
- Type the following command, and then press ENTER:
osql -E -i NSDST.091120.sql -d
NSMainDatabase
Note NSDST.091120.sql is one of the files that you extracted in step 2. NSMainDatabase represents the name of
the main database of the instance of SQL Server Notification Services.
- Repeat step 4 for the main database of each
instance of Notification Services that is installed.
- If you are running SQL Server 2000 Notification Services
2.0, stop and then restart SQL Server on the computer on which the database is
hosted.
Note If you are running SQL Server 2005 Notification Services, skip
this step. - Start the Notification Services distributor services on all
the computers.
- Start the Notification Services generator.
- Start the event providers.
SQL Server Notification Services stores DST information in the
NSTimeZoneDstOffsets table of the main application database. This table is created when an instance of SQL Server Notification Services is created. This table contains the DST start time, end time, and offset information for each time zone in each year up to the year 2025.
Scheduled subscriptions in SQL Server Notification Services use the
NSTimeZoneDstOffsets table to determine which schedules are in scope.
In time zones where there has been a change in daylight saving time start or end dates, scheduled subscriptions that occur between the old start or ends dates and the new start or ends dates may be delayed. These subscriptions may be delayed by one hour after the cumulative time zone update is applied to the host operating system.
You should install the Windows DST update on all computers that are running instances of Notification Services. Notice that Notification Services does not use local time. Notification Services uses Coordinated Universal Time (UTC). However, Notification Services depends on some SQL Server components that use local time. Therefore, you should install both the Notification Services DST update and the Windows DST update.
The order in which you install these DST updates is not important. However, we recommend that you first install the Windows DST update and then install the Notification Services DST update. Microsoft has tested this recommended order. You should install both DST updates as soon as possible.
How to determine whether Notification Services is installed
How to determine whether SQL Server 2000 Notification Services is installed
Method 1
In Control Panel, open the Add or Remove Programs item. If you notice the following entry, the original version of SQL Server 2000 Notification Services is installed:
Microsoft SQL Server Notification Services (2.0.2114.0)
If you notice the following entry, SQL Server 2000 Notification Services Service Pack 1 (SP1) is installed:
Microsoft SQL Server Notification Services 2.0 SP1
Method 2
In the Registry Editor, locate the following registry subkey:
HKEY_CLASSES_ROOT\Installer\Products
.
If you notice the following registry subkey, the original version of SQL Server 2000 Notification Services is installed:
64942737F6AC0D146AF0B91F262A693C
If you notice the following registry subkey, SQL Server 2000 Notification Services Service Pack 1 (SP1) is installed:
26ABA4AB609E2B94EBB48C824974CA02
Method 3
In Registry Editor, locate the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NotificationServices\InstalledVersions
.
If you notice the
2.0.2114.0
registry subkey, the original version of SQL Server 2000 Notification Services is installed. Also, the Path registry entry of the 2.0.2114.0 registry subkey contains the following value:
<InstallPath>\Microsoft SQL Server Notification Services\v2.0.2114.0\Bin
Note: The placeholder
<InstallPath> represents the folder where you install SQL Server 2000 Notification Services.
If you notice the
2.0.3008.0
registry subkey, SQL Server 2000 Notification Services SP1 is installed. Also, the Path registry entry of the 2.0.3008.0 registry subkey contains the following value:
<InstallPath>\Microsoft SQL Server Notification Services\v2.0.3008.0\Bin
Note: The placeholder
<InstallPath> represents the folder where you install SQL Server 2000 Notification Services.
How to determine whether SQL Server 2005 Notification Services is installed
To determine whether SQL Server 2005 Notification Services is installed, locate the following registry entry in Registry Editor:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NS\Setup\Version
- If the value is
9.00.1399.06
, the original version of SQL Server 2005 Notification Services is installed.
- If the value is
9.1.2047.00
, SQL Server 2005 Notification Services SP1 is installed.
- If the value is 9.2.2042.00 , SQL Server 2005 Notification Services SP2 is installed.
If the value is 9.3.4035.00 , SQL Server 2005 Notification Services SP3 is installed.
Automated installation of this update
You can write code to automate the installation of this update. In the code, you must first determine whether the instance of Notification Services is deployed and then install the update. However, different components of the instance can be installed on different computers. In the code, you must check whether the
NS$<InstanceName> service is running on each computer. If the
NS$<InstanceName> service is running on any computer, the instance has been deployed on that computer.
Notice that there will be one computer that is running the database component of the instance. This computer may be running the
NS$<InstanceName> service. You can write code to determine whether this computer is running the NS$<InstanceName> service. However, if you take this action, you will add complexity to your code. Therefore, you may prefer to manually determine whether this computer is running the
NS$<InstanceName> service.
Afterward, you can use the code to automate the installation of this update.