пятница, 22 января 2010 г.

Проблемы при подключении к удаленному MS SQL 2008 через SQLMS

Я поставил MS SQL 2008 Express (у меня стоит Vista) и столкнулся с проблемой, что не могу посмотреть список баз данных под любой учеткой, хоть под windows authentication, хоть под sql authentication на удаленном сервере, если подключаюсь через Management Studio. Я всегда получаю сообщение The server principal “%.*ls” is not able to access the database “%.*ls” under the current security context. Но если подключаюсь через Visual Studio, то все нормально.

Проблема не в настройке удаленного сервера, а вашего локального. На XP по умолчанию SQL Server устанавливается и запускается от учетки Network Service, которую, как оказалось, Microsoft не рекомендует использовать для запуска SQL Server под Vista. При установке эта опция стоит по умолчанию по старинке – Network Service (не понятно зачем?). Я cтавил SQL Server с дефолтными настройками. В этом и заключается вся проблема.

Решение:
  • Если у вас стоит Vista или 7, то устанавливается MS SQL 2008 под учеткой LocalSystem или Build In Domain User. Если вы уже установили сервер, тогда в Sql Server Configuration Manager меняем учетку от которой будет запускаться SQL Server сервис на Local System
  • Если у вас стоит XP - NetworkService.
Для более детальной информации: Настройка служб, доступных в программе установки SQL Server, Install SQL Server 2008 from the Command Prompt