Can't Create New Service Broker in read-only msdb

  • We're trying to install SQL Server 2005, and getting the following error message:

    ------

    SQL Server Setup failed to execute a command for server configuration. The error was [Microsoft][SQL Native Client][SQL Server] Cannot create a new Service Broker in read-only "msdb".. Refer to the server error logs and Setup logs for detailed error information.

    ------

    I have looked through the error log that the user sent, and I don't see anything obvious. At least, not obvious to me. Anybody have any hints what's going on?

    Steve



    Steve Miller

  • Hi,

    Can you post the setup summary here??? Is SQLserver already installed or this is the first time you are installing??

  • Hi Vidhya,

    The user is running XP on a machine in Asia somewhere. (That's on the other side of the planet for us.) At one point he completely reinstalled Windows. We have twice attempted taking remote control of his machine, but have not been able to.

    We are using SQL Server Express (2005), which runs underneath our app. Our software has installed successfully on dozens of machines around the world. This seems to be a problem with this machine, but we're having a bad time diagnosing it.

    I have waded through the verbose log the user sent. Near the bottom is this:

    -----------

    SQL_ERROR (-1) in OdbcStatement::execute_batch

    sqlstate=42000, level=16, state=1, native_error=9775, msg=[Microsoft][SQL Native Client][SQL Server]Cannot create a new Service Broker in read-only database "msdb".

    sqlstate=42000, level=16, state=1, native_error=5069, msg=[Microsoft][SQL Native Client][SQL Server]ALTER DATABASE statement failed.

    Error Code: 0x8007262f (9775)

    Windows Error Text: Source File Name: lib\odbc_statement.h

    Compiler Timestamp: Wed Jun 14 16:28:15 2006

    Function Name: OdbcStatement::execute_batch@CnfgSQL@100

    Source Line Number: 91

    ---- Context -----------------------------------------------

    Connecting to SQL Server

    ExecuteSqlCommands

    USE [master ]

    declare @ServerName nvarchar(255) if not exists (select * from sysservers) begin select @ServerName = Convert(nvarchar(255), SERVERPROPERTY(N'ServerName')) execute sys.sp_addserver @ServerName, local end

    ALTER DATABASE model SET RECOVERY SIMPLE

    EXEC sp_configure N'show advanced options', 1 RECONFIGURE WITH OVERRIDE

    DECLARE @Name AS nvarchar(128), @LangID AS smallint SELECT @Name=name, @LangID=langid FROM syslanguages WHERE lcid=1033 EXEC sp_defaultlanguage N'sa', @Name EXEC sp_configure N'default language', @LangID EXEC sp_configure N'default full-text language', 1033 RECONFIGURE WITH OVERRIDE

    EXEC sp_configure N'show advanced options', 0 RECONFIGURE WITH OVERRIDE

    EXEC sys.sp_grantlogin N'BUILTIN\Administrators' EXEC sys.sp_addsrvrolemember N'BUILTIN\Administrators', N'sysadmin'

    EXEC sys.sp_grantlogin N'NT AUTHORITY\SYSTEM' EXEC sys.sp_addsrvrolemember N'NT AUTHORITY\SYSTEM', N'sysadmin'

    EXEC sys.sp_grantlogin N'KESHAR\SQLServer2005MSSQLUser$KESHAR$SILFW' EXEC sys.sp_addsrvrolemember N'KESHAR\SQLServer2005MSSQLUser$KESHAR$SILFW', N'sysadmin'

    EXEC sys.sp_grantlogin N'BUILTIN\Users'

    ALTER DATABASE tempdb SET NEW_BROKER ALTER DATABASE msdb SET NEW_BROKER

    Originial error was 8007262f (9775)

    ------------------

    This is actually a later error. Earlier in the log is this:

    ---------

    MSI (s) (E4!20) [22:46:25:531]: PROPERTY CHANGE: Adding PrevRegRootPath property. Its value is 'Software\Microsoft\Microsoft SQL Server\MSSQL.1'.

    Using PrevRegRootPath: Software\Microsoft\Microsoft SQL Server\MSSQL.1

    RegOpenKeyEx failed on Key(Software\Microsoft\Microsoft SQL Server\SILFW\MSSQLServer\Parameters) with returncode 2

    RegOpenKeyEx failed on Key(Software\Microsoft\Microsoft SQL Server\SILFW\MSSQLServer\Parameters) with returncode 2

    RegOpenKeyEx failed on Key(Software\Microsoft\Microsoft SQL Server\SILFW\MSSQLServer\Parameters) with returncode 2

    ---------

    I'm not sure, but error 2 apparently is a failure to open a connection. This is probably because the key couldn't be opened. We asked the user to look at this key via regedit, but the user said it isn't there. It isnt' on my machine, either.

    We asked the user to try a manual install. He said he got a little further, but then got a new error that is even more mystifying: "sql server setup failed to execute a command for server configuration. the error was [Microsoft][SQL Native Client][SQL Server] Could not continue scan with NOLOCK due to data movement. Refer to server error logs, etc." This error comes when READUNCOMMITTED is used. I have not been able to figure out why Microsoft would use this during installation.



    Steve Miller

  • Oh, and here is the bottom of the summary, which you asked for:

    --------------------------------------------------------------------------------

    Machine : KESHAR

    Product : SQL Server Database Services

    Error : SQL Server Setup failed to execute a command for server configuration. The error was [Microsoft][SQL Native Client][SQL Server]Cannot create a new Service Broker in read-only database "msdb".. Refer to the server error logs and Setup logs for detailed error information.

    --------------------------------------------------------------------------------

    Machine : KESHAR

    Product : Microsoft SQL Server 2005 Express Edition

    Product Version : 9.2.3042.00

    Install : Failed

    Log File : C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Files\SQLSetup0002_KESHAR_SQL.log

    Last Action : InstallFinalize

    Error String : SQL Server Setup failed to execute a command for server configuration. The error was {Microsoft}{SQL Native Client}{SQL Server}Cannot create a new Service Broker in read-only database "msdb".. Refer to the server error logs and Setup logs for detailed error information.

    Error Number : 29521

    --------------------------------------------------------------------------------



    Steve Miller

  • We finally traced the error to a memory problem. The tech reseated the memory chip and all is well.

    Steve



    Steve Miller

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply