有没有办法更改FixedLenNullInSource和TrimTrailingBlanks的值?

时间:2012-11-22 08:01:14

标签: sql-server sql-server-2008 tsql sql-server-2008-r2

有没有办法更改FixedLenNullInSourceTrimTrailingBlanks的值?

我使用sp_help来比较不同服务器的输出,以查看表是否相同。 FixedLenNullInSourceTrimTrailingBlanks关闭了我的比较。

1 个答案:

答案 0 :(得分:3)

创建表时,

TrimTrailingBlanksSET ANSI_PADDING选项相关。您可以更改它,而无需以与my answer here类似的方式重新创建整个表格,以更改ANSI_NULL选项。

否则,您需要重新创建具有所需语义的表。

查看sp_help

的定义
   'FixedLenNullInSource' = 
   CASE
        WHEN Type_name(system_type_id) NOT IN ( 'varbinary', 'varchar', 'binary', 'char' ) THEN '(n/a)'
        WHEN is_nullable = 0 THEN @no
        ELSE @yes
    END 

所以看起来FixedLenNullInSource的不同值只是表明列的可为空性不同,并且它是4种指定数据类型之一。您需要使用ALTER TABLE ... ALTER COLUMN

进行修复

使用第三方工具比较Redgate SQL Compare或SQL Server数据工具等数据库甚至只是自己查询sys.tablessys.columns而不是使用{{1虽然。