Fel*_*oto 1 database sql-server sql-server-2008
是否有任何关于将我的列类型从text/ntext更改为varchar(max)/ nvarchar(max)的问题?
它会破坏什么吗?例如,具有ntext参数的sprocs ......
有一些问题,例如,如果您当前正在使用以下功能:
您可能希望执行代码库搜索以识别这些 - 如果您使用临时SQL,请使用以下内容来搜索您的应用程序和/或源代码控制,或者搜索存储过程等:
SELECT OBJECT_SCHEMA_NAME([object_id]), OBJECT_NAME([object_id])
FROM sys.sql_modules
WHERE [definition] LIKE '%WRITETEXT%'
OR [definition] LIKE '%READTEXT%'
OR [definition] LIKE '%UPDATETEXT%'
OR [definition] LIKE '%TEXTPTR%';
Run Code Online (Sandbox Code Playgroud)
您还可以识别这些参数(我既包括过程和函数TEXT和NTEXT)使用:
SELECT OBJECT_SCHEMA_NAME([object_id]), OBJECT_NAME([object_id]), name
FROM sys.parameters
WHERE system_type_id IN (35, 99);
Run Code Online (Sandbox Code Playgroud)
以及使用以下列类型的表/视图/ TVF:
SELECT OBJECT_SCHEMA_NAME([object_id]), OBJECT_NAME([object_id]), name
FROM sys.columns
WHERE system_type_id IN (35, 99);
Run Code Online (Sandbox Code Playgroud)
或者 - 我不确定所有的API /提供程序 - 但有些可能会有问题交换ntext参数nvarchar(并且您可能必须显式更改某些代码以指定最大长度-1).自从我使用接口代码已经很长时间了,这些类型仍处于时尚状态(~1999),所以如果我的记忆在那里朦胧,我会道歉.
如果存储过程继续采用NTEXT参数,则不应进行任何重大更改,但您不希望长时间保留这些更改.
大多数情况下,您应该体验到更好的性能,更轻松的数据操作以及与新类型的整体改进兼容性.没关系,面向未来!
| 归档时间: |
|
| 查看次数: |
722 次 |
| 最近记录: |