有没有办法更改FixedLenNullInSource
和TrimTrailingBlanks
的值?
我使用sp_help
比较不同服务器的输出,以查看表是否相同。 FixedLenNullInSource
和TrimTrailingBlanks
抛弃了我的比较。
最佳答案
创建表时,TrimTrailingBlanks
与SET 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.tables
和sys.columns
而不是使用sp_help
,可能要好得多。关于sql-server - 有没有办法更改FixedLenNullInSource和TrimTrailingBlanks的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13508162/