SET IDENTITY_INSERT ON/OFF 权限
今天突然遇到了,找不到对象“XXXX”,因为它不存在或者没有您所需的权限,于是检查程序,突然发现程序中有一段代码是:
SET IDENTITY_INSERT eticket ON //执行业务 ...... //执行完毕 SET IDENTITY_INSERT eticket Off
程序中怎么会有这样的语句,经过分析原来是表A中的主键是自增长的,在程序中插入的时候把主键也设置了,于是需要把自增长的先关掉,等相关业务执行完成之后再打开。
在执行上面的语句的时候就发现执行不成功,会报没有权限的异常,经过折腾发现用来执行SET IDENTITY_INSERT的用户没有A表的ALERT权限,于是:
GRANT ALERT ON A TO 用户
然后就可以顺利执行了