#sql-server
#sql-сервер
Вопрос:
У меня есть 2 базы данных, к которым я хочу подключить SQL Server Express.
Когда я пытаюсь выполнить это с другой учетной записью пользователя, я получаю сообщение об ошибке входа в систему.
Этот код устанавливает владельцем баз данных текущего пользователя
use [DatabaseName]
create user[DomainName\UserName] for login [DomainName\UserName]
exec sp_addroleMember 'db_owner','DomainName\UserName'
Это работает для первой базы данных, но для второй я получаю эту ошибку:
основной сервер не может получить доступ к базе данных
Как это можно сделать программно?
Комментарии:
1. я решил эту проблему. я активировал гостевого пользователя для своей базы данных. я использовал запрос, который я нашел в sql. этот запрос предоставляет все разрешения «Гостевому» пользователю моей базы данных.
Ответ №1:
Вам следует сменить владельца базы данных
exec sp_changedbowner 'yourlogin',NULL
и затем
ALTER DATABASE [Your_DB] SET TRUSTWORTHY ON
Ответ №2:
Я видел, что сообщение слишком старое. Но я хотел опубликовать свой ответ. На самом деле, я думаю, вы пытаетесь подключить базу данных к пользователю, у которого нет требуемого уровня разрешений для этой базы данных. Вам необходимо подключить базу данных к пользователю с более высоким уровнем разрешений
Ответ №3:
У меня была точно такая же проблема с SQL Server 2016.
По некоторым причинам у меня есть 2 экземпляра — FIYYYY CRM и FIYYYY SQLExpress
По умолчанию я подключался к FIYYYY CRM и не смог добавить туда базу данных (там появилась эта ошибка), но когда я подключаюсь к экземпляру FIYYYY SQLExpress, я могу добавить эту базу данных туда. Итак, в моем случае это решаемая проблема.
исправлено