不存在smallint的smallint的算术溢出 DECLARE@SchemaName VARCHAR(100) 声明@TableName VARCHAR(256) 声明@IndexName VARCHAR(256) 声明@ColumnName VARCHAR(100) 声明@is_unique VARCHAR(100) 声明@IndexTypeDesc VARCHAR(100) 声明@FileGroupName VARCHAR(100) 声明@is_已禁用VARCHAR(100) 声明@IndexOptions VARCHAR(最大值) 声明@IndexColumnId INT 声明@IsDescendingKey INT 声明@IsIncludedColumn INT 声明@TSQLScripCreationIndex VARCHAR(最大值) 声明@TSQLScripDisableIndex VARCHAR(最大值) 声明游标索引游标 对于 选择SCHEMA\u NAME(t.SCHEMA\u id)[SCHEMA\u NAME], t、 名字, 九、姓名, 当ix.is_unique=1时,则为“unique” 否则“ 完,, ix.类型描述, 如果ix.is_padded=1,则“PAD_INDEX=ON,” 否则“PAD_INDEX=OFF,” 结束 +当ix.allow_page_locks=1时,则为“allow_page_locks=ON,” 否则“允许页面锁定=关闭” 结束 +如果ix.allow_row_locks=1,则“allow_row_locks=ON,” 否则“允许行锁定=关闭” 结束 +INDEXPROPERTY(t.object\u id,ix.name,'IsStatistics')=1时的情况 然后“STATISTICS\u norecomputer=ON,” ELSE'STATISTICS\u norecomputer=OFF,' 结束 +如果ix.ignore\u dup\u key=1,则“ignore\u dup\u key=ON,” 否则“忽略重复键=关闭” END+“SORT_IN_TEMPDB=OFF,DROP_EXISTING=ON”作为索引选项, ix.U已禁用, 文件组名称(ix.data\u space\u id)文件组名称 从sys.t表 t.object\u id=ix.object\u id上的内部联接sys.index ix 其中ix.type>0 和ix.is_primary_key=0 ix.is_unique_constraint=0——schema_name(tb.schema_id)=@SchemaName和tb.name=@TableName t.is_ms_装运=0 和t.name“系统图” 和t.name='LegalEntity' 按模式名称(t.SCHEMA\u id)排序, t、 名字, 九、姓名 开放游标索引 从CursorIndex获取下一个到@SchemaName、@TableName、@IndexName、, @是唯一的、@IndexTypeDesc、@IndexOptions、@是禁用的、@FileGroupName 而(@@fetch\u status=0) 开始 声明@IndexColumns VARCHAR(最大值) 声明@IncludedColumns VARCHAR(最大值) 设置@IndexColumns='' 设置@IncludedColumns='' 声明游标索引列游标 对于 选择col.name, ixc.is_降序键, ixc.是否包含在第列 从sys.tb表 tb.object\u id=ix.object\u id上的内部联接sys.index ix ix.object\u id=ixc.object\u id上的内部联接sys.index\u列ixc 和ix.index_id=ixc.index_id ixc.object\u id上的内部联接sys.columns columns=col.object\u id 和ixc.column\u id=col.column\u id 其中ix.type>0 和(ix.is_primary_key=0 或ix.is_unique_constraint=0 ) 和SCHEMA_NAME(tb.SCHEMA_id)=@SchemaName 和tb.name=@TableName 和ix.name=@IndexName 按ixc.index\u列\u id排序 打开游标索引列 从CursorIndexColumn获取下一个到@ColumnName、@IsDescendingKey、, @IsIncludedColumn 而(@@fetch\u status=0) 开始 如果@IsIncludedColumn=0 设置@IndexColumns=@IndexColumns+@ColumnName +当@IsDescendingKey=1时,则为“DESC,” 否则“ASC” 结束 其他的 设置@IncludedColumns=@IncludedColumns+@ColumnName + ', ' 从CursorIndexColumn获取下一个到@ColumnName, @IsDescendingKey,@IsIncludedColumn 结束 关闭光标索引列 取消分配游标索引列 设置@IndexColumns=SUBSTRING(@IndexColumns,1,LEN(@IndexColumns)-1) 当LEN(@IncludedColumns)>0时,设置@IncludedColumns=CASE 然后是子字符串(@IncludedColumns,1, LEN(@IncludedColumns)-1) 否则“ 结束 --打印@IndexColumns --打印@IncludedColumns 设置@TSQLScripCreationIndex='' 设置@TSQLScripDisableIndex=“” SET@TSQLScripCreationIndex='CREATE'+@is_unique+@IndexTypeDesc +'INDEX'+QUOTENAME(@IndexName)+'ON' +QUOTENAME(@SchemaName)+'.+QUOTENAME(@TableName)+'(' +@IndexColumns+)' +LEN(@IncludedColumns)>0时的情况 然后CHAR(13)+'INCLUDE('+@IncludedColumns+')' 否则“ END+CHAR(13)+'和('+@IndexOptions++')ON' +“[SC_LE]([Id])”+“;” 如果@is_disabled=1 SET@TSQLScripDisableIndex=CHAR(13)+'alterindex' +QUOTENAME(@IndexName)+'ON'+QUOTENAME(@SchemaName) +'.+QUOTENAME(@TableName)+'DISABLE;'+查尔(13) --打印@TSQLScripCreationIndex --打印@TSQLScripDisableIndex 从CursorIndex获取下一个到@SchemaName、@TableName、@IndexName、, @是唯一的,@IndexTypeDesc,@IndexOptions,@被禁用, @文件组名 结束 闭合游标索引 取消分配游标索引

不存在smallint的smallint的算术溢出 DECLARE@SchemaName VARCHAR(100) 声明@TableName VARCHAR(256) 声明@IndexName VARCHAR(256) 声明@ColumnName VARCHAR(100) 声明@is_unique VARCHAR(100) 声明@IndexTypeDesc VARCHAR(100) 声明@FileGroupName VARCHAR(100) 声明@is_已禁用VARCHAR(100) 声明@IndexOptions VARCHAR(最大值) 声明@IndexColumnId INT 声明@IsDescendingKey INT 声明@IsIncludedColumn INT 声明@TSQLScripCreationIndex VARCHAR(最大值) 声明@TSQLScripDisableIndex VARCHAR(最大值) 声明游标索引游标 对于 选择SCHEMA\u NAME(t.SCHEMA\u id)[SCHEMA\u NAME], t、 名字, 九、姓名, 当ix.is_unique=1时,则为“unique” 否则“ 完,, ix.类型描述, 如果ix.is_padded=1,则“PAD_INDEX=ON,” 否则“PAD_INDEX=OFF,” 结束 +当ix.allow_page_locks=1时,则为“allow_page_locks=ON,” 否则“允许页面锁定=关闭” 结束 +如果ix.allow_row_locks=1,则“allow_row_locks=ON,” 否则“允许行锁定=关闭” 结束 +INDEXPROPERTY(t.object\u id,ix.name,'IsStatistics')=1时的情况 然后“STATISTICS\u norecomputer=ON,” ELSE'STATISTICS\u norecomputer=OFF,' 结束 +如果ix.ignore\u dup\u key=1,则“ignore\u dup\u key=ON,” 否则“忽略重复键=关闭” END+“SORT_IN_TEMPDB=OFF,DROP_EXISTING=ON”作为索引选项, ix.U已禁用, 文件组名称(ix.data\u space\u id)文件组名称 从sys.t表 t.object\u id=ix.object\u id上的内部联接sys.index ix 其中ix.type>0 和ix.is_primary_key=0 ix.is_unique_constraint=0——schema_name(tb.schema_id)=@SchemaName和tb.name=@TableName t.is_ms_装运=0 和t.name“系统图” 和t.name='LegalEntity' 按模式名称(t.SCHEMA\u id)排序, t、 名字, 九、姓名 开放游标索引 从CursorIndex获取下一个到@SchemaName、@TableName、@IndexName、, @是唯一的、@IndexTypeDesc、@IndexOptions、@是禁用的、@FileGroupName 而(@@fetch\u status=0) 开始 声明@IndexColumns VARCHAR(最大值) 声明@IncludedColumns VARCHAR(最大值) 设置@IndexColumns='' 设置@IncludedColumns='' 声明游标索引列游标 对于 选择col.name, ixc.is_降序键, ixc.是否包含在第列 从sys.tb表 tb.object\u id=ix.object\u id上的内部联接sys.index ix ix.object\u id=ixc.object\u id上的内部联接sys.index\u列ixc 和ix.index_id=ixc.index_id ixc.object\u id上的内部联接sys.columns columns=col.object\u id 和ixc.column\u id=col.column\u id 其中ix.type>0 和(ix.is_primary_key=0 或ix.is_unique_constraint=0 ) 和SCHEMA_NAME(tb.SCHEMA_id)=@SchemaName 和tb.name=@TableName 和ix.name=@IndexName 按ixc.index\u列\u id排序 打开游标索引列 从CursorIndexColumn获取下一个到@ColumnName、@IsDescendingKey、, @IsIncludedColumn 而(@@fetch\u status=0) 开始 如果@IsIncludedColumn=0 设置@IndexColumns=@IndexColumns+@ColumnName +当@IsDescendingKey=1时,则为“DESC,” 否则“ASC” 结束 其他的 设置@IncludedColumns=@IncludedColumns+@ColumnName + ', ' 从CursorIndexColumn获取下一个到@ColumnName, @IsDescendingKey,@IsIncludedColumn 结束 关闭光标索引列 取消分配游标索引列 设置@IndexColumns=SUBSTRING(@IndexColumns,1,LEN(@IndexColumns)-1) 当LEN(@IncludedColumns)>0时,设置@IncludedColumns=CASE 然后是子字符串(@IncludedColumns,1, LEN(@IncludedColumns)-1) 否则“ 结束 --打印@IndexColumns --打印@IncludedColumns 设置@TSQLScripCreationIndex='' 设置@TSQLScripDisableIndex=“” SET@TSQLScripCreationIndex='CREATE'+@is_unique+@IndexTypeDesc +'INDEX'+QUOTENAME(@IndexName)+'ON' +QUOTENAME(@SchemaName)+'.+QUOTENAME(@TableName)+'(' +@IndexColumns+)' +LEN(@IncludedColumns)>0时的情况 然后CHAR(13)+'INCLUDE('+@IncludedColumns+')' 否则“ END+CHAR(13)+'和('+@IndexOptions++')ON' +“[SC_LE]([Id])”+“;” 如果@is_disabled=1 SET@TSQLScripDisableIndex=CHAR(13)+'alterindex' +QUOTENAME(@IndexName)+'ON'+QUOTENAME(@SchemaName) +'.+QUOTENAME(@TableName)+'DISABLE;'+查尔(13) --打印@TSQLScripCreationIndex --打印@TSQLScripDisableIndex 从CursorIndex获取下一个到@SchemaName、@TableName、@IndexName、, @是唯一的,@IndexTypeDesc,@IndexOptions,@被禁用, @文件组名 结束 闭合游标索引 取消分配游标索引,tsql,Tsql,这里的问题可能是在CursorI定义的SELECT子句中调用FILEGROUP\u NAME() DECLARE @SchemaName VARCHAR(100) DECLARE @TableName VARCHAR(256) DECLARE @IndexName VARCHAR(256) DECLARE @ColumnName VARCHAR(100) DECLARE @is_unique VARCHAR(100) DECLARE @IndexTypeDesc VARCHAR(100

这里的问题可能是在
CursorI定义的
SELECT
子句中调用
FILEGROUP\u NAME()
DECLARE @SchemaName VARCHAR(100)
 DECLARE @TableName VARCHAR(256)
 DECLARE @IndexName VARCHAR(256)
 DECLARE @ColumnName VARCHAR(100)
 DECLARE @is_unique VARCHAR(100)
 DECLARE @IndexTypeDesc VARCHAR(100)
 DECLARE @FileGroupName VARCHAR(100)
 DECLARE @is_disabled VARCHAR(100)
 DECLARE @IndexOptions VARCHAR(MAX)
 DECLARE @IndexColumnId INT
 DECLARE @IsDescendingKey INT 
 DECLARE @IsIncludedColumn INT
 DECLARE @TSQLScripCreationIndex VARCHAR(MAX)
 DECLARE @TSQLScripDisableIndex VARCHAR(MAX)

 DECLARE CursorIndex CURSOR
 FOR
    SELECT  SCHEMA_NAME(t.schema_id) [schema_name] ,
            t.name ,
            ix.name ,
            CASE WHEN ix.is_unique = 1 THEN 'UNIQUE '
                 ELSE ''
            END ,
            ix.type_desc ,
            CASE WHEN ix.is_padded = 1 THEN 'PAD_INDEX = ON, '
                 ELSE 'PAD_INDEX = OFF, '
            END
            + CASE WHEN ix.allow_page_locks = 1 THEN 'ALLOW_PAGE_LOCKS = ON, '
                   ELSE 'ALLOW_PAGE_LOCKS = OFF, '
              END
            + CASE WHEN ix.allow_row_locks = 1 THEN 'ALLOW_ROW_LOCKS = ON, '
                   ELSE 'ALLOW_ROW_LOCKS = OFF, '
              END
            + CASE WHEN INDEXPROPERTY(t.object_id, ix.name, 'IsStatistics') = 1
                   THEN 'STATISTICS_NORECOMPUTE = ON, '
                   ELSE 'STATISTICS_NORECOMPUTE = OFF, '
              END
            + CASE WHEN ix.ignore_dup_key = 1 THEN 'IGNORE_DUP_KEY = ON, '
                   ELSE 'IGNORE_DUP_KEY = OFF, '
              END + 'SORT_IN_TEMPDB = OFF,DROP_EXISTING = ON' AS IndexOptions ,
            ix.is_disabled ,
            FILEGROUP_NAME(ix.data_space_id) FileGroupName
    FROM    sys.tables t
            INNER JOIN sys.indexes ix ON t.object_id = ix.object_id
    WHERE   ix.type > 0
            AND ix.is_primary_key = 0
            AND ix.is_unique_constraint = 0 --and schema_name(tb.schema_id)= @SchemaName and tb.name=@TableName
            AND t.is_ms_shipped = 0
            AND t.name <> 'sysdiagrams'
            AND t.name = 'LegalEntity'
    ORDER BY SCHEMA_NAME(t.schema_id) ,
            t.name ,
            ix.name

 OPEN CursorIndex
 FETCH NEXT FROM CursorIndex INTO @SchemaName, @TableName, @IndexName,
    @is_unique, @IndexTypeDesc, @IndexOptions, @is_disabled, @FileGroupName

 WHILE ( @@fetch_status = 0 )
    BEGIN
        DECLARE @IndexColumns VARCHAR(MAX)
        DECLARE @IncludedColumns VARCHAR(MAX)

        SET @IndexColumns = ''
        SET @IncludedColumns = ''

        DECLARE CursorIndexColumn CURSOR
        FOR
            SELECT  col.name ,
                    ixc.is_descending_key ,
                    ixc.is_included_column
            FROM    sys.tables tb
                    INNER JOIN sys.indexes ix ON tb.object_id = ix.object_id
                    INNER JOIN sys.index_columns ixc ON ix.object_id = ixc.object_id
                                                        AND ix.index_id = ixc.index_id
                    INNER JOIN sys.columns col ON ixc.object_id = col.object_id
                                                  AND ixc.column_id = col.column_id
            WHERE   ix.type > 0
                    AND ( ix.is_primary_key = 0
                          OR ix.is_unique_constraint = 0
                        )
                    AND SCHEMA_NAME(tb.schema_id) = @SchemaName
                    AND tb.name = @TableName
                    AND ix.name = @IndexName
            ORDER BY ixc.index_column_id

        OPEN CursorIndexColumn 
        FETCH NEXT FROM CursorIndexColumn INTO @ColumnName, @IsDescendingKey,
            @IsIncludedColumn

        WHILE ( @@fetch_status = 0 )
            BEGIN
                IF @IsIncludedColumn = 0
                    SET @IndexColumns = @IndexColumns + @ColumnName
                        + CASE WHEN @IsDescendingKey = 1 THEN ' DESC, '
                               ELSE ' ASC, '
                          END
                ELSE
                    SET @IncludedColumns = @IncludedColumns + @ColumnName
                        + ', ' 

                FETCH NEXT FROM CursorIndexColumn INTO @ColumnName,
                    @IsDescendingKey, @IsIncludedColumn
            END

        CLOSE CursorIndexColumn
        DEALLOCATE CursorIndexColumn

        SET @IndexColumns = SUBSTRING(@IndexColumns, 1, LEN(@IndexColumns) - 1)
        SET @IncludedColumns = CASE WHEN LEN(@IncludedColumns) > 0
                                    THEN SUBSTRING(@IncludedColumns, 1,
                                                   LEN(@IncludedColumns) - 1)
                                    ELSE ''
                               END
 --  print @IndexColumns
 --  print @IncludedColumns

        SET @TSQLScripCreationIndex = ''
        SET @TSQLScripDisableIndex = ''
        SET @TSQLScripCreationIndex = 'CREATE ' + @is_unique + @IndexTypeDesc
            + ' INDEX ' + QUOTENAME(@IndexName) + ' ON '
            + QUOTENAME(@SchemaName) + '.' + QUOTENAME(@TableName) + '('
            + @IndexColumns + ') '
            + CASE WHEN LEN(@IncludedColumns) > 0
                   THEN CHAR(13) + 'INCLUDE (' + @IncludedColumns + ')'
                   ELSE ''
              END + CHAR(13) + 'WITH (' + @IndexOptions + ') ON '
            + '[SC_LE]([Id])' + ';'  

        IF @is_disabled = 1
            SET @TSQLScripDisableIndex = CHAR(13) + 'ALTER INDEX '
                + QUOTENAME(@IndexName) + ' ON ' + QUOTENAME(@SchemaName)
                + '.' + QUOTENAME(@TableName) + ' DISABLE;' + CHAR(13) 

 --print @TSQLScripCreationIndex
 --print @TSQLScripDisableIndex

        FETCH NEXT FROM CursorIndex INTO @SchemaName, @TableName, @IndexName,
            @is_unique, @IndexTypeDesc, @IndexOptions, @is_disabled,
            @FileGroupName

    END
 CLOSE CursorIndex
 DEALLOCATE CursorIndex
SELECT  SCHEMA_NAME(t.schema_id) [schema_name] ,
        t.name AS TableName,
        ix.name AS IndexName,
        ix.data_space_id
FROM    sys.tables t
INNER JOIN sys.indexes ix ON t.object_id = ix.object_id
WHERE   ix.type > 0
    AND ix.is_primary_key = 0
    AND ix.is_unique_constraint = 0
    AND t.is_ms_shipped = 0
    AND ix.data_space_id > 32767
ORDER BY SCHEMA_NAME(t.schema_id),
         t.name,
         ix.name