最近我安装了SQL Server 2008,并选择了区分大小写的排序规则。我想将整个实例更改为不区分大小写(而不是在该实例中的某个数据库)。如果我更改排序规则,是否会影响现有的数据库?如果是,又会以何种方式影响?
最近我安装了SQL Server 2008,并选择了区分大小写的排序规则。我想将整个实例更改为不区分大小写(而不是在该实例中的某个数据库)。如果我更改排序规则,是否会影响现有的数据库?如果是,又会以何种方式影响?
为了使用新的排序规则重建master
数据库,您基本上需要再次运行安装程序。您不能以其他方式更改整个服务器的排序规则。
请查看:
更新:如果您想更改数据库的排序规则,可以使用以下T-SQL片段获取当前的排序规则:
SELECT name, collation_name
FROM sys.databases
WHERE name = 'test2' -- put your database name here
这将产生类似以下的值:
Latin1_General_CI_AS
_CI
表示"不区分大小写" - 如果你需要区分大小写,请使用 _CS
代替:
Latin1_General_CS_AS
因此,您的 T-SQL 命令将是:
ALTER DATABASE test2 -- put your database name here
COLLATE Latin1_General_CS_AS -- replace with whatever collation you need
您可以使用以下命令获取服务器上所有可用排序规则的列表:
SELECT * FROM ::fn_helpcollations()
您可以使用以下命令查看服务器当前的排序规则:
SELECT SERVERPROPERTY ('Collation')