SQL server 2008创建DB时如何设置Collation才能适应多国语系统
可能标题说的不清楚,我描述下我的问题:
创建一个Database时,会有很多默认的设置选项,一般新创建的DB会是一个固定大小(也和设置有关,不做研究)。
我用VC写的应用程序每创建一个实例都需要生成一个DB,因此我将这样一个数据库的MDF文件保存起来,作为一个临时文件。
以后在我的工程中需要创建数据库时,我都会将这个临时文件拷贝出来,然后再attach到数据库中,修改一下数据库的Logical Name就可以生成一个新的DB。
而我的数据库创建的Collation默认是 Chinese_PRC_CI_AS,因此我的这样一个数据库模板 的Collation是固定的。
我的问题:
1、假设我的应用程序在全球不同地区使用,如美洲,欧洲等不同地域上使用时,我的应用程序在不同语言的windows操作系统中(windows 7, Vista, XP)使用,使用上述的Collation为Chinese_PRC_CI_AS的模板来创建出新的数据库是否会存在问题?假设在一个语言很特殊的系统中,我用上述方法一定能成功生成新的DB吗(attach会失败吗)?
2、我做过一些测试,在我当前的xp2003英文系统下,Server Collation设置为Chinese_PRC_CI_AS,创建一个新的DB,如果Collation设置成 Yakut_100_CS_AS_WS(随便选的),就会创建失败,提示 “不支持SQL server 指定的排序规则”。
因为我的应用程序必须支持全球各地区使用,那么我想是否在别的系统中也可能存在不支持 Chinese_PRC_CI_AS而导致DB创建失败,这样的话,我使用的DB模板的Collation如何设置才能通用了。设置成Latin有区别吗?
这个网上有说是因为操作系统不支持这种Collation,那么如何知道我设置的Collation是当前系统支持的?如何提供所有操作系统都支持的这样一个模板文件了(Collation如何设置)?
问题2:
我的应用程序是需要支持多国语的,如果我的DB的Collation为Chinese_PRC_CI_AS,那么我在数据库中存储任何语言的字符会有问题吗,假设都是用Unicode方式。这个我觉的应该不会有问题,下面这个链接似乎就可以解决围绕难题。
http://topic.csdn.net/u/20091117/17/8D708AF4-D596-45C3-8C6E-7BCA6F644DD0.html
申明,本人是在看过多次 msdn 的英文帮助文档后还是迷惑,什么windows, SQL server collations,感觉不能解决我实际使用起来遇到的问题,遂来发帖求助,请各位大侠指点,谢谢了。