如何在SQL Server中一次性授予对多个架构的访问权限
当谈到SQL Server中的数据库管理时,我是个新手 下面是我创建登录、用户和授予权限的SQL代码如何在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]
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证书错误,所以我不会对其进行审查。该代码本身就可以工作,这表明存在实现错误。