在SSMS和SSDT中查询Azure 的SQL数据仓库

短信服务和SSTD中的Azure 的SQL数据仓库

前一阵子我写了一篇关于 蔚蓝 的SQL数据仓库和Power BI 我解释了如何安装新的Azure 的SQL数据仓库实例以及如何在Power BI中可视化Azure 的SQL DW 数据。在这篇文章中,我将说明如何在SSMS和Visual Studio中查询Azure 的SQL DW 。

要求

从Visual Studio查询Azure 的SQL数据仓库

在最新版本的SQL Server管理Studio(SSMS)2016之前,用于查询Azure 的SQL数据仓库的唯一可用工具是Visual Studio 2013或2015的SQL Server数据工具(SSDT)。这是使用SSDT 2015进行查询的方法Azure 的SQL数据仓库:

  • 打开SQL Server数据工具2015
  • 从“查看”菜单中单击“ 的SQL对象资源管理器”

的SQL服务器对象资源管理器Visual Studio

  • 点击“添加SQL Server”

将服务器添加到SQL Server对象资源管理器Visual Studio

在SQL Server对象资源管理器Visual Studio中连接到Azure 的SQL数据仓库

  • 输入“服务器名称”
  • 如果您不记得服务器名称,请打开Web浏览器并登录Azure门户
  • 点击“ 的SQL数据库”
  • 单击之前创建的任何所需的Azure 的SQL数据仓库。确保数据库为“在线”

蔚蓝 Portal中的Azure 的SQL数据仓库

  • 将鼠标悬停在服务器名称上,然后单击“复制”图标将其复制
  • 切换到Visual Studio并粘贴服务器名称
  • 将“身份验证”类型更改为“ 的SQL服务器身份验证”
  • 输入“用户名”和“密码”
  • 选择Azure 的SQL数据仓库,然后单击“连接”

在SQL Server对象资源管理器Visual Studio中连接到Azure 的SQL数据仓库

  • 您已成功连接到“ 蔚蓝 的SQL数据仓库”
  • 从“ 的SQL服务器对象资源管理器”窗格中展开服务器
  • 展开“数据库”,然后展开数据库
  • 展开“表格”
  • 现在,您可以看到所有数据仓库表

的SQL服务器对象资源管理器Visual Studio

  • 要查询数据仓库,请右键单击数据仓库,然后单击“新建查询”

固态硬盘 2015中的新查询

  • 编写一个T-SQL查询,然后单击“执行”按钮(图片)或按“ Ctrl + Shift + E”

在SSDT 2015中查询Azure 的SQL数据仓库

  • 您也可以从“对象资源管理器”中右键单击对象,然后对该对象进行脚本编写。

在SSDT 2015中查看代码

注意: Visual Studio不支持从SQL Object Explorer拖放到查询编辑器。

我敢打赌,您和我一样会讨厌“ Ctrl + Shift + E”组合键。要更改上述组合键:

      • 点击“工具”菜单
      • 点击“选项”Visual Studio 2015选项
      • 展开“环境”,然后单击“键盘”
      • 在“显示包含的命令”上,键入“执行”
      • 从列表中选择“ 的SQL.TSqlEditorExecuteQuery”
      • 单击“按快捷键”框中,然后按“ F5”
      • 点击“分配”
      • 您可以看到当前使用“ F5”作为快捷方式的当前命令
      • 如果您愿意将“ F5”设置为SQL查询执行快捷方式,请单击“确定”Visual Studio 2015选项

从SQL Server管理Studio(SSMS)2016查询Azure 的SQL数据仓库

在SSMS的早期版本(2008、2012、2014、2016 CTP3)中,您可以连接到Azure 的SQL数据仓库的实例,还可以在连接到数据库后执行T-SQL查询,但是它不能完全正常运行。例如,每当您打开新的查询编辑器时,您都会在SSMS 2008、2012和2014中收到以下消息:

“无法应用连接设置。详细的错误消息是:‘QueryGovernorCostLimit’不是公认的选项。”

无法应用连接设置。详细的错误消息是:'QueryGovernorCostLimit'不是公认的选项

并且您在SSMS 2016 CTP3中收到以下错误:

“’HAS_PERMS_BY_NAME’不是公认的内置函数名称。 (Microsoft 的SQL服务器,错误:104162)”

'HAS_PERMS_BY_NAME'不是公认的内置函数名称。 (Microsoft 的SQL服务器,错误:104162)”

另一个将早期版本的SSMS与Azure 的SQL数据仓库一起使用时出现的问题的另一个示例是,它们无法在“对象资源管理器”窗格中显示数据库表,这意味着您无法右键单击并编写表脚本。

短信服务中的Azure 的SQL数据仓库

好消息是,使用新版本的SQL Server管理Studio2016(当前为13.0.15600.2),我们可以轻松连接到Azure 的SQL数据仓库,修改对象,执行查询并查看对象资源管理器中的表。基本上,我们可以像以前使用任何普通SQL数据库一样在带有SSMS的Azure 的SQL DW 中完成很多工作。

  • 开启SSMS 2016
  • 从对象资源管理器中单击“连接”
  • 选择“数据库引擎”作为“服务器类型”
  • 输入服务器名称
  • 选择“ 的SQL服务器身份验证”作为“身份验证”
  • 输入登录名和密码,然后单击确定。

连接到SSMS中的Azure 的SQL数据仓库

  • 在对象资源管理器中,展开数据库,展开现有数据仓库,然后展开“表”

短信服务 2016中的Azure 的SQL数据仓库

  • 如您所见,Azure 的SQL数据仓库有一个新图标(蔚蓝 的SQL数据仓库图标 )。表格还有新的图标:
    • 具有“轮询”分配方法的表使用(短信服务中的轮询分布式表)图标
    • 具有“散列”分发方法的表使用(短信服务中的哈希分布表)图标

注意: 签出以了解有关Azure数据仓库分发方法的更多信息.

  • 我们可以按“ Ctrl + N”打开新的查询编辑器,或者右键单击数据仓库并单击“新查询”

在SSMS 2016中查询Azure 的SQL数据仓库

  • 当我们打开一个新的查询编辑器时,我们得到以下警告:

在SSMS 2016中查询Azure 的SQL数据仓库

  • 单击您选择的选项,然后编写您的SQL脚本并正常执行

在SSMS 2016中查询Azure 的SQL数据仓库

而且,当然,您可以将对象从“对象资源管理器”拖放到查询编辑器。

您也可以从“对象资源管理器”中右键单击对象,然后对该对象进行脚本编写。

短信服务 2016中的脚本Azure 的SQL数据仓库对象

有什么想法吗?在这里与我们分享:

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.