将数据库还原到其他排序规则

时间:2015-09-16 13:23:15

标签: sql-server-2008-r2 restore collation

我试图找到如何将数据库恢复到其他排序规则。

例如:

  • 服务器排序规则是Czech_CI_AS
  • 我备份的数据库有一个排序规则Czech_CI_AS。
  • 我需要恢复数据库的备份,但是需要 排序规则SQL_Latin1_General_CP437_CI_AI。

某个地方我做错了什么,你能帮我吗?

1 个答案:

答案 0 :(得分:2)

正如您所发现的那样,原始数据库的排序规则将保留在备份中,因此当您从其他位置的此备份创建新数据库时,原始排序规则随之附带。还原命令中没有选项可以在还原期间更改排序规则。

您可以在还原数据库后将DATABASE更改为其他排序规则,但请注意,这不会更改所有数据库中现有对象的排序规则,您需要更改排序规则各个表中的列自己。

请参阅MSDN

  

更改数据库归类时,更改以下内容:

     
      
  • 系统表中的任何char,varchar,text,nchar,nvarchar或ntext列都将更改为新的排序规则。

  •   
  • 存储过程的所有现有char,varchar,text,nchar,nvarchar或ntext参数和标量返回值   用户定义的函数将更改为新的排序规则。

  •   
  • char,varchar,text,nchar,nvarchar或ntext系统数据类型以及基于这些系统数据的所有用户定义数据类型   类型,更改为新的默认排序规则。

  •   
     

您可以更改在a中创建的任何新对象的排序规则   用户数据库使用ALTER DATABASE的COLLATE子句   声明。此语句不会更改列的排序规则   在任何现有的用户定义表中。这些可以通过使用来改变   ALTER TABLE的COLLATE子句。