由于数据库移动到别的服务器上,排序规则不同引用许多查询错误,要求所有存储过程都不能修改,但能正常运行,现在只好把所有表的排序规则改成与新的sql服务器一致. 这样应该能够解决问题的, 但不知有没有现成的SQL脚本能够把所有表的排序规则改成我想要的.
谢谢

解决方案 »

  1.   

    有人吗?up者有分,帮忙up一下吧
      

  2.   

    试试这样:
    Alter Database
    Collate <新的Collation>
      

  3.   

    -- Object not found error because case is not correct
    可有报这样错误?
      

  4.   


    ALTER TABLE tb
    ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS 数据库
    ALTER DATABASE database 
    COLLATE Chinese_PRC_CS_AS
      

  5.   

    可使用 ALTER TABLE 语句更改列的排序规则:CREATE TABLE MyTable
      (PrimaryKey   int PRIMARY KEY,
       CharCol      varchar(10) COLLATE French_CI_AS NOT NULL
      )
    GO
    ALTER TABLE MyTable ALTER COLUMN CharCol
                varchar(10)COLLATE Latin1_General_CI_AS NOT NULL
    GO
      

  6.   

    上面说的我都知道。 
    首先 ALTER DATABASE database COLLATE Chinese_PRC_CS_AS
    这样不能解决问题,因为表仍然没有变.我现在想把数据库所有表的排序规则改变! 只是上来找一下有没有现成的脚本! 没有的话我打算自己写一个. 
      

  7.   

    进入  :\Program Files\Microsoft SQL Server\80\Tools\Binn目录中,运行Rebuildm.exe,重建master数据库,具体步骤和新安装sql差不多,只是在"排序规则设置"对话框中进行必要的设置就可以了,master重建完成后,重新附加其他的数据库就OK了
    --以上知识来自邹老大的书本第113页