Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQL Server中一次性授予对多个架构的访问权限_Sql_Sql Server_Database - Fatal编程技术网

如何在SQL Server中一次性授予对多个架构的访问权限

如何在SQL Server中一次性授予对多个架构的访问权限,sql,sql-server,database,Sql,Sql Server,Database,当谈到SQL Server中的数据库管理时,我是个新手 下面是我创建登录、用户和授予权限的SQL代码 USE TestDb GO CREATE LOGIN [TestLogin] WITH PASSWORD = N'123', DEFAULT_DATABASE = [TestDb], CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF GO CREATE USER SqlUser FOR LOGIN [TestLogin]

当谈到SQL Server中的数据库管理时,我是个新手

下面是我创建登录、用户和授予权限的SQL代码

USE TestDb
GO

CREATE LOGIN [TestLogin] 
       WITH PASSWORD = N'123', DEFAULT_DATABASE = [TestDb], 
       CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF
GO

CREATE USER SqlUser FOR LOGIN [TestLogin]

GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: dbo  to SqlUser
这运行正常&创建用户/登录名。他可以访问dbo模式

但是我需要在模式选项中指定多个模式

所以我试着:

GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: [dbo,app]  to SqlUser
但我有一个错误:

找不到架构“dbo”;应用程序',因为它不存在或您没有权限

如何在上述SQL模式中指定多个模式以授予用户访问权限


谢谢

您必须运行多个语句:

GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::dbo TO SqlUser
GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::app TO SqlUser
如果这是您经常做的事情,或者有几个用户需要这些权限,您最好创建一个角色,然后将用户添加到该角色中。这将使您能够在一条语句中完成,而使用ALTERROLE


您必须运行多个语句:

GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::dbo TO SqlUser
GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::app TO SqlUser
如果这是您经常做的事情,或者有几个用户需要这些权限,您最好创建一个角色,然后将用户添加到该角色中。这将使您能够在一条语句中完成,而使用ALTERROLE


非常简单:你不能-你必须在下一个模式之前完成这个模式-你不能同时授予多个模式的权限非常简单:你不能-你必须在下一个模式之前完成这个模式-你不能同时授予多个模式的权限非常感谢@Larnu也很欣赏,是否可以为一个登录分配多个用户。因为在执行此操作时,错误登录名已经在不同用户名下拥有一个帐户,@Kgn web,用户和登录名之间存在一对一的关系。但如果您使用的是广告,则可以为广告组创建用户/登录名,而不是单个广告用户。但这是一个完全不同的问题。当包装上述查询时,在sp中抛出错误What error,@Kgn web。我得到了该站点的SSL证书错误,所以我不会对其进行审查。这段代码本身是有效的,这意味着一个实现错误。非常感谢@Larnu也很欣赏,是否可以为一个登录分配多个用户。因为在执行此操作时,错误登录名已经在不同用户名下拥有一个帐户,@Kgn web,用户和登录名之间存在一对一的关系。但如果您使用的是广告,则可以为广告组创建用户/登录名,而不是单个广告用户。但这是一个完全不同的问题。当包装上述查询时,在sp中抛出错误What error,@Kgn web。我得到了该站点的SSL证书错误,所以我不会对其进行审查。该代码本身就可以工作,这表明存在实现错误。