When you attempt to install the Microsoft Windows Server 2003 UDDI (Universal Description, Discovery, and Integration) Services components on Microsoft SQL Server 2005 running on Windows Server 2003, you receive:

This database instance does not meet the minimum version or Service Pack level requirements and cannot be used for installation. Please upgrade this instance or select another one.

This behavior occurs because the UDDI installation checks the value of the CSDVersion registry Value Name for SQL Server, which is used in SQL Server 2000, but not used for SQL Server 2005.

I have scripted SQL5Ver.bat to resolve this problem. The syntax for using SQL5Ver.bat is:

\[call\] SQL5Ver \[InstanceName\]

Where InstanceName is null if the instance of SQL Server 2005 is the default instance, or the instance name if the instance is a named instance.

When you run SQL5Ver.bat, you will be informed to install the UDDI Services database components and then delete a specific CSDVersion Value Name that the batch creates (and displays for you).

SQL5Ver.bat contains:

@echo off
setlocal
if \{%1\}==\{\} goto defi
set ni=%1
set ni=%ni:"=%
set key="HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\%ni%\MSSQLServer\CurrentVersion"
goto getver
:defi
set key=HKLM\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion
:getver
set cv=0.0
for /f "Tokens=2*" %%a in ('reg query %key% /V CurrentVersion^|find /i "REG_SZ"') do (
 set cv=%%b
)
@echo reg add %key% /V CSDVersion /T REG_SZ /F /D "%cv%"
reg add %key% /V CSDVersion /T REG_SZ /F /D "%cv%"
@echo After installing the UDDI Services database components, run the following command:
@echo reg delete %key% /V CSDVersion /F
endlocal