SET XACT_ABORT所需的权限

时间:2015-03-02 14:55:37

标签: sql-server-2008 vba set

我正在从Excel运行针对SQL 2008 R2的VBA proc。 SQL在一个事务中包含3个表(发票批次,标题和行)中的几个插入(因此,无法在存储过程中完成 - 我不这么认为)。

我最近遇到了一个问题,即由于连接丢失导致交易处于开放状态,并且导致了一些问题。

所以,我在打开连接后添加了SET XACT_ABORT ON。到目前为止,VBA一直在运行SQL信誉和权限太高。我们将切换到Windows身份验证和最低限度的所需权限。

我搜索了BOL,但无法找到运行SET XACT_ABORT ON所需权限的答案。如果这是答案,我显然不想给他们系统管理员。如果是,那么确保连接丢失的任何其他建议都不会留下开放的转换?

TIA

标记

1 个答案:

答案 0 :(得分:0)

我无法找到相关的任何文档,但尝试一下意味着无需特殊权限

更多信息

我创建了一个只有PUBLIC访问数据库的用户,然后以该用户身份登录并运行以下SQL。

全部成功运行,暗示运行SET XACT_ABORT ...语句不需要特殊权限。

set xact_abort on
select 'hello'
set xact_abort off