Visual Studio 2022无法发布Azure SQL数据库项目

ssgvzors  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(99)

我用VS2022为Azure SQL DB创建了一个DB项目,一切都在我自己的凭据下完美地工作。我还创建了一个登录名(jdoe),在该登录名下的一个用户(jdoe),并将db_owner角色赋予了jdoe。
当使用jdoe登录名和密码发布甚至创建SQL文件时,它会抛出以下错误:
无法连接到myserver.database.windows.net mydatabase:服务器主体“jdoe”在当前安全上下文下不能访问数据库“master”。
有趣的部分是“测试连接”的发布向导工作正常,并给予确定,但当发布它抛出上述错误。
我错过了什么?db_owner权限应该足以发布到此用户数据库,因此给予对master db的访问权限是没有意义的。

yduiuuwa

yduiuuwa1#

请在Master数据库上运行以下查询,以获取与该登录关联的SID号。

SELECT [name], [sid]
FROM [sys].[sql_logins]
WHERE [type_desc] = 'jdoe'

然后,在Azure SQL用户数据库上运行以下查询,并收集用户在用户数据库上的SID?

SELECT [name], [sid]
FROM [sys].[database_principals]
WHERE [type_desc] = SQL_USER'

使用在master数据库上具有匹配SID的用户名。具有匹配SID的数据库用户的登录名具有作为该数据库用户主体访问该数据库的用户权限。
尝试在Master和user数据库上为jdoe设置以下权限,然后再次尝试发布。

exec sp_addRoleMember 'db_owner', 'jdoe';

相关问题