最近遇到一个特别的情形:用户应用系统在SQL Server 2012 sp1数据库中的数据,因为某种原因,要恢复到低版本数据库(例如SQL Server 2008 R2)中。
当采用常规的备份-恢复等操作的时候,发现数据库无法完成恢复操作。
从某种意义上讲,这和由低版本向高版本升级相反,但也都涉及到数据库兼容性级别(Database Compatibility Level)及高版本新增对象等因素。可以参考:http://social.technet.microsoft.com/wiki/contents/articles/7009.sql-server-2012-upgrade-and-application-compatibility.aspx
SQL Server 版本
Database Compatibility Level
SQL Server 7
70
SQL Server 2000
80
SQL Server 2005
90
SQL Server 2008
100
SQL Server 2008 R2
105
SQL Server 2012
110
但逆向操作,在某些场景确是不支持的。可以参考:http://www.mytechmantra.com/LearnSQLServer/Unable_to_Restore_Database_From_Backup.html
一个变通的做法是:
· 在SQL Server 2012种打开SQL Server Management Studio · 选择要备份的数据库,然后点击鼠标右键,在弹出菜单中选择“任务” · 选择“产生脚本”,在对话框中,注意请选择“高级选项”,在对话框中选择将生成脚本的服务器版本,这个时候可以选择相关低版本SQL Server 数据库 · 在低版本SQL Server 数据库中通过执行脚本的方式,恢复数据库
· 在SQL Server 2012种打开SQL Server Management Studio
· 选择要备份的数据库,然后点击鼠标右键,在弹出菜单中选择“任务”
· 选择“产生脚本”,在对话框中,注意请选择“高级选项”,在对话框中选择将生成脚本的服务器版本,这个时候可以选择相关低版本SQL Server 数据库
· 在低版本SQL Server 数据库中通过执行脚本的方式,恢复数据库
具体可见下面的屏幕截图:
如何在Windows Azure 应用中实现发邮件、发短信的功能
基于Windows Azure的云应用,特别是使用Windows Azure Mobile Service,可以实现与多种设备端的通讯,例如:基于Windows 8的平板、Windows Phone 8手机、iOS平板和手机、Android平板和手机等。
http://blogs.technet.com/b/nevin_dongs_blog/archive/2012/09/29/windows-azure-mobile-service-connected-windows-8-metro.aspx http://blogs.technet.com/b/nevin_dongs_blog/archive/2013/03/06/windows-azure-android-mobile-services.aspx http://blogs.technet.com/b/nevin_dongs_blog/archive/2012/12/21/windows-azure-mobile-services-ios-push-notifications-apns.aspx http://blogs.technet.com/b/nevin_dongs_blog/archive/2013/03/21/windows-azure-mobile-services-html-sdk.aspx
http://blogs.technet.com/b/nevin_dongs_blog/archive/2012/09/29/windows-azure-mobile-service-connected-windows-8-metro.aspx
http://blogs.technet.com/b/nevin_dongs_blog/archive/2013/03/06/windows-azure-android-mobile-services.aspx
http://blogs.technet.com/b/nevin_dongs_blog/archive/2012/12/21/windows-azure-mobile-services-ios-push-notifications-apns.aspx
http://blogs.technet.com/b/nevin_dongs_blog/archive/2013/03/21/windows-azure-mobile-services-html-sdk.aspx
但除此之外,如何也能够让Windows Azure 应用能够具备邮件功能,通过邮件来提醒;或者通过手机短信的功能来发送提醒呢?毕竟,这两种方式是很多用户,特别是信息工作者常用的通讯方式。目前,在Windows Azure提供的功能清单里,还没有发现相关支持,但一些第三方为此贡献了解决方案。
对于邮件,可以考虑使用SendGrid来发送邮件,具体请见:
从Java应用中来发送邮件:http://msdn.microsoft.com/en-us/library/windowsazure/hh801258.aspx
将邮件功能与Windows Azure Mobile Service结合:http://www.windowsazure.com/en-us/develop/mobile/tutorials/send-email-with-sendgrid/
对于一些高级功能,SendGrid这个服务是要付费的:http://sendgrid.com/windowsazure.html
对于短信,可以考虑使用Twilio的服务:
http://www.twilio.com/azure
当然这个服务也不是完全免费的。
如果有兴趣的话,其实可以基于Windows Azure开发这方面的服务,也许也是一个不错的盈利应用呢。
访问微软Windows Azure管理门户 https://manage.windowsazure.com/,可以发现Windows Azure 虚拟机 (Virtual Machines) 已经GA,原来的“预览”标签已经不见踪影,这同时也意味着Windows Azure IaaS(基础设施即服务)解决方案进入正式运营阶段。
一个显著的变化是Windows Azure 虚拟机 (Virtual Machines)提供了新的选择,支持对更大内存计算需求的支持:
· A6,4个内核,28GB内存
· A7,8个内核,56GB内存
这对于内存密集型的计算类型是个好消息。以前在一些基于私有云虚拟化的测试案例中也经常发现,4到8个核的CPU在很多横向伸缩(Scale-out)的场景中有不错的表现;但内存如果能有更多,则会有更好的性能和并发表现。
另外一个值得关注的是价格,可以访问Windows Azure定价网站的计算器,获得最新的报价:
http://www.windowsazure.com/zh-cn/pricing/calculator/
Windows Azure IaaS极具竞争力的报价也是值得众多伙伴和开发者关注的,毕竟这也是云计算发展的出发点和最终落脚点。