0

我有一个简单的创建表脚本,如下:

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]

有没有办法在创建表脚本中为特定数据库角色设置删除、插入、选择和更新权限?

4

3 回答 3

1

完全可以将权限放在同一个脚本中,即使是在同一个批次中,但不可能放在同一个语句中。CREATE TABLE应该正常发出,然后/GRANTDENY设置权限。例如,它可以是这样的:

CREATE TABLE dbo.test (Id INT NOT NULL PRIMARY KEY) ;
GRANT SELECT ON dbo.test TO SomeUser ;
GO
于 2013-07-19T00:03:57.547 回答
0
GRANT SELECT, INSERT, UPDATE, DELETE ON CAS_WORKED
TO USERGROUP1, USERGROUP2;
于 2013-07-18T23:42:58.947 回答
0

您可以创建一个新的数据库角色,然后通过以下方式分配权限:

例如,我有一个名为“Custom_Admin”的角色

将 CAS_WORKED 上的 SELECT、UPDATE、INSERT、DELETE 授予 CustomAdmin

或(更标准,你应该有全用户)

将 CAS_WORKED 上的 SELECT、UPDATE、INSERT、DELETE 授予 FULLUSER

希望这可以帮助。

于 2013-07-18T23:44:37.853 回答