时间:2021-07-01 10:21:17 帮助过:2人阅读






通过上述图可以看到,在azure sql database 中涉及到实例一级的对象都是没有了。
在azure sql database大概总结如下:
1.没有 AlwaysON,没有数据库镜像,没有日志传送,没有复制。 有异地复制可以直接添加数据库辅助副本(库大小是指数据文件大小);
2.没有 agent ;如需执行定时调度可以参考《通过本地Agent监控Azure_sql_database》
3.没有SSIS;
4.不支持实例一级的对象(如不支持全局临时表、没有Profiler等);如需监控可以参考《如何在Azure sql database 下监控正在运行的脚本或某个存储过程是否已运行》

通过上图发现azure sql database系统数据库中没有tempdb,那能否使用临时表之类的对象?
首先查看当前的azure sql database 版本号
测试临时表
(不是sql server 2016 temporal table)
可以使用临时表,不支持使用全局的临时表。
Pass模式下,某些命令已不支持。
注意默认的getdate()是UTC时间,与北京时间相差8小时。
不能在本库显式调用其他库,如:use master
默认情况下,azure sql database 不支持跨库操作,需要创建扩展表,建同构同名的表,只能是只读且架构唯一。如要存储过程进行跨库操作,需使用sp_execute_remote调用。
ssms 2012界面下存储过程点右键如下图:
SSMS 2016界面下存储过程点右键如下图:
UI界面操作,建议安装最新版本SSMS.或者 exec sp_helptext 加具体的存储过程名称,执行,把执行结果拷出才是存储过程的脚本;
参考资料
如何创建扩展表
sp_execute_remote
用SSMS连接Azure Sql Database 与连接本地库的一些操作区别
标签: