我有2个数据库,我想附加它们SQL Server Express。
当我尝试使用其他用户帐户时,我收到登录失败错误。
此代码将数据库的所有者设置为当前用户
use [DatabaseName]
create user[DomainName\\UserName] for login [DomainName\\UserName]
exec sp_addroleMember 'db_owner','DomainName\\UserName'
这适用于第一个数据库,但对于第二个数据库,我收到此错误:
服务器主体无法访问数据库
如何以编程方式完成?
答案 0 :(得分:0)
您应该更改数据库所有者
exec sp_changedbowner 'yourlogin',NULL
然后
ALTER DATABASE [Your_DB] SET TRUSTWORTHY ON
答案 1 :(得分:0)
我看到帖子太旧了。但我想发表我的回答。实际上,我认为您要将数据库与没有该数据库所需权限级别的用户连接起来。您需要将数据库与具有较高权限级别的用户连接
答案 2 :(得分:0)
我在SQL Server 2016上遇到了同样的问题。
由于某些原因,我有2个实例 - FIYYYY \ CRM和FIYYYY \ SQLExpress
默认情况下,我连接到FIYYYY \ CRM,我无法在那里添加数据库(在那里得到了这个错误)但是当我连接到FIYYYY \ SQLExpress实例时,我能够在那里添加这个数据库。 所以在我的情况下,这已经解决了。
已修复