Skip to main content

SQL DB 高级连接字符串

对于 Controller(控制器)Server UI 持久层,您可以使用高级连接字符串连接到 SQL DB。Controller(控制器)

有关 Microsoft 提供的连接字符串语法提示,请参阅连接字符串语法

控制器持久层字符串

转至 Alteryx 系统设置 > Controller(控制器) > Persistence(持久层)

对于 SQL Connection(SQL 连接),请使用以下字符串,并将 [粗体红色文本] 替换为 SQL 实例详细信息中您自己的值(字符串的这些部分无需使用括号):

  1. 如果您要使用 SQL Server 身份验证,请使用以下字符串:

    Driver={ODBC Driver 17 for SQL Server};Server=[Fully qualified SQL host name];UId=[user];PWD=[user password*];Integrated Security=False;Database=[UserChosenDBName**];

    注意

    *用户密码不得包含以下字符:" ' ; = { } `(双引号、单引号、分号、等号、左花括号、右花括号和反引号)。

    **这是 AlteryxService 数据库。我们建议对 AlteryxService 和 Alteryx Server UI 使用单独的数据库,因此该数据库名称应不同于 Server UI > 持久层中指定的名称。

  2. 如果您要使用 Kerberos 和 WinAuth,请使用以下字符串:

    DRIVER={ODBC Driver 17 for SQL Server};Database=AlteryxService;Server=[Fully qualified SQL host name];Trusted_Connection=yes

不使用 SSL/TLS 的本地部署示例:

  • 使用 SQL Server 身份验证时:

    示例:Driver={ODBC Driver 17 for SQL Server};Server=sample.server.com;UId=sa;PWD=Pa55word;Integrated Security=False;Database=AlteryxService;

  • 使用 Kerberos 和 WinAuth 时:

    示例:DRIVER={ODBC Driver 17 for SQL Server};Database=AlteryxService;Server=sample.server.com;Trusted_Connection=yes

使用 SSL/TLS 的本地部署示例:

  • 使用 SQL Server 身份验证时:

    示例:Driver={ODBC Driver 17 for SQL Server};Database=AlteryxService;Server=sample.server.com;Uid=sa;Pwd=Pa55word;TrustServerCertificate=no;Encrypt=yes;Integrated Security=False;

  • 使用 Kerberos 和 WinAuth 时:

    示例:DRIVER={ODBC Driver 17 for SQL Server};Database=AlteryxService;Server=sample.server.com;Trusted_Connection=yes;TrustServerCertificate=no;Encrypt=yes;

Server UI 持久层字符串

重要

Server UI 的连接字符串不同于控制器的连接字符串。

此外,MultipleActiveResultSets (MARS) 标记将自动添加到此连接字符串中。手动添加 MARS 标记将导致错误。Alteryx Server 需要此标记才能执行复杂的查询。如果没有此标记,多项操作将无法进行,并且 Server 将无法完全发挥作用。如需详细了解此标记,请访问多个活动的结果集 (MARS)

转至 Alteryx 系统设置 > Server UI > Persistence(持久层)

对于 SQL Connection(SQL 连接),请使用以下字符串,并将 [粗体红色文本] 替换为 SQL 实例详细信息中您自己的值(字符串的这些部分无需使用括号):

注意

Server UI 连接字符串应指定驱动程序。

  1. 如果您要使用 SQL Server 身份验证,请使用以下字符串:

    Server=[Fully qualified SQL host name],1433;Database=[UserChosenDBName**];User Id=[user];Password=[user password*];

    注意

    *用户密码不得包含以下字符:" ' ; = { } `(双引号、单引号、分号、等号、左花括号、右花括号和反引号)。

    **这是 Server UI 数据库。我们建议对 AlteryxService 和 Alteryx Server UI 使用单独的数据库,因此该数据库名称应不同于控制器 > 持久层中指定的名称。

  2. 如果您要使用 Kerberos 和 WinAuth,请使用以下字符串:

    Server=[Fully qualified SQL host name];Database=AlteryxGallery;Trusted_Connection=yes;MultipleActiveResultSets=true;

  3. 如果您要设置 SSL/TLS,请将 TrustServerCertificate=no;Encrypt=yes; 添加到 SQL Server、Kerberos 和 WinAuth 身份验证的连接字符串末尾。

不使用 SSL/TLS 的本地部署示例:

  • 使用 SQL Server 身份验证时:

    示例 1:Server=127.0.0.1,1433;Database=AlteryxGallery;User Id=sa;Password=pa55word;

    示例 2:Server=sample.server.com,1433;Database=AlteryxGallery;User Id=user123;Password=pa55word;

  • 使用 Kerberos 和 WinAuth 时:

    示例:Server=sample.server.com;Database=AlteryxGallery;Integrated Security=true;MultipleActiveResultSets=true;

使用 SSL/TLS 的本地部署示例:

  • 使用 SQL Server 身份验证时:

    示例 1:Server=127.0.0.1,1433;Database=AlteryxGallery;User Id=sa;Password=pa55word;TrustServerCertificate=no;Encrypt=yes;

    示例 2:Server=sample.server.com,1433;Database=AlteryxGallery;User Id=user123;Password=pa55word;TrustServerCertificate=no;Encrypt=yes;

  • 使用 Kerberos 和 WinAuth 时:

    示例:Server=sample.server.com;Database=AlteryxGallery;Trusted_Connection=yes;MultipleActiveResultSets=true;TrustServerCertificate=no;Encrypt=yes;

工作程序的唯一连接字符串

每个工作程序都可以有一个唯一连接字符串,用于确定如何连接到数据库。这允许远程工作程序节点使用与控制器不同的连接来设置特定工作程序专用的凭证或选项。

要为工作程序设置唯一连接字符串,请执行以下操作:

  1. 登录到要为其设置不同于控制器的 SQL DB 连接字符串的工作程序。

  2. 打开命令提示符或 PowerShell(以管理员身份)。

  3. 通过命令提示符导航至 C:\Program Files\Alteryx\bin

  4. 输入以下命令:AlteryxService.exe setsqlconnectionworker="{sqlConnectionString}"

  5. {sqlConnectionString} 替换为适合您具体环境的连接字符串。此连接字符串必须连接到与控制器相同的数据库。要查看各种连接字符串格式的示例,请转至控制器持久层示例部分。

  6. 要应用设置,请重新启动 AlteryxService

    1. 导航至计算机上的 Windows 服务应用程序。

    2. 找到名为 AlteryxService 的服务。

    3. 选择重新启动服务按钮。