有没有办法更改FixedLenNullInSourceTrimTrailingBlanks的值?

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

最佳答案

创建表时,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而不是使用sp_help,可能要好得多。

关于sql-server - 有没有办法更改FixedLenNullInSource和TrimTrailingBlanks的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13508162/

10-10 11:31