Service Manager 2012 SP1 SMCMDB Subscription Data Source Module errors

This was a brand new installation of SCSM 2012 SP1 on a Windows 2008 R2 SP1 server. After finishing the install and before configuring anything else I looked at the even log and saw a lot of warnings and errors. All in the Operations Manger event log.

This was quite common

Eventid 33610

Source: SMCMDB Subscription Data Source Module.

The database subscription query is longer than expected. Check the database or simplify the database subscription criteria.

The following errors were encountered:

Exception message: Subscription query is taking long.

Subscription id: 0915b911-5657-a1f3-9b75-7038486ca85f

Time spent in new state: 00:00:10.0159455

Time spent in querying state: 00:00:10.0159455

One or more subscriptions were affected by this.

Subscription name: ServiceManager.ActivityManagement.ActivitySkippedRule

Instance name: 活动工作流目标

Instance ID: {2ED5ABBB-C0B8-7622-DAB6-7D792C212F54}

Also getting warning event 33611

Source – SMCMDB Subscription Data Source Module

The database subscription notification acknowledgement is taking longer than expected.

The following errors were encountered:

Exception message: Subscription acknowledgement is taking long.

Subscription id: 482551f9-ba19-051a-0001-6ec22e8f6f3e

Time spent in new state: 00:00:10.0003840

Time spent in querying state: 00:00:09.1878528

Time spent waiting for acknowledgement: 00:00:00.8125312

One or more subscriptions were affected by this.

Subscription name: ServiceManager.ReleaseManagement.ActivityStatusChangedRule

Instance name: 版本记录工作流目标

Instance ID: {1DBC28E4-0734-4CD0-8429-B53C7B0E6B82}

Warning 33333

Source – DataAccessLayer

Data Access Layer rejected retry on SqlError:

Request: SqlConnection.Open

Class: 20

Number: 5

Message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)

Error 33651

Source – SM Implicit UserRole Admin

Implicit user role administrator is unable to configure the implied user role because of database errors.

The following errors were encountered:

Exception message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)

Implicit user role administrator name: Microsoft.EnterpriseManagement.SystemCenter.ImplicitUserRoleAdministrator

Instance name: 订阅工作流目标

Instance ID: {3FDD292D-04CF-E893-9AE2-76740BA4E017}

Error 33602

Source – SMCMDB Subscription Data Source Module

The database subscription is unable to find instances that match its criteria because of database errors.

The following errors were encountered:

Exception message: Error occured in the subscription runtime. Cannot send notifications.

Subscription id: 6f9b1c01-d925-00c9-9444-bcc8f32a0547

Exception: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)

One or more subscriptions were affected by this.

Subscription name: ServiceManager.ActivityManagement.ActivityAddedRule

Instance name: 活动工作流目标

Instance ID: {2ED5ABBB-C0B8-7622-DAB6-7D792C212F54}

Event 2800

Source – OpsMgr Root Connector

The Root connector received an exception from the SDK Service while submitting task status:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)

Event 26308 Error

Source – DataAccessLayer

Query notification processing failed due to a sql exception.

System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)

at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)

at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)

at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)

at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)

at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)

at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)

at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)

at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)

at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)

at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)

at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)

at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)

at System.Data.SqlClient.SqlConnection.Open()

at Microsoft.EnterpriseManagement.DataAccessLayer.SqlConnectionHandler.Open(SqlConnection sqlConnection, RetryPolicy retryPolicy, DatabaseConnection databaseConnection)

at Microsoft.EnterpriseManagement.DataAccessLayer.DatabaseConnection.Open()

at Microsoft.EnterpriseManagement.DataAccessLayer.QueryNotificationManager.HandleNotifications(Object state)

Event 29205 Warning

Source  – OpsMgr Config Service

OpsMgr Config Service failed to apply incremental update to the in-memory state and will make an attempt to generate state using snapshot.

Reason:

System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)

at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)

at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)

at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)

at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)

at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)

at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)

at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)

at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)

at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)

at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)

at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)

at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)

at System.Data.SqlClient.SqlConnection.Open()

at Microsoft.EnterpriseManagement.DataAccessLayer.SqlConnectionHandler.Open(SqlConnection sqlConnection, RetryPolicy retryPolicy, DatabaseConnection databaseConnection)

at Microsoft.EnterpriseManagement.DataAccessLayer.DatabaseConnection.Open()

at Microsoft.EnterpriseManagement.DataAccessLayer.QueryRequest.Execute(SqlNotificationRequest sqlNotificationRequest)

at Microsoft.Mom.ConfigService.SvcMgrDataAccess.ConfigurationChangeSetProvider.GetConfigurationDelta(IQueryEngine queryEngine, DateTime timeStamp)

at Microsoft.Mom.ConfigService.DataAccess.DatabaseAccessor.NotifyOnChanges()

at Microsoft.Mom.ConfigService.DataAccess.DatabaseAccessor.DoNotification(Boolean isInitial, Boolean isIncremental)

at Microsoft.Mom.ConfigService.DataAccess.DatabaseAccessor.PollingThreadMethod()

Also event 3324 error

Source – Lfx Service

Just contained the name of the management group and nothing else!

Initially due to the Chinese/Japanese characters in some of the events I wondered if it might be a SQL Collation problem. After some search I found that the intial warnings (which were the main ones) could be

  • A bug in SQL when running the database on a very large server which the poster had solved by changing the degree of parallelism. Not here as there were only 2 cores.
  • The SCOM agent but that had not been configured yet
  • Badly written XML but this was a new install and no additions made
  • And some said unless the UI was slow to just ignore them!

As a number of the events mentioned SQL Named Pipes I decided to look on the SQL Server.

While Named Pipes were enabled in most of the sections in SQL Server Configuration Manager it was not enabled in SQL Server Network Configuration, Protocols for MSSQLSERVER.

SQL Configuration

Once Named Pipes was enable the events stopped and have not come back.

Advertisements

Comments are closed.

%d bloggers like this: