Microsoft SQL Server
本文介绍如何将 Tableau 连接到 Microsoft SQL Server 数据库并设置数据源。
注意:使用 Microsoft SQL Server 连接器连接到 Microsoft SQL Server 并行数据仓库 (PDW)、Microsoft Azure Synapse Analytics(以前称为 Microsoft Azure SQL 数据仓库)或 Microsoft Azure SQL 数据库。
开始之前
在开始之前,请收集以下连接信息:
- 要连接到的服务器的名称
- (可选) 端口号(如果要连接到非默认端口)
- (可选)数据库名称(如果您想要连接到包含的数据库)
- 身份验证方法:Windows 身份验证或用户名和密码
- 是否要连接到 SSL 服务器?
- 是否想要设置数据库隔离级别以读取未提交的数据?
- (可选)要在每次 Tableau 连接时运行的初始 SQL 语句
需要驱动程序
此连接器需要驱动程序才能与数据库通信。如果计算机上未安装该驱动程序,Tableau 将在连接对话框中显示一条错误消息,其中包含指向驱动程序下载(链接在新窗口中打开)页面的链接,您可在该页面中找到驱动程序链接和安装说明。
进行连接并设置数据源
启动 Tableau,并在“连接”下选择“Microsoft SQL Server”。有关数据连接的完整列表,请在“至服务器”下选择“更多”。然后执行以下操作:
输入要连接到的服务器的名称。
若要连接到非默认端口,请在输入服务器名称时使用
<server name>, <port number>
格式。例如,ExampleServer, 8055
。(可选)如果要连接到包含的数据库,请输入数据库名称。
选择登录到服务器的方式。指定是使用 Windows 身份验证还是特定用户名和密码。如果服务器有密码保护,而您不在 Kerberos 环境中,则您必须输入用户名和密码。
在连接到 SSL 服务器时,选中“需要 SSL”复选框。
指定是否读取未提交的数据。此选项允许 Tableau 在读取未提交隔离级别运行。来自其他事务的长时间查询(包括数据提取刷新)可能会锁定数据库并延迟 Tableau 的事务。选择此选项以允许查询读取已被其他交易修改的行,即使这些行尚未提交也可读取。若清除此项目,Tableau 会使用数据库指定的默认隔离级别。
(可选)选择“初始 SQL”以指定要在每次连接开始时(例如打开工作簿、刷新数据提取、登录到 Tableau Server 或发布到 Tableau Server 时)运行的 SQL 命令。有关详细信息,请参见运行初始 SQL。
选择“登录”。
如果 Tableau 无法建立连接,请验证您的凭据是否正确。如果仍然无法连接,则说明您的计算机在定位服务器时遇到问题。请与您的网络管理员或数据库管理员联系以获得更多帮助。
在数据源页面上,执行下列操作:
(可选)在页面顶部选择默认数据源名称,然后输入要在 Tableau 中使用的唯一数据源名称。例如,使用可帮助其他数据源用户推断出要连接的数据源的数据源命名约定。
在“数据库”下拉列表中,选择数据库或使用文本框按名称搜索数据库。
在“表”下,选择表或使用文本框按名称搜索表。
还可指定数据库中的存储过程。有关存储过程(包括特定于 SQL Server 数据库的约束的列表)的详细信息,请参见使用存储过程。
将表或存储过程拖到画布,然后选择工作表标签以开始分析。
使用自定义 SQL 连接到特定查询,而非整个数据源。有关详细信息,请参见连接到自定义 SQL 查询。您也可以使用自定义 SQL 对 Microsoft SQL Server 中的空间列执行高级空间分析。有关详细信息,请参见使用自定义 SQL 和 RAWSQL 执行高级空间分析。
注意:Tableau Desktop 不支持 Microsoft SQL Server TIME 数据类型。不会导入此数据类型的字段,而且这些字段不会出现在 Tableau Desktop 中。如果存储过程中包含 TIME 数据类型的字段,这些字段将不会出现在 Tableau Desktop 中。有关详细信息,请参见使用存储过程。
登录到 Mac
如果在 Mac 上使用 Tableau Desktop,则在输入服务器名称进行连接时,请使用完全限定的域名(例如 mydb.test.ourdomain.lan)而不是相对域名(例如 mydb 或 mydb.test)。
或者,可以将域添加到 Mac 计算机的“搜索域”的列表中,以便在您连接时,只需要提供服务器名称。若要更新“搜索域”的列表,请转到“系统首选项”>“网络”>“高级”,然后打开“DNS”选项卡。
连接到高可用性群集
当连接到高可用性群集中的 SQL 服务器时,自定义连接以使用 MultiSubnetFailover
参数可能会很有用。如果连接丢失,此参数可以通过尝试并行连接服务器的所有指定 IP 地址直到建立连接,从而更快地重新建立连接。
为此,创建一个 TDC 文件(或更新现有的 TDC 文件)以自定义所使用的连接字符串和 ODBC 额外自定义项。您需要包括以下自定义项:
<customization name='odbc-connect-string-extras' value='MultiSubnetFailover=yes;' />
有关为 SQL Server 连接配置此选项的详细信息,请参见自定义本机连接器的连接字符串和自定义和调整连接。
若要了解有关优化与高可用性群集的连接的详细信息,请参见对高可用性、灾难恢复的 SQL Server 支持。
注意:在 Tableau Server 上使用 ODBC 额外自定义项时,必须将参数(在本例中为 MultiSubnetFailover
)添加到 ODBC 额外允许列表中。有关说明,请参见自定义本机连接器的连接字符串。在发布包含来自 Tableau Desktop 的 TDC 的工作簿时,Tableau Cloud 已经支持此驱动程序属性。
解决“工作表不可用”错误消息
打开工作簿时,您可能会看到“工作表不可用”错误消息,然后,当您选择“编辑连接”时,会提示您提供登录凭据。此错误通常在两种情形之一下显示:
您无法访问工作簿中使用的数据连接。
您的凭据无效,例如,您的密码已过期。
若要解决该错误,请验证您的登录凭据是否正确。如果正确,请与 Tableau 管理员联系,咨询有关数据连接访问权限的事宜。