写后配置指南
配置数据库的写后操作
本指南向您展示如何配置写后目标连接。
概述
写后目标连接是在写后实例和目标数据库之间建立的连接,在写后场景中。写后用于将启用了写后的Redis Enterprise数据库中捕获的更改复制到目标数据库。在部署任何作业之前,必须在config.yaml
中配置这些连接,并且必须遵循以下所示的格式之一。可以在connections
部分指定多个连接。
对于关系型数据存储
connections:
my-sql-datastore:
type: <db-type> # mysql | oracle | postgresql | sqlserver
host: <db-host> # IP address or FQDN of a database host and instance
port: <db-port> # database port
database: <db-name> # name of the database
user: <db-user> # database user
password: <db-password> # database password
# connect_args: # optional connection parameters passed to the driver - these are driver specific
# query_args: # optional parameters for SQL query execution - typically not required for Write-behind operation
对于非关系型数据存储
connections:
my-nosql-datastore:
type: <db-type> # cassandra
hosts: <db-hosts> # array of IP addresses or host names of a datastore nodes
port: <db-port> # database port
database: <db-name> # name of the database
user: <db-user> # database user
password: <db-password> # database password
Microsoft SQL Server
Microsoft SQL Server 支持不同的认证机制(SQL Server 认证和集成 Windows 认证)和协议(NTLM 和 Kerberos)。Write-behind 可以使用所有这些机制。然而,使用 Kerberos 的系统可能需要一些额外的配置。
账户权限
要使Write-behind与SQL Server数据库一起工作,请确保您指定的帐户至少分配了db_datawriter
角色。
SQL Server 认证
要使用SQL Server身份验证模式,请创建一个具有登录凭据的用户,然后为该用户分配目标数据库的必要权限。
connections:
mssql2019-sqlauth:
type: sqlserver
host: ip-10-0-0-5.internal
port: 1433
database: rdi_wb_database
user: rdi_user
password: secret
Windows 认证
要使用Windows身份验证模式,您需要创建一个具有访问目标数据库所需权限的Windows或Active Directory帐户,并且能够登录到SQL Server。托管Write-behind的Linux机器可以配置为支持NTLM身份验证协议。
对于NTLM:
connections:
mssql2019-ntlm:
type: sqlserver
host: ip-10-0-0-5.internal
port: 1433
database: rdi_wb_database
user: MYDOMAIN\rdi_service_account # company-domain\service-account
password: secret # NTLM requires to provide a password
注意:用户必须指定域名才能使Windows身份验证正常工作。
在配置了Write-behind连接并部署了write-behind作业后,运行以下SQL查询以使操作员检查Write-behind是否使用了预期的认证机制和协议。注意:此操作可能需要sysadmin
角色。
SELECT session_id, auth_scheme FROM sys.dm_exec_connections;
结果表明每个会话使用的auth_scheme
,可能取值为SQL
、NTLM
和Kerberos
。