Во-первых, в качестве фона это сообщение об ошибке является общим сообщением об ошибке подключения, детали которого скрыты от клиента по соображениям безопасности.Вам нужно заглянуть в журналы SQL, чтобы увидеть реальные ошибки.
readwrite
является пользователем автономной базы данных, поэтому многие вещи могут потерпеть неудачу.
Сообщение об ошибке входа в систему в журнале SQL будет выглядеть примерно так:
Ошибка входа пользователя 'readwrite'.Причина: не удалось найти логин, соответствующий указанному имени.[КЛИЕНТ: <named pipe>
]
, если аутентификация базы данных не настроена, или
Ошибка входа для пользователя «readwrite».Причина: не удалось открыть указанную базу данных.[КЛИЕНТ: <local machine>
]
, если имя базы данных неверно, или у пользователя нет разрешения ПОДКЛЮЧИТЬ, или
Не удалось выполнить вход для пользователя «readwrite».Причина: пароль не соответствует предоставленному пользователю.[База данных: 'База данных1'] [КЛИЕНТ: <local machine>
]
, если пароль неверный.
В итоге, все следующее должно быть верно для успешного подключения:
1) В экземпляре должна быть включена аутентификация базы данных, с
exec sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
2) Для базы данных должно быть установлено значение partial
.
alter database Database1 set containment = partial
3) Пользователь должен иметь разрешение CONNECT (которое уже есть у db_owner).
grant connect to readwrite