我有一个简单的创建表脚本,如下所示:
CREATE TABLE [dbo].[CAS_WORKED](
[recordid] [int] IDENTITY(1,1) NOT NULL,
[Region] [varchar](20) COLLATE Latin1_General_CI_AS NULL,
[OpsLevel1] [varchar](20) COLLATE Latin1_General_CI_AS NULL,
[OpsLevel2] [varchar](20) COLLATE Latin1_General_CI_AS NULL,
[CostCentre] [varchar](4) COLLATE Latin1_General_CI_AS NULL
CONSTRAINT [PK_CAS_WORKED] PRIMARY KEY CLUSTERED
(
[recordid] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
有没有办法在create table脚本中为特定数据库角色设置删除,插入,选择和更新权限?
答案 0 :(得分:1)
完全可以将权限放在同一个脚本中,即使是在同一个批处理中,但在同一个语句中也是如此。 CREATE TABLE
应该正常发布,然后GRANT
/ DENY
来设置权限。例如,它可能是这样的:
CREATE TABLE dbo.test (Id INT NOT NULL PRIMARY KEY) ;
GRANT SELECT ON dbo.test TO SomeUser ;
GO
答案 1 :(得分:0)
GRANT SELECT, INSERT, UPDATE, DELETE ON CAS_WORKED
TO USERGROUP1, USERGROUP2;
答案 2 :(得分:0)
您可以创建新的数据库角色,然后通过以下方式分配权限:
例如,我有一个名为“Custom_Admin”的角色
GRANT SELECT,UPDATE,INSERT,DELETE ON CAS_WORKED TO CustomAdmin
或(更标准,你应该有fulluser)
GRANT SELECT,UPDATE,INSERT,DELETE ON CAS_WORKED to FULLUSER
希望这有帮助。