啟用 MSDTC - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

啟用 MSDTC

使用下列程序為您的資料庫執行個體啟用 MSDTC :

  1. 建立新的選項群組或選擇現有的選項群組。

  2. MSDTC 選項新增至選項群組。

  3. 建立新參數群組,或選擇現有參數群組。

  4. 修改參數群組,將 in-doubt xact resolution 參數設定為 1 或 2。

  5. 將選項群組和參數群組與資料庫執行個體建立關聯。

建立 的選項群組 MSDTC

使用 AWS Management Console 或 AWS CLI 建立與SQL伺服器引擎和資料庫執行個體版本對應的選項群組。

注意

如果現有選項群組適用於正確的SQL伺服器引擎和版本,您也可以使用它。

下列程序會為 SQL Server Standard Edition 2016 建立選項群組。

建立選項群組
  1. 登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Option groups (選項群組)。

  3. 選擇 Create group (建立群組)。

  4. Create option group (建立選項群組) 窗格中,執行下列動作:

    1. 針對名稱 ,輸入您 AWS 帳戶中唯一的選項群組名稱,例如 msdtc-se-2016。名稱僅可包含字母、數字與連字號。

    2. 對於 Description (描述),請輸入選項群組的簡短描述,例如 MSDTC option group for SQL Server SE 2016。用於顯示用途的說明。

    3. 對於 Engine (引擎),請選擇 sqlserver-se

    4. 對於 Major engine version (主要引擎版本),請選擇 13.00

  5. 選擇 Create (建立)。

下列範例會為 SQL Server Standard Edition 2016 建立選項群組。

建立選項群組
  • 請使用下列其中一個命令。

    用於 Linux, macOS、 或 Unix:

    aws rds create-option-group \ --option-group-name msdtc-se-2016 \ --engine-name sqlserver-se \ --major-engine-version 13.00 \ --option-group-description "MSDTC option group for SQL Server SE 2016"

    用於 Windows:

    aws rds create-option-group ^ --option-group-name msdtc-se-2016 ^ --engine-name sqlserver-se ^ --major-engine-version 13.00 ^ --option-group-description "MSDTC option group for SQL Server SE 2016"

將MSDTC選項新增至選項群組

接下來,使用 AWS Management Console 或 AWS CLI 將MSDTC選項新增至選項群組。

下列選項設定是必要的:

  • 連接埠 – 您用來存取 的連接埠MSDTC。允許的數值是 1150–49151,但不包括 1234、1434、3260、3343、3389 和 47001。預設值為 5000。

    確定您要使用的連接埠已在防火牆規則中啟用。此外,請確定在與資料庫執行個體相關聯的安全群組的傳入和傳出規則中已啟用此連接埠。如需詳細資訊,請參閱無法連線至 Amazon RDS 資料庫執行個體

  • 安全群組 – RDS 資料庫執行個體VPC的安全群組成員資格。

  • Authentication (身分驗證類型) – 主機之間的身分驗證模式。支援下列身分驗證類型:

    • 相互 – RDS執行個體會使用整合身分驗證相互驗證。如果選取此選項,與此選項群組相關聯的所有執行個體都必須加入網域。

    • 無 – 主機之間不執行身分驗證。我們不建議您生產環境中使用此模式。

  • 交易日誌大小 – MSDTC交易日誌的大小。允許的數值是 4–1024 MB。預設大小為 4 MB。

下列選項設定是選擇性的:

  • 啟用傳入連線 – 是否允許與此選項群組相關聯的執行個體的傳入MSDTC連線。

  • 啟用傳出連線 – 是否允許來自與此選項群組相關聯的執行個體的傳出MSDTC連線。

  • Enable XA (啟用 XA) – 是否允許 XA 交易。如需 XA 通訊協定的詳細資訊,請參閱 XA 規格

  • 啟用 SNA LU – 是否允許 LU SNA 通訊協定用於分散式交易。如需 LU SNA 通訊協定支援的詳細資訊,請參閱 Microsoft 文件中的管理 IBM CICS LU 6.2 交易

若要新增 MSDTC選項
  1. 登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Option groups (選項群組)。

  3. 選擇您剛建立的選項群組。

  4. 選擇 Add option (新增選項)

  5. 選項詳細資訊 下,MSDTC選擇選項名稱

  6. Options settings (選項設定) 下:

    1. 對於連接埠 ,輸入用於存取 的連接埠號碼MSDTC。預設值為 5000

    2. 對於安全群組 ,選擇要與 選項建立關聯的VPC安全群組。

    3. Authentication type (身分驗證類型) 中,選擇 Mutual (相互)None (無)

    4. 針對 Transaction log size (交易日誌大小),輸入 4–1024 之間的值。預設值為 4

  7. Additional configuration (其他設定) 下,請執行下列動作:

    1. 針對 Connections (連線),視需要選擇 Enable inbound connections (啟用傳入連線)Enable outbound connections (啟用傳出連線)

    2. 對於允許的通訊協定 ,視需要選擇啟用 XA啟用 SNA LU

  8. Scheduling (排程) 下,選擇要立即新增選項或是在下一個維護時段新增選項。

  9. 選擇 Add option (新增選項)

    若要新增此選項,不需要重新開機。

若要新增 MSDTC選項
  1. 使用msdtc-option.json下列必要參數建立JSON檔案,例如 。

    { "OptionGroupName":"msdtc-se-2016", "OptionsToInclude": [ { "OptionName":"MSDTC", "Port":5000, "VpcSecurityGroupMemberships":["sg-0abcdef123"], "OptionSettings":[{"Name":"AUTHENTICATION","Value":"MUTUAL"},{"Name":"TRANSACTION_LOG_SIZE","Value":"4"}] }], "ApplyImmediately": true }
  2. MSDTC 選項新增至選項群組。

    用於 Linux, macOS、 或 Unix:

    aws rds add-option-to-option-group \ --cli-input-json file://msdtc-option.json \ --apply-immediately

    用於 Windows:

    aws rds add-option-to-option-group ^ --cli-input-json file://msdtc-option.json ^ --apply-immediately

    不需要重新開機。

建立 的參數群組 MSDTC

為對應至SQL伺服器版本和資料庫執行個體版本的參數建立或修改in-doubt xact resolution參數群組。

下列範例會為 SQL Server Standard Edition 2016 建立參數群組。

建立參數群組
  1. 登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)。

  3. 選擇 Create parameter group (建立參數群組)

  4. Create parameter group (建立參數群組) 窗格中執行下列動作:

    1. 對於 Parameter group family (參數群組家族),請選擇 sqlserver-se-13.0

    2. 對於 Group name (群組名稱),輸入參數群組的識別碼,例如 msdtc-sqlserver-se-13

    3. 對於 Description (說明),輸入 in-doubt xact resolution

  5. 選擇 Create (建立)。

下列範例會為 SQL Server Standard Edition 2016 建立參數群組。

建立參數群組
  • 請使用下列其中一個命令。

    用於 Linux, macOS、 或 Unix:

    aws rds create-db-parameter-group \ --db-parameter-group-name msdtc-sqlserver-se-13 \ --db-parameter-group-family "sqlserver-se-13.0" \ --description "in-doubt xact resolution"

    用於 Windows:

    aws rds create-db-parameter-group ^ --db-parameter-group-name msdtc-sqlserver-se-13 ^ --db-parameter-group-family "sqlserver-se-13.0" ^ --description "in-doubt xact resolution"

修改 的 參數 MSDTC

修改in-doubt xact resolution參數群組中對應於SQL伺服器版本和資料庫執行個體版本的參數。

對於 MSDTC,將 in-doubt xact resolution 參數設定為下列其中一項:

  • 1Presume commit。 任何MSDTC待定交易都假設已遞交。

  • 2Presume abort。 任何 MSDTC 內部交易都假設已停止。

如需詳細資訊,請參閱 Microsoft 文件中的有疑問的 xact 解析伺服器組態選項

下列範例會修改您為 SQL Server Standard Edition 2016 建立的參數群組。

修改參數群組
  1. 登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)。

  3. 選擇參數群組,例如 msdtc-sqlserver-se-13

  4. Parameters (參數) 下,篩選 xact 的參數清單。

  5. 選擇 in-doubt xact resolution (有疑問的 xact 解析)

  6. 選擇 Edit parameters (編輯參數)。

  7. 輸入 12

  8. 選擇 Save changes (儲存變更)。

下列範例會修改您為 SQL Server Standard Edition 2016 建立的參數群組。

修改參數群組
  • 請使用下列其中一個命令。

    用於 Linux, macOS、 或 Unix:

    aws rds modify-db-parameter-group \ --db-parameter-group-name msdtc-sqlserver-se-13 \ --parameters "ParameterName='in-doubt xact resolution',ParameterValue=1,ApplyMethod=immediate"

    用於 Windows:

    aws rds modify-db-parameter-group ^ --db-parameter-group-name msdtc-sqlserver-se-13 ^ --parameters "ParameterName='in-doubt xact resolution',ParameterValue=1,ApplyMethod=immediate"

將選項群組和參數群組與資料庫執行個體建立關聯

您可以使用 AWS Management Console 或 AWS CLI ,將MSDTC選項群組和參數群組與資料庫執行個體建立關聯。

您可以將MSDTC選項群組和參數群組與新的或現有的資料庫執行個體建立關聯。

  • 對於新的資料庫執行個體,請在啟動執行個體時將它們相關聯。如需更多詳細資訊,請參閱 建立 Amazon RDS 資料庫執行個體

  • 對於現有的資料庫執行個體,請透過修改執行個體來建立關聯。如需詳細資訊,請參閱修改 Amazon RDS 資料庫執行個體

    注意

    如果您使用加入網域的現有資料庫執行個體,則其必須已具有與其相關聯的 Active Directory 網域和 AWS Identity and Access Management (IAM) 角色。如果您建立新的網域加入執行個體,請指定現有的 Active Directory 網域和IAM角色。如需詳細資訊,請參閱使用 AWS Managed Active Directory 搭配 RDS for SQL Server

您可以將MSDTC選項群組和參數群組與新的或現有的資料庫執行個體建立關聯。

注意

如果您使用現有的網域加入資料庫執行個體,則其必須已具有與其相關聯的 Active Directory 網域和IAM角色。如果您建立新的網域加入執行個體,請指定現有的 Active Directory 網域和IAM角色。如需詳細資訊,請參閱使用 AWS Managed Active Directory 搭配 RDS for SQL Server

使用MSDTC選項群組和參數群組建立資料庫執行個體
  • 指定建立選項群組時所使用的相同資料庫引擎類型和主要版本。

    用於 Linux, macOS、 或 Unix:

    aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 13.00.5426.0.v1 \ --allocated-storage 100 \ --manage-master-user-password \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name msdtc-se-2016 \ --db-parameter-group-name msdtc-sqlserver-se-13

    用於 Windows:

    aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 13.00.5426.0.v1 ^ --allocated-storage 100 ^ --manage-master-user-password ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name msdtc-se-2016 ^ --db-parameter-group-name msdtc-sqlserver-se-13
若要修改資料庫執行個體,並建立MSDTC選項群組和參數群組的關聯
  • 請使用下列其中一個命令。

    用於 Linux, macOS、 或 Unix:

    aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --option-group-name msdtc-se-2016 \ --db-parameter-group-name msdtc-sqlserver-se-13 \ --apply-immediately

    用於 Windows:

    aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --option-group-name msdtc-se-2016 ^ --db-parameter-group-name msdtc-sqlserver-se-13 ^ --apply-immediately

修改 MSDTC選項

啟用 MSDTC 選項後,您可以修改其設定。如需如何修改選項設定的詳細資訊,請參閱修改選項設定

注意

MSDTC 選項設定的某些變更需要重新啟動MSDTC服務。此需求可能會影響執行中的分散式交易。