【问题标题】:SQL Server 2005 : change collation for the existing database and LINQ2SQLSQL Server 2005:更改现有数据库和 LINQ2SQL 的排序规则
【发布时间】:2012-09-26 10:03:45
【问题描述】:

我有一个 SQL Server 2005 数据库。它是使用不区分大小写的默认排序规则创建的(我的错!)。这与我使用的所有其他数据库不同,其中排序规则默认区分大小写。我主要考虑比较字符串而不是排序。我使用 Linq-to-SQL 无法为 WHERE 子句指定排序规则。

似乎更改现有数据库/服务器(以及所有表的字段!)的排序规则很容易出错,并且没有用于此的工具。

也许我遗漏了一些东西并且有一个干净的方法?

【问题讨论】:

    标签: sql-server tsql sql-server-2005


    【解决方案1】:

    试试这个:

    Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName 
    /SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ] 
    /SQLCOLLATION=CollationName
    

    通过 SQL 命令提示符运行该命令,然后重建主数据库。

    针对特定数据库

    USE master;
    GO
    ALTER DATABASE yourDBname
    COLLATE French_CI_AS ;
    GO
    

    【讨论】:

    • 如果我在此服务器实例上有任何其他数据库怎么办?
    • 你可以看到上面的命令它会清楚地询问实例名称。所以它会针对那个特定的实例而改变
    • 它将改变整个服务器的排序规则。
    • 我的意思是如果这个实例的其他数据库应该保持不变呢?
    • 我已经为您提供了特定于 DB 和特定于服务器的命令
    猜你喜欢
    • 2011-03-28
    • 2011-07-19
    • 2011-04-08
    • 2014-11-25
    • 2011-11-14
    • 2011-08-26
    • 2012-02-22
    • 2010-09-05
    • 2010-10-25
    相关资源
    最近更新 更多