SQL AZURE试用感受7

把SQL AZURE数据库备份到本地,备份工具是RED GATE的sql azure backup 2.6.1.131

出现两个错误

错误1:"id"无效

查看是出在

exists
                (select 1 from G工单任务 b where b.G故障处理措施ID=gz.id

中的gz.id上

错误2:

无法绑定由多个部分组成的标识符

出在

SELECT C.ID
,C.K窗口类名称,
C.M模块名称,
c.P排序编号,
c.M模块类型,
C.S上级ID,
C.C程序集名称,
c.T图标编号
FROM X系统模块 C

中的c.P排序编号,c.M模块类型,c.T图标编号


以上都是存储过程中的错误

百思不得其解,因为存储过程是从本地同步上去的,到网上查也没查出符合的答案.

最后解决方法是,把以上存储过程全部大写,执行通过.

再回过头来仔细比对,发现错误的地方都是名称大小写和原始不匹配.

错误1:gz.id中的id表中是大写的ID列

错误2:FROM X系统模块 C别名是大写的C


补充:

刚刚又发现新的问题

SELECT * FROM SYS.SYSCOLUMNS语句在SQL AZURE上执行通过,在备份到本地的数据库失败,说找不到对象.

改成SELECT * FROM sys.syscolumns就没问题.

结合前面的问题我想应该是数据库排序规则不对

select * from sys.databases

果然我数据库是

Chinese_PRC_CS_AS


这是区分大小写的

我用

ALTER DATABASE [db] COLLATE Chinese_PRC_CI_AS

后就没问题了


但我就不明白,SQL AZURE上我数据库也是

Chinese_PRC_CS_AS

执行却没问题,也就是说,在SQL AZURE上

Chinese_PRC_CS_AS=Chinese_PRC_CI_AS





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值