2010-11-18 3 views
0

У меня есть веб-приложение с двумя базами данных; один для разработчика, другой для производства. У меня есть служба Windows, которая соединяется с db и загружает данные. На основании того, какой db я хочу настроить, я прокомментирую одну из строк подключения в app.config моего сервиса.Как устранить проблему с разрешениями db?

Все нормально работает на моем локальном компьютере-разработчике, конечно. Я могу переключаться между dbs с помощью app.config, и данные загружаются в соответствующий db. Это красиво. Действительно, это так!

Я установил веб-приложение на двух новых виртуальных серверах. Веб-приложение работает отлично и подключается к тем же самым dbs.

Я установил службу Windows, используя тот же самый app.config, что и мой локальный блок. Я запускаю службу Windows как один и тот же пользователь (моя учетная запись Windows). Однако служба работает только с dev db, а не с db. Позвольте мне повторить, тот же файл конфигурации, но служба может просто подключиться к dev db.

Когда я переключаюсь на использование prod db в app.config и перезапускаю службу, в журнал событий приложения регистрируется следующее исключение.

The underlying provider failed on Open. 
    System.Data.SqlClient.SqlException (0x80131904): 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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 
     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 System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) 

Я уверен, что это связано с разрешениями, но у меня кончились идеи для беспокойства. Какие-либо предложения? Как я могу определить, какие permimssions необходимы, чтобы сервис работал с производством db?

РЕДАКТИРОВАТЬ # 1 - прямо из app.config, db производства - «Источник данных = ABCD-SQL \ prod;» Может возникнуть проблема с именем?

Редактировать # 2 - Проверено, из нескольких источников, правильность соглашения с сервером \ экземпляром.

ответ

0

Вы проверили, запущена ли служба SQL Server? У меня была одна и та же проблема один раз, и, перезапустив службу, она устранила проблему.

Смежные вопросы