SET IDENTITY_INSERT ON/OFF 权限

本文讨论了在SQL Server中遇到的一个常见问题:如何在执行业务操作前临时关闭表的自增长主键ID功能,并在操作完成后重新启用。通过分析问题原因和解决方案,介绍了在执行SETIDENTITY_INSERT语句时遇到权限限制的问题,以及通过授予ALERT权限成功执行的方法。

今天突然遇到了,找不到对象“XXXX”,因为它不存在或者没有您所需的权限,于是检查程序,突然发现程序中有一段代码是:

SET IDENTITY_INSERT eticket ON
//执行业务
......
//执行完毕
SET IDENTITY_INSERT eticket Off

程序中怎么会有这样的语句,经过分析原来是表A中的主键是自增长的,在程序中插入的时候把主键也设置了,于是需要把自增长的先关掉,等相关业务执行完成之后再打开。

在执行上面的语句的时候就发现执行不成功,会报没有权限的异常,经过折腾发现用来执行SET IDENTITY_INSERT的用户没有A表的ALERT权限,于是:

GRANT ALERT ON A TO 用户

然后就可以顺利执行了

转载于:https://www.cnblogs.com/andysd/p/3957461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值