运行更新语句时,我刚刚收到以下错误。我以前从未见过这个,并且来自Oracle背景,所以如果有人知道这个问题,我会很感激这个建议。我会继续研究。
Msg 1934,Level 16,State 1,Line 1 UPDATE失败,因为 以下SET选项的设置不正确:' ANSI_PADDING'。 验证SET选项是否正确用于索引视图和/或 计算列和/或筛选索引和/或查询的索引 通知和/或XML数据类型方法和/或空间索引 操作
答案 0 :(得分:1)
set ansi_padding on
解决了这个问题。不确定为什么关闭它。
你可以通过运行这个可怕的查询来检查它是否打开或关闭,以解开存储会话属性的SS方法
DECLARE @options INT
SELECT @options = @@OPTIONS
PRINT @options
IF ( (1 & @options) = 1 ) PRINT 'DISABLE_DEF_CNST_CHK'
IF ( (2 & @options) = 2 ) PRINT 'IMPLICIT_TRANSACTIONS'
IF ( (4 & @options) = 4 ) PRINT 'CURSOR_CLOSE_ON_COMMIT'
IF ( (8 & @options) = 8 ) PRINT 'ANSI_WARNINGS'
IF ( (16 & @options) = 16 ) PRINT 'ANSI_PADDING'
IF ( (32 & @options) = 32 ) PRINT 'ANSI_NULLS'
IF ( (64 & @options) = 64 ) PRINT 'ARITHABORT'
IF ( (128 & @options) = 128 ) PRINT 'ARITHIGNORE'
IF ( (256 & @options) = 256 ) PRINT 'QUOTED_IDENTIFIER'
IF ( (512 & @options) = 512 ) PRINT 'NOCOUNT'
IF ( (1024 & @options) = 1024 ) PRINT 'ANSI_NULL_DFLT_ON'
IF ( (2048 & @options) = 2048 ) PRINT 'ANSI_NULL_DFLT_OFF'
IF ( (4096 & @options) = 4096 ) PRINT 'CONCAT_NULL_YIELDS_NULL'
IF ( (8192 & @options) = 8192 ) PRINT 'NUMERIC_ROUNDABORT'
IF ( (16384 & @options) = 16384 ) PRINT 'XACT_ABORT'
答案 1 :(得分:0)
我运行了由SQL Server Studio生成的脚本,并出现错误“由于以下SET选项设置错误而导致插入失败:'ANSI_PADDING'”
我的解决方案是添加关键字“ GO”,并且脚本起作用。