代码之家  ›  专栏  ›  技术社区  ›  Madeleine

更改数据库排序规则不会更新数据库中varchar/text字段的排序规则(MS SQL)

  •  1
  • Madeleine  · 技术社区  · 15 年前

    我更改了数据库的排序规则。更改之前的所有text/varchar列都设置为数据库默认值。当对数据库排序规则进行更改时,我希望设置为数据库默认值的列保持数据库默认值,因此保持链接到新的数据库排序规则。但是,我注意到这些列实际上被更改为专门设置为旧的排序规则。

    我有一个脚本可以更新所有列,但是我很好奇为什么这些列没有保持数据库默认值,或者至少没有设置为新的排序规则。所以我的问题是:

    1:为什么列没有更新?

    2:有没有办法让他们自动更新?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Jon    15 年前

    最近我自己也遇到了这个问题。更改数据库默认排序规则只对创建的新对象有效-它不会更改任何现有对象(源: Books Online -“可以使用alter database语句的collate子句更改用户数据库中创建的任何新对象的排序规则。此语句不会更改任何现有用户定义表中列的排序规则。这些可以通过使用alter table的collate子句进行更改。”

    我不知道如何使它们自动更新-您需要手动更新它们。我使用的方法来自 here