SQL SERVER2008中修改数据库排序规则

时间:2021-09-01 06:42:06
在使用SQL SERVER 2008 中使用报表服务器,使用报表服务器建立的报表数据库里,默认的排序规则为“latin1_general_CI_AS_KS_WS”,不识别中文,无法修改为中文“chinese_PRC_CI_AI_KS_WS”,已经选为单用户修改,报错为“对象 postive_Startbyte依赖于数据库排序规则,如果绑定到架构的对象依赖于数据库排序规则,则无法更改数据库排序规则,请删除数据库排序规则的依赖项,然后重试操作”

      求解!求解!谢谢

5 个解决方案

#1


本帖最后由 ap0405140 于 2016-07-04 14:29:03 编辑
修改数据库排序规则比较麻烦,需删除所有依赖对象后才可以修改,修改后再重建这些依赖对象.

建议先按指定的排序规则建个空数据库,然后从旧数据库导入数据到新数据库.. 最后把2个数据库名互换即可.

#2



这个计算能修改,之后也会导致都是乱码。

你可以把整个数据库的sql代码、数据都导出,然后再导入到一个新的库,就可以了。

#3


引用 1 楼 ap0405140 的回复:
修改数据库排序规则比较麻烦,需删除所有依赖对象后才可以修改,修改后再重建这些依赖对象.

建议先按指定的排序规则建个空数据库,然后从旧数据库导入数据到新数据库.. 最后把2个数据库名互换即可.


可能原先没说明白,写库时往表里列名“动作”类型"nvarchar"一行里写中文不识别,为问号,然后检查以为是默认的排序规则为“latin1_general_CI_AS_KS_WS”的问题,无法修改。建库用的是reporting server  建的时候是选的中文。不确定问题之所在,求助,求解,因为要用2008自带的报表服务器,不能在SQL mangement里直接建库,得通过reporting server建,然后用Visual  Studio形成报表并发布,求助!谢谢

#4


写入时在字段值前加N试试.

 insert into [表名](列名)
    select N'中文内容'

#5


我也遇到这个问题了。。。。。美国服务器真的坑的不要不要的

#1


本帖最后由 ap0405140 于 2016-07-04 14:29:03 编辑
修改数据库排序规则比较麻烦,需删除所有依赖对象后才可以修改,修改后再重建这些依赖对象.

建议先按指定的排序规则建个空数据库,然后从旧数据库导入数据到新数据库.. 最后把2个数据库名互换即可.

#2



这个计算能修改,之后也会导致都是乱码。

你可以把整个数据库的sql代码、数据都导出,然后再导入到一个新的库,就可以了。

#3


引用 1 楼 ap0405140 的回复:
修改数据库排序规则比较麻烦,需删除所有依赖对象后才可以修改,修改后再重建这些依赖对象.

建议先按指定的排序规则建个空数据库,然后从旧数据库导入数据到新数据库.. 最后把2个数据库名互换即可.


可能原先没说明白,写库时往表里列名“动作”类型"nvarchar"一行里写中文不识别,为问号,然后检查以为是默认的排序规则为“latin1_general_CI_AS_KS_WS”的问题,无法修改。建库用的是reporting server  建的时候是选的中文。不确定问题之所在,求助,求解,因为要用2008自带的报表服务器,不能在SQL mangement里直接建库,得通过reporting server建,然后用Visual  Studio形成报表并发布,求助!谢谢

#4


写入时在字段值前加N试试.

 insert into [表名](列名)
    select N'中文内容'

#5


我也遇到这个问题了。。。。。美国服务器真的坑的不要不要的