上船容易——从阿里云迁移SQL数据库到Azure云的尝试 之一

开始之前先说我的情况,SQL 2000的DBA,之后没怎么搞过SQL。所以以下写的内容如果有错误,请DBA大拿不要笑喷~

    有个朋友之前把应用搬到了阿里云,数据库也搬上去了,用的RDS(别问我为啥这名字和AWS一样哦)。最近这朋友忽然想把架构迁移到Azure上,于是问我是不是能迁移。应用有Java和.Net的,数据库有MySQL和SQL Server,前面的都不是事儿,到了SQL Server这儿,有点麻烦了。

    朋友的数据库挺大,而且业务在线,所以常规的导出导入,备份恢复和虚机迁移都会有停机时间。而且阿里的数据库,跑的是SQL 2008 R2…Always On是哪个版本出来的?我第一想到的是,使用分发/订阅的方式来做平滑复制。

    上网一搜,微软有个SQL Server 到Azure SQL的数据迁移工具DMA,赶紧下了一个想看看。虽然说的是SQL Server到Azure SQL,尝试连接阿里的RDS还是可以的,不过一跑向导就立刻报错了~

    image_thumb[7]

    啥?系统数据库没法select?

    image_thumb[3]

    我赶紧下了个SSMS,准备看看登录的账号是不是有权限,结果:

    clip_image001_thumb[2]

    clip_image001[6]_thumb[2]

    原来,RDS是切了一个SQL上的Instance给租户使用,我猜为了避免租户通过系统数据库操作和获取信息,阿里简单粗暴的把这些数据库的权限都给Deny了。

    更别说期待RDS提供分发、跑SQL Agent服务了……

    那么,Azure SQL是不是也是这样的呢?好奇心来了,看了看最低配的每月5.99刀,起一个看看~

    image_thumb[9]

    从连接的数据库看,Azure SQL对组件做了更精细的划分,很多组件变得不可见了。但是,系统数据库还是可以访问的。我猜,应该对数据库的表做了权限限制,但至少迁移需要的读取权限还是有的。可能关键表的行说不定也做了权限控制,未进行测试验证。

     为什么有以上“迁移需要的读取权限还是有的”的结论呢?因为我用SSMS 2017从Azure SQL迁了一个数据库到它本身~迁移过程没有问题。

    image_thumb[12]

   为啥我说阿里RDS是一个数据库上的一个实例呢?因为SSMS说的,哈哈

    image_thumb[15]

    这事儿还没完。欲知后事,且听下回。






     本文转自HaoHu 51CTO博客,原文链接:http://blog.51cto.com/haohu/2048405,如需转载请自行联系原作者



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值