Ошибка «Невозможно открыть базу данных пользователя по умолчанию» с «User Instance = True» - PullRequest
1 голос
/ 20 апреля 2010

У меня есть настольное приложение, которое использует пользовательский экземпляр Sql. Это моя строка подключения:

"Data Source=.\SqlExpress;
AttachDbFilename=C:\path\file.mdf;
Integrated Security=True;
User Instance=True;
Connect Timeout=100;"

Мое приложение создает эту БД, загружает в нее загрузку данных из веб-службы и затем выполняет с ней множество действий.

Проблема возникает, когда я пытаюсь повторно открыть соединение. Я получаю SqlException:

"Невозможно открыть базу данных пользователя по умолчанию. Ошибка входа.
Ошибка входа для пользователя 'myDomain \ myusername'. "

Эта ошибка не имеет смысла в этом контексте - у меня нет базы данных по умолчанию. Я вхожу в экземпляр, созданный только для текущего приложения, работающий отдельно от SqlExpress.

Нет другого способа подключиться к этой БД. Если я запускаю службу SqlExpress и подключаюсь к экземпляру по умолчанию, он не будет виден. Он существует только для этого приложения.

Файл на диске заблокирован службой экземпляра SqlExpress, работающей под приложением. если я остановлю приложение и перезапущу его, соединение будет работать в первый раз, но при повторном открытии произойдет сбой. Если я просто остановлю приложение, я смогу удалить файлы .mdf и начать заново, но оно все равно будет зависать при повторном открытии соединения.

Когда мое приложение запустило экземпляр, работающий под моим именем, мой текущий пользователь должен иметь доступ ко всем БД в экземпляре.

Этого не происходит с другими пользователями того же кода, что говорит о том, что это проблема конфигурации SQL.

Кто-нибудь знает, что это вызывает и как обойти это?

1 Ответ

0 голосов
/ 22 декабря 2011

Если это все еще проблема, посмотрите на пункты моего ответа здесь - в частности, ссылку на блог MSDN относительно пользовательских экземпляров:

"Невозможно открыть базу данных пользователя по умолчанию. Ошибка входа." после установки SQL Server Management Studio Express

...