首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure SQL区分重音的对象名称

Azure SQL区分重音的对象名称
EN

Stack Overflow用户
提问于 2020-08-14 01:43:07
回答 1查看 115关注 0票数 0

我们有一个本地数据库,我们希望使用数据迁移助手将其上载到Azure。我们的数据库使用排序规则SQL_Latin1_General_CP1_CI_AI。我们在一些表名和列名中使用重音符号。在SSMS中编写查询时,如果我们省略了表名中的重音,它仍然可以工作,但在Azure上会出现错误。有没有一种方法可以将Azure SQL配置为对对象名称不区分重音,同时仍然对文本数据不区分重音?

例如,如果我有一个名为Paramètres的表,然后执行以下语句

代码语言:javascript
复制
SELECT * 
FROM [Parametres]

它可以在SSMS中工作,但不能与Azure一起工作。我收到一个"Invalid object name“错误

EN

回答 1

Stack Overflow用户

发布于 2020-08-14 11:12:38

区分重音/不区分重音取决于数据库排序规则。SQL Server中的排序规则为数据提供排序规则、区分大小写和区分重音属性。

请参考:Collation and Unicode support

如果排序规则区分重音或不区分,您可以运行以下查询检查:

代码语言:javascript
复制
IF 'a' = 'á' COLLATE SQL_Latin1_General_CP1_CI_AI
SELECT 'Values are the same'
ELSE
SELECT 'Values are different'

AS重音敏感,AI重音不敏感。例如,您的本地数据库排序规则是SQL_Latin1_General_CP1_CI_AI,并且它不区分重音。

请运行以下查询以检查您的Azure SQL数据库排序规则:

代码语言:javascript
复制
SELECT CONVERT (varchar, SERVERPROPERTY('collation')) AS 'Server Collation';

创建Azure SQL数据库后,我们无法更改其排序规则。因此,无法将Azure SQL配置为不区分重音。

建议不要通过DMA将本地数据库迁移到现有的Azure SQL数据库。请使用导入DACPAC或SSMS:将数据库部署到Azure SQL数据库:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63400539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档