小编Ade*_*irP的帖子

SQL Server 2019 - 服务器主体“sa”无法在当前安全上下文下访问数据库“DB_NAME”

我编写了以下存储过程:

CREATE PROCEDURE dbo.usp_DEMO 
    @LOGINSQL VARCHAR(30), 
    @DBNAME VARCHAR(40) 
WITH EXECUTE AS owner
AS 
    DECLARE @SQL NVARCHAR(1000) 
    SET @SQL = 'USE' 
    SET @SQL = @SQL + ' ' + @DBNAME + ' ' + ' CREATE USER ' + ' ' 
               + @LOGINSQL + ' ' + ' FOR LOGIN ' + ' ' + @LOGINSQL + ' ' 
               + ' ALTER ROLE [DB_OWNER] ADD MEMBER ' + ' ' 
               + @LOGINSQL 
    EXEC sp_executesql @SQL
Run Code Online (Sandbox Code Playgroud)

像这样运行:

use master
go
exec usp_DEMO …
Run Code Online (Sandbox Code Playgroud)

sql-server database-security sql-server-2019

9
推荐指数
2
解决办法
1万
查看次数