sql-server - SET IDENTITY_INSERT 不适用于特定帐户
问题描述
我有一个 Admin_Acct,它是我授予 User_Acct 对表 SrcTable_Arc 的写入权限的 DB_Owner。我有这个查询:
SET IDENTITY_INSERT SrcTable_Arc ON
INSERT INTO SrcTable_Arc (
TxnDate
,TxnName
,ServerName
,ReplyReceived
,HistoryId)
SELECT
TxnDate
,TxnName
,ServerName
,ReplyReceived
,HistoryId
FROM SrcTable
WHERE TxnDate = '2019-11-08 10:06:09.888'
ORDER BY TxnDate Desc
SET IDENTITY_INSERT SrcTable_Arc OFF
当我使用 Admin_Acct 时,此查询有效。但是,当我尝试使用 user_Acct 运行此查询时,会出现错误:
消息 1088,级别 16,状态 11,第 3 行
找不到对象“SrcTable_Arc”,因为它不存在或您没有权限。
我已经检查了该帐户对该表的权限,并且它已经具有权限。
无论如何,当我使用 User_Admin acct 对该表进行简单的更新、插入和删除时,它就可以工作。
有什么建议吗?
解决方案
您可以尝试在插入命令之前打开 identity_insert 吗?
SET IDENTITY_INSERT SrcTable_Arc ON
SET IDENTITY_INSERT SrcTable_Arc ON
INSERT INTO SrcTable_Arc (
TxnDate
,TxnName
,ServerName
,ReplyReceived
,HistoryId)
SELECT
TxnDate
,TxnName
,ServerName
,ReplyReceived
,HistoryId
FROM SrcTable
WHERE TxnDate = '2019-11-08 10:06:09.888'
ORDER BY TxnDate Desc
SET IDENTITY_INSERT SrcTable_Arc OFF
推荐阅读
- azure-machine-learning-studio - Azure 机器学习工作室 SelectColumnsTransform - 如何修补或设置 Web 服务输入参数?
- sql - POSTGRESQL 仅选择具有至少一个重复电话号码的重复帐户
- spring-mvc - 无法在应用程序路径 Spring mvc (java.io.FileNotFoundException) 中存储图像
- css - IE11中另一个背景图像上的线性渐变背景图像
- c# - 为什么声明不会给出 CS0201 编译器错误?
- rest - 离子浏览器应用程序中的 CORS 标头问题
- c++ - 其他项目调用的 boost::mutex 导致访问冲突
- azure - Azure 虚拟机映像在部署时禁用自动登录
- winforms - 如何跟踪复选框的状态变化?
- python - 如何在 LIKE '%input%' 子句中防止 SQL 注入?