在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_审计表_sys.aud$_授权给用户Truncate权限
Oracle_授权审计表Truncate权限
本文介绍在事务中回滚TRUNCATE操作的方法,并演示了操作的结果,是可以对TRUNCATE进行回滚操作的。
sql之truncate_、delete与drop区别.pdf sql之truncate_、delete与drop区别.pdf
主要介绍了sqlserver中drop、truncate和delete语句的用法,本文图文并茂,内容清晰,需要的朋友可以参考下
这个方法在MS SQL Server 2008 以及MS SQL Server 2008 R2中不再适用,会提示:TRUNCATE_ONLY is not a valid BACKUP option. 应当采取这样的操作方法: 代码如下:— 首先把数据库的恢复模式改为SimpleALTER DAT
下面介绍SQL中Truncate的用法 当你不再需要该表时, 用 drop;当你仍要保留该表,但要删除所有记录时, 用 truncate;当你要删除部分记录时(always with a WHERE clause), 用 delete. Truncate是一个能够快速清空...
8、在Sql Server运行在简单日志模式、完全日志模式或者大容量日志记录模式下数据被误(drop、delete、truncate)删除表恢复,updata后的数据恢复等。 9、Sql Serve文件无法附加情况下的数据恢复。 10、Sql Server...
执行Drop Table和Truncate Table命令虽然会被SQLServer记录到日志文件中,但是并不记录被删除的数据。你可以使用LogExplore提供的功能来恢复这些数据。LogExplore提供两种机制来恢复被Drop或者Truncate的数据。 1、...
sql中 truncate 和 delete 有什么区别
他可以支持SQLServer7.0和SQLServer2000,提取标准数据库的**志文件或者备份文件中的信息。 其中提供两个强大的工具:**志分析浏览,对象恢复。具体功能如下: l **志文件浏览 l 数据库变更审查 l 计划和授权变更...
Chapter 1, Microsoft SQL Server Database Design Principles, explains the database design process and the architecture and working of the SQL Server 2014 Storage Engine. This chapter covers the ...
《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...
《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...
–1 use master backup database logTest to disk=’D:\\Program Files\\Microsoft SQL Server\\MSSQL10.MSSQLSERVER\\MSSQL\\Backup\\logTest.bak’ with format –2 use logTest create table table_1(Id int, ...
本文介绍SQL Server中如何删除表,如何删除表中的数据。在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该...
主要介绍了Oracle给用户授权truncatetable的实现方案,非常不错,具有参考借鉴价值,需要的朋友可以参考下
Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: 代码如下:exec sp_msforeachtable @Command1 =’truncate table ?’ 删除所有数据表: 代码如下:exec sp_msforeachtable ‘delete N”?”’ 清空...
LogExplorer4.2_SqlServer数据库恢复工具 非常有用的工具,需要的拿去~ 使用Log Explorer查看和恢复数据 使用方法: 打开Log Explorer -> Attach Log File -> 选择SQL Server服务器和登陆方式 -> Connect -> 在...