Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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 应该为我的live asp.net sql server授予哪些权限?_Sql Server_Rights - Fatal编程技术网

Sql server 应该为我的live asp.net sql server授予哪些权限?

Sql server 应该为我的live asp.net sql server授予哪些权限?,sql-server,rights,Sql Server,Rights,考虑到以下条件,我想知道应该为asp.net网站的sql server用户授予哪些权限 Sql server用户 应该能够做到 从表格中读出 插入到表中 更新行 执行sp,udf 不应该能够 删除任何表 从表中删除所有记录 删除任何存储过程、udf或任何其他过程 创建新表 创建新sp、udf、触发器、索引等 更改任何表格 更改表中的任何列 更改任何sp、udf、触发器、索引等 还有其他危险的东西吗 创建一个用户,然后使用sql用户应用以下脚本替换用户名。这将生成您需要的所有脚本 --S

考虑到以下条件,我想知道应该为asp.net网站的sql server用户授予哪些权限

Sql server用户

应该能够做到

  • 从表格中读出
  • 插入到表中
  • 更新行
  • 执行sp,udf
不应该能够

  • 删除任何表
  • 从表中删除所有记录
  • 删除任何存储过程、udf或任何其他过程
  • 创建新表
  • 创建新sp、udf、触发器、索引等
  • 更改任何表格
  • 更改表中的任何列
  • 更改任何sp、udf、触发器、索引等
  • 还有其他危险的东西吗

创建一个用户,然后使用sql用户应用以下脚本替换用户名。这将生成您需要的所有脚本

  --STORED PROCS
    select  'GRANT EXECUTE ON [' + sys.schemas.name + '].[' + sys.objects.name +'] TO USERNAME' as SQL from sys.objects
    INNER JOIN sys.schemas ON sys.schemas.schema_id = sys.objects.schema_id
    where type = 'P' 

--TABLES
select  'GRANT SELECT ON [' + sys.schemas.name + '].[' + sys.objects.name +'] TO USERNAME' as SQL from sys.objects
INNER JOIN sys.schemas ON sys.schemas.schema_id = sys.objects.schema_id
where   type = 'U'

--TABLES
select  'GRANT INSERT ON [' + sys.schemas.name + '].[' + sys.objects.name +'] TO USERNAME' as SQL from sys.objects
INNER JOIN sys.schemas ON sys.schemas.schema_id = sys.objects.schema_id
where   type = 'U'


--TABLES
select  'GRANT UPDATE ON [' + sys.schemas.name + '].[' + sys.objects.name +'] TO USERNAME' as SQL from sys.objects
INNER JOIN sys.schemas ON sys.schemas.schema_id = sys.objects.schema_id
where   type = 'U'


--FUNCTIONS
select  'GRANT EXECUTE ON [' + sys.schemas.name + '].[' + sys.objects.name +'] TO USERNAME' as SQL from sys.objects
INNER JOIN sys.schemas ON sys.schemas.schema_id = sys.objects.schema_id
where  type = 'FN'


 --VIEWS
  select 'GRANT SELECT ON [' + sys.schemas.name + '].[' + sys.objects.name +'] TO dardsfp' as SQL from sys.objects
INNER JOIN sys.schemas ON sys.schemas.schema_id = sys.objects.schema_id
where  type ='V'

您的列表已经定义了要授予的权限,因此您是否查看了有关SQL Server中权限的文档(尤其是GRANT命令),以及到目前为止您尝试了什么?