Joh*_*ter 0 sql-server sql-server-2008 sql-server-2008-r2
我需要更改已恢复数据库的排序规则以匹配服务器和 tempdb 数据库。我知道我可以使用 ALTER DATABASE 和 ALTER TABLE 来更改 collertion。但它只会影响添加到表中的新数据吗?我必须和
这是 Microsoft Sql Server 2008
我使用了这个脚本:
DECLARE @collation NVARCHAR(64)
SET @collation = 'Latin1_General_CI_AS'
SELECT
'ALTER TABLE [' + TABLE_SCHEMA + '].[' + TABLE_NAME + '] '
+ 'ALTER COLUMN [' + COLUMN_NAME + '] '
+ DATA_TYPE + '(' + CASE CHARACTER_MAXIMUM_LENGTH
WHEN -1 THEN 'MAX'
ELSE CAST(CHARACTER_MAXIMUM_LENGTH AS VARCHAR) END + ') '
+ 'COLLATE ' + @collation + ' '
+ CASE WHEN IS_NULLABLE = 'NO' THEN 'NOT NULL' ELSE 'NULL' END
FROM INFORMATION_SCHEMA.columns
WHERE COLLATION_NAME IS NOT NULL
AND TABLE_NAME IN ( SELECT TABLE_NAME from information_schema.tables WHERE table_type = 'BASE TABLE' )
AND COLLATION_NAME <> @collation
Run Code Online (Sandbox Code Playgroud)
另请检查设置或更改数据库排序规则
| 归档时间: |
|
| 查看次数: |
4675 次 |
| 最近记录: |