`
ocre
  • 浏览: 57517 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Sqlserver 给予用户TRUNCATE权限

    博客分类:
  • sql
阅读更多

       在SqlServer中,没有单独的TRUNCATE权限。如果需要执行TRUNCATE操作,至少需要ALTER权限,运维同事基于安全因素考虑一般不愿意给开ALTER权限。这里有一种折中方法:首先由dbo建立一个存储过程

CREATE PROCEDURE [dbo].[sp_TruncateTable]
	@TableName varchar(50)
WITH EXECUTE AS SELF
AS
BEGIN
	SET NOCOUNT ON;

	DECLARE @TruncateSql nvarchar(2000)
	SET @TruncateSql = 'TRUNCATE TABLE ' + @TableName
    EXEC (@TruncateSql)

END

 

,然后赋予你自己的数据库用户(假设为myUser)以EXEC权限:

GRANT EXECUTE ON [dbo].[sp_TruncateTable] TO [myUser]

 OK, done.

  

参考博友文章:http://www.cnblogs.com/windinsky/archive/2009/04/23/1441860.html

分享到:
评论

相关推荐

    Oracle_授权审计表Truncate权限.docx

    Truncate 权限是指对审计表的 truncate 操作的权限,这个权限可以让用户删除审计表中的所有记录,从而清空审计表。Truncate 权限是非常危险的,因为它可以让攻击者删除所有的审计记录,掩盖自己的踪迹。 在 Oracle ...

    Oracle_审计表_sys.aud$_授权给用户Truncate权限.docx

    本文档将详细介绍如何为特定用户授予截断`SYS.AUD$`表的权限,并提供一系列与之相关的Oracle数据库管理和优化操作。 #### 关键知识点 ##### 1. 授予用户截断审计表的权限 为了确保只有授权的用户能够截断审计表`...

    SQL Server中TRUNCATE事务回滚操作方法

    在SQL Server中,`TRUNCATE`命令常用于快速删除表中的所有数据,其效率远高于`DELETE`语句,因为`TRUNCATE`不涉及行级别的删除,而是直接释放数据页,从而节省了大量的日志空间。然而,通常我们认为`TRUNCATE`操作是...

    sql server开发教程,让你快速学会sql server

    SQL Server提供角色、权限和认证机制来控制用户对数据库的访问。通过设置登录账户、数据库用户、角色和权限,可以精细管理数据库的访问控制。 九、高可用性与灾难恢复 SQL Server提供多种高可用性解决方案,如镜像...

    sql server学习资料

    本学习资料重点聚焦于SQL Server的学习,旨在帮助用户在短时间内快速提升SQL Server相关的知识和技能。 "数据库应用技术---SQL Server 2005篇(第2版)---电子教案"是这份压缩包中的核心资源,通常包含了课程大纲、...

    快速清除SQLServer日志的两种方法

    快速清除SQLServer日志的两种方法 本文将详细介绍快速清除SQLServer日志的两种方法,包括清空日志和删除LOG文件,并且对每种方法进行了详细的解释和操作步骤。 清空日志 清空日志是快速清除SQLServer日志的第一种...

    SQL Server 2000 入门与提高课件

    SQL Server 2000提供了用户、登录名、角色等安全管理机制。GRANT、DENY和REVOKE语句用于控制用户对数据库对象的访问权限。 七、性能优化 1. 查询优化:通过索引优化、查询改写、执行计划分析等手段提高查询效率。 2...

    删除sql server日志

    根据提供的文件信息,本文将详细解释SQL Server日志删除及管理的相关知识点,包括但不限于日志文件的删除、收缩以及自动收缩设置等。 ### SQL Server 日志管理基础 在SQL Server中,事务日志(Transaction Log)是...

    SQLServer高频面试题及答案

    SQL Server高频面试题及答案 数据库基础知识篇 1. 主键、外键、超键、候选键 超键是关系模式中能唯一标识元组的属性集。候选键是最小超键,即没有冗余元素的超键。主键是数据库表中对储存数据对象予以唯一和完整...

    批处理(bat)实现SQLServer数据库备份与还原

    ### 批处理(BAT)实现SQL Server数据库备份与还原 #### 一、概述 在日常的数据库维护工作中,定期对数据库进行备份是非常重要的一个环节,它能够帮助我们防止因硬件故障、软件错误或其他不可预见的情况导致的数据...

    使用 SQL Server设计与实施数据库

    1. 用户与登录:创建SQL Server登录和数据库用户,控制访问权限。 2. 角色管理:使用固定服务器角色和固定数据库角色简化权限管理。 3. 权限分配:GRANT、DENY和REVOKE语句用于授予、拒绝和撤销权限。 4. 审计与安全...

    sqlserver基本操作

    除了这些基本操作,SQL Server还提供了许多其他高级特性,如视图、存储过程、触发器、索引、权限管理等。视图允许创建虚拟表,基于已有表的数据进行定制;存储过程是预编译的SQL语句集合,可以提高性能并简化复杂的...

    《SQL Server 2000实用教程(高职-李伟红)》

    在数据库安全性方面,SQL Server 2000提供了用户身份验证、权限管理、角色和登录账户等功能。通过GRANT、DENY和REVOKE命令,管理员可以控制用户对数据库资源的访问权限。此外,还有视图和存储过程,它们可以帮助提高...

    SQLServer事务日志压缩与删除的方法

    ### SQL Server 事务日志压缩与删除的方法 在SQL Server中,事务日志记录着所有对数据库所做的更改操作,这对于数据库的恢复至关重要。然而,随着数据量的增长,事务日志文件也会不断增大,这不仅会占用大量的磁盘...

    Microsoft SQL Server 保留关键字

    ### Microsoft SQL Server 保留关键字详解 #### 概述 Microsoft SQL Server 是一款广泛使用的数据库管理系统,在数据管理和存储方面发挥着重要作用。SQL Server 支持 Transact-SQL(T-SQL),这是一种用于管理 SQL...

    最有价值的SQL Server2000 chm

    10. **安全性**:SQL Server 2000的安全模型包括用户、角色、权限和策略,通过设置这些元素可以确保只有授权用户能访问特定数据。 这个“最有价值的SQL Server 2000 chm”文件很可能是SQL Server 2000的官方帮助...

    sql之truncate_、delete与drop区别.pdf

    ### SQL之TRUNCATE、DELETE与DROP的区别 #### 概述 在SQL中,`TRUNCATE`、`DELETE`和`DROP`都是用于管理数据库表的重要命令,但它们之间存在显著的区别。本文将深入探讨这三种命令的功能、用法及其应用场景。 ####...

    Log Explore For Sqlserver 4.2(附注册码)

    本文将详细介绍一款名为"Log Explore for SQL Server 4.2"的专业工具,它专门用于处理SQL Server数据库的日志,帮助用户恢复意外删除的数据。 Log Explore是一款高效且功能强大的SQL Server日志分析和恢复软件。它...

Global site tag (gtag.js) - Google Analytics