日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

ALTER AVAILABILITY GROUP (Transact-SQL)

發(fā)布時間:2025/3/21 ChatGpt 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ALTER AVAILABILITY GROUP (Transact-SQL) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

更改 SQL Server 中現(xiàn)有的 AlwaysOn 可用性組。????????????? 只有當(dāng)前主副本支持大多數(shù) ALTER AVAILABILITY GROUP 參數(shù)。 但是,只有輔助副本支持 JOIN、FAILOVER 和 FORCE_FAILOVER_ALLOW_DATA_LOSS 參數(shù)。

適用范圍:SQL Server(SQL Server 2012 到當(dāng)前版本)。???????????????????? ??????????????????

Transact-SQL 語法約定

???????????????? 語法?????????????? ??????????????
?? ALTER AVAILABILITY GROUP group_name {SET ( <set_option_spec> ) |?ADD DATABASE database_name |?REMOVE DATABASE database_name|?ADD REPLICA ON <add_replica_spec> | MODIFY REPLICA ON <modify_replica_spec>|?REMOVE REPLICA ON <server_instance>| JOIN|?FAILOVER| FORCE_FAILOVER_ALLOW_DATA_LOSS???|?ADD LISTENER ‘dns_name’?( <add_listener_option> )|?MODIFY LISTENER ‘dns_name’?( <modify_listener_option> )|?RESTART LISTENER ‘dns_name’|?REMOVE LISTENER ‘dns_name’| OFFLINE} [ ; ]<set_option_spec> ::= AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| SECONDARY | NONE }| FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 } | HEALTH_CHECK_TIMEOUT =?milliseconds?<server_instance> ::= {?'system_name[\instance_name]'?|?'FCI_network_name[\instance_name]'?}<add_replica_spec>::=<server_instance>?WITH(ENDPOINT_URL =?'TCP://system-address:port',AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT },FAILOVER_MODE = { AUTOMATIC | MANUAL }[?, <add_replica_option> [?,...n?] ]) <add_replica_option>::=BACKUP_PRIORITY =?n| SECONDARY_ROLE ( { ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL } | READ_ONLY_ROUTING_URL =?'TCP://system-address:port' }?)| PRIMARY_ROLE ( { ALLOW_CONNECTIONS = { READ_WRITE | ALL } | READ_ONLY_ROUTING_LIST = { (?‘<server_instance>’ [ ,...n?] ) | NONE } }?)| SESSION_TIMEOUT =?seconds?<modify_replica_spec>::=<server_instance>?WITH( ENDPOINT_URL =?'TCP://system-address:port' | AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT } | FAILOVER_MODE = { AUTOMATIC | MANUAL } | BACKUP_PRIORITY =?n| SECONDARY_ROLE ( { ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL } | READ_ONLY_ROUTING_URL =?'TCP://system-address:port' }?)| PRIMARY_ROLE ( { ALLOW_CONNECTIONS = { READ_WRITE | ALL } | READ_ONLY_ROUTING_LIST = { (?‘<server_instance>’ [ ,...n?] ) | NONE } }?)| SESSION_TIMEOUT =?seconds?)? <add_listener_option> ::={WITH DHCP [ ON ( <network_subnet_option> ) ]|?WITH IP ( { ( <ip_address_option> ) } [?, ...n?] ) [ , PORT =?listener_port ]}<network_subnet_option> ::=‘four_part_ipv4_address’,?‘four_part_ipv4_mask’ <ip_address_option> ::={ ‘four_part_ipv4_address’,?‘four_part_ipv4_mask’|?‘ipv6_address’}<modify_listener_option>::={ADD IP ( <ip_address_option> ) |?PORT =?listener_port} ???????????????? 參數(shù)?????????????? ??????????????
group_name???? ??

指定新可用性組的名稱。 group_name 必須是一個有效的 SQL Server 標(biāo)識符,并且它必須在 WSFC 群集的所有可用性組中保持唯一。

AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| SECONDARY | NONE }??

指定在選擇執(zhí)行備份的位置時有關(guān)備份作業(yè)應(yīng)該如何評估主副本的首選項。 您可以編寫給定備份作業(yè)的腳本,以便納入自動備份首選項。 SQL Server 不會強制執(zhí)行首選項,因此它對即席備份沒有影響,了解這一點很重要。

僅在主副本上支持。????

這些值如下所示:????

PRIMARY??????

指定備份應(yīng)該始終在主副本上發(fā)生。 如果您需要在對輔助副本運行備份時不支持的備份功能,例如創(chuàng)建差異備份,此選項將很有用。

???????????????? 重要提示??????????????

如果您計劃使用日志傳送為可用性組準(zhǔn)備任何輔助數(shù)據(jù)庫,請將自動備份首選項設(shè)置為“主要”,直到準(zhǔn)備好所有輔助數(shù)據(jù)庫并將其加入可用性組。????????????????

SECONDARY_ONLY??????

指定備份應(yīng)該永遠(yuǎn)不會在主副本上執(zhí)行。 如果主副本是唯一的聯(lián)機副本,則備份應(yīng)不會發(fā)生。

SECONDARY??????

指定備份應(yīng)在輔助副本上發(fā)生,但在主副本是唯一聯(lián)機的副本時除外。 在該情況下,備份應(yīng)在主副本上發(fā)生。 這是默認(rèn)行為。

NONE??????

指定您希望在選擇要執(zhí)行備份的副本時備份作業(yè)將忽略可用性副本的角色。 請注意,備份作業(yè)可能評估其他因素,例如每個可用性副本的備份優(yōu)先級及其操作狀態(tài)和已連接狀態(tài)。

???????????? 重要提示??????????

沒有強制的 AUTOMATED_BACKUP_PREFERENCE 設(shè)置。 對此首選項的解釋依賴于您為給定可用性組中的數(shù)據(jù)庫撰寫作業(yè)腳本的邏輯(如果有)。 自動備份首選項設(shè)置對即席備份沒有影響。 有關(guān)詳細(xì)信息,請參閱配置可用性副本備份 (SQL Server)。

???????????? 注意??????????

若要查看現(xiàn)有可用性組的自動備份首選項,請選擇 sys.availability_groups 目錄視圖的 automated_backup_preferenceautomated_backup_preference_desc 列。 此外,sys.fn_hadr_backup_is_preferred_replica (Transact-SQL) 還可以用于確定首選備份副本。 此函數(shù)始終對至少一個副本返回 1(即使 AUTOMATED_BACKUP_PREFERENCE = NONE)。

FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }??

指定將為此可用性組觸發(fā)自動故障轉(zhuǎn)移的失敗條件。 FAILURE_CONDITION_LEVEL 在組級別設(shè)置,但僅針對為同步-提交可用性模式 (AVAILIBILITY_MODE = SYNCHRONOUS_COMMIT) 配置的可用性副本。 此外,只有在主副本和輔助副本均配置為自動故障轉(zhuǎn)移模式 (FAILOVER_MODE = AUTOMATIC) 并且輔助副本當(dāng)前與主副本同步的情況下,失敗條件才可以觸發(fā)自動故障轉(zhuǎn)移。

僅在主副本上支持。????

失敗條件級別的范圍 (1–5) 是從最少限制的級別 1 到最多限制的級別 5。 給定的條件級別包含所有限制較少的級別。 因此,最嚴(yán)格的條件級別 5 包含四個限制較少的級別 (1-4),級別 4 包含級別 1-3,依此類推。 下表介紹了與各級別相對應(yīng)的失敗條件。

級別????????????

失敗條件????????????

1????????????

指定在發(fā)生以下任何情況時應(yīng)啟動自動故障轉(zhuǎn)移:????????????

  • SQL Server 服務(wù)停止。????????????????

  • 因為沒有從服務(wù)器實例接收到 ACK,連接到 WSFC 群集的可用性組的租期到期。 有關(guān)詳細(xì)信息,請參閱工作方式:SQL Server AlwaysOn 租約超時。

2????????????

指定在發(fā)生以下任何情況時應(yīng)啟動自動故障轉(zhuǎn)移:????????????

  • SQL Server 的實例未連接到群集,并且超出了可用性組的用戶指定的 HEALTH_CHECK_TIMEOUT 閾值。????????????????

  • 可用性副本處于失敗狀態(tài)。????????????????

3????????????

指定在發(fā)生了嚴(yán)重的 SQL Server 內(nèi)部錯誤(例如孤立的自旋鎖、嚴(yán)重的寫訪問沖突或過多的轉(zhuǎn)儲)時應(yīng)啟動自動故障轉(zhuǎn)移。????????????

這是默認(rèn)行為。????????????

4????????????

指定在發(fā)生了中等程度的 SQL Server 內(nèi)部錯誤(例如在 SQL Server 內(nèi)部資源池中出現(xiàn)持久的內(nèi)存不足情況)時應(yīng)啟動自動故障轉(zhuǎn)移。????????????

5????????????

指定在出現(xiàn)任何符合的失敗條件時應(yīng)啟動自動故障轉(zhuǎn)移,這些失敗條件包括:????????????

  • SQL 引擎的工作線程耗盡。????????????????

  • 檢測到無法解決的死鎖。????????????????

???????????? 注意??????????

缺少 SQL Server 的實例對客戶端請求的響應(yīng)與可用性組無關(guān)。????????????

FAILURE_CONDITION_LEVEL 和 HEALTH_CHECK_TIMEOUT 值為給定組定義“靈活的故障轉(zhuǎn)移策略”。 此靈活的故障轉(zhuǎn)移策略向您提供對必須導(dǎo)致自動故障轉(zhuǎn)移的條件的精確控制。 有關(guān)詳細(xì)信息,請參閱針對可用性組的自動故障轉(zhuǎn)移的靈活的故障轉(zhuǎn)移策略 (SQL Server)。

HEALTH_CHECK_TIMEOUT =?milliseconds??

指定在 WSFC 群集假定服務(wù)器實例速度較慢或掛起前,等待 sp_server_diagnostics 系統(tǒng)存儲過程返回服務(wù)器運行狀況信息的等待時間(毫秒)。 HEALTH_CHECK_TIMEOUT 在組級別設(shè)置,但僅針對為具有自動故障轉(zhuǎn)移的同步-提交可用性模式 (AVAILIBILITY_MODE = SYNCHRONOUS_COMMIT) 配置的可用性副本。 此外,只有在主副本和輔助副本均配置為自動故障轉(zhuǎn)移模式 (FAILOVER_MODE = AUTOMATIC) 并且輔助副本當(dāng)前與主副本同步的情況下,運行狀況檢查超時才可以觸發(fā)自動故障轉(zhuǎn)移。

默認(rèn)的 HEALTH_CHECK_TIMEOUT 值為 30000 毫秒(30 秒)。 最小值為 15000 毫秒(15 秒),最大值為 4294967295 毫秒。

僅在主副本上支持。????

???????????? 重要提示??????????

sp_server_diagnostics 在數(shù)據(jù)庫級別不執(zhí)行運行狀況檢查。????????????

ADD DATABASE database_name??

指定要添加到可用性組的一個或多個用戶數(shù)據(jù)庫的列表。 這些數(shù)據(jù)庫必須位于承載當(dāng)前主副本的 SQL Server 實例上。 您可以為一個可用性組指定多個數(shù)據(jù)庫,但每個數(shù)據(jù)庫只能屬于一個可用性組。 有關(guān)可用性組可支持的數(shù)據(jù)庫類型的信息,請參閱針對 AlwaysOn 可用性組的先決條件、限制和建議 (SQL Server)。 若要找出已屬于某個可用性組的本地數(shù)據(jù)庫,請參閱 sys.databases 目錄視圖中的 replica_id 列。

僅在主副本上支持。????

???????????? 注意??????????

在創(chuàng)建可用性組后,將需要連接到承載輔助副本的每個服務(wù)器實例,然后準(zhǔn)備每個輔助數(shù)據(jù)庫并將它們加入可用性組。 有關(guān)詳細(xì)信息,請參閱啟動 AlwaysOn 輔助數(shù)據(jù)庫的數(shù)據(jù)移動 (SQL Server)。

REMOVE DATABASE database_name??

從可用性組中刪除指定的主數(shù)據(jù)庫和相應(yīng)的輔助數(shù)據(jù)庫。 僅在主副本上支持。

有關(guān)在從可用性組中刪除可用性數(shù)據(jù)庫之后推薦執(zhí)行的后續(xù)任務(wù)的信息,請參閱從可用性組中刪除主數(shù)據(jù)庫 (SQL Server)。????

ADD REPLICA ON??

指定一到四個 SQL Server 實例以便在可用性組中承載輔助副本。 通過在每個副本的服務(wù)器實例地址后追加 WITH (…) 子句來指定每個副本。

僅在主副本上支持。????

您需要將每個新的輔助副本聯(lián)接到可用性組。 有關(guān)詳細(xì)信息,請參閱本節(jié)后面對 JOIN 選項的說明。

<server_instance>??

指定承載副本的 SQL Server 實例的地址。 地址格式依賴于該實例是默認(rèn)實例還是命名實例以及它是獨立實例還是故障轉(zhuǎn)移群集實例 (FCI)。 語法如下:

{ 'system_name[\instance_name]' |'FCI_network_name[\instance_name]' }

此地址由以下部分組成:????

system_name???????? ??????

SQL Server 的目標(biāo)實例所在的計算機系統(tǒng)的 NetBIOS 名稱。 此計算機必須是一個 WSFC 節(jié)點。

FCI_network_name???????? ??????

用于訪問 SQL Server 故障轉(zhuǎn)移群集的網(wǎng)絡(luò)名稱。 如果服務(wù)器實例作為 SQL Server 故障轉(zhuǎn)移伙伴參與,則使用此名稱。 在 FCI 服務(wù)器實例上執(zhí)行 SELECT @@SERVERNAME 將返回其完整的 'FCI_network_name[\instance_name]' 字符串(即完整的副本名稱)。

instance_name???????? ??????

system_name 或 FCI_network_name 承載且已啟用 AlwaysOn 的 SQL Server 實例的名稱。 對于默認(rèn)服務(wù)器實例,instance_name 是可選的。 此實例名不區(qū)分大小寫。 在獨立服務(wù)器實例上,此值名稱與執(zhí)行 @@SERVERNAME 所返回的值相同。

\??????

僅在指定 instance_name 時才使用的分隔符,用來將該名稱與 system_name 或 FCI_network_name 區(qū)分開來。????????

有關(guān) WSFC 節(jié)點和服務(wù)器實例的先決條件的信息,請參閱 針對 AlwaysOn 可用性組的先決條件、限制和建議 (SQL Server)。????

ENDPOINT_URL =?'TCP://system-address:port'??

指定 SQL Server 實例(該實例將承載您要添加或修改的可用性副本)的數(shù)據(jù)庫鏡像端點的 URL 路徑。????

ENDPOINT_URL 在 ADD REPLICA ON 子句中是必需的,在 MODIFY REPLICA ON 子句中是可選的。 有關(guān)詳細(xì)信息,請參閱在添加或修改可用性副本時指定端點 URL (SQL Server)。

'TCP://system-address:port'??

指定一個 URL,它用于指定端點 URL 或只讀路由 URL。 URL 參數(shù)如下所示:

system-address???????? ??????

一個字符串,例如系統(tǒng)名稱、完全限定的域名或 IP 地址,它們明確標(biāo)識了目標(biāo)計算機系統(tǒng)。????????

port???????? ??????

是與服務(wù)器實例的鏡像端點關(guān)聯(lián)的端口號(對于 ENDPOINT_URL 選項)或服務(wù)器實例的數(shù)據(jù)庫引擎使用的端口號(對于 READ_ONLY_ROUTING_URL 選項)。????????

AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }??

指定在主副本可以在給定主數(shù)據(jù)庫上提交事務(wù)前,是否必須等待輔助副本確認(rèn)日志記錄硬編碼(寫入)到磁盤。 針對同一主副本上不同數(shù)據(jù)庫的事務(wù)可以單獨提交。

SYNCHRONOUS_COMMIT??????

指定主副本已在此輔助副本上進(jìn)行硬編碼(同步提交模式)前,將等待提交事務(wù)。 您可以為最多三個副本(包括主副本)指定 SYNCHRONOUS_COMMIT。

ASYNCHRONOUS_COMMIT??????

指定主副本無需等待此輔助副本對日志進(jìn)行硬編碼(同步提交可用性模式)即可提交事務(wù)。 您可以為最多五個可用性副本(包括主副本)指定 ASYNCHRONOUS_COMMIT。

AVAILABILITY_MODE 在 ADD REPLICA ON 子句中是必需的,在 MODIFY REPLICA ON 子句中是可選的。 有關(guān)詳細(xì)信息,請參閱可用性模式(AlwaysOn 可用性組)。

FAILOVER_MODE = { AUTOMATIC | MANUAL }??

指定您要定義的可用性副本的故障轉(zhuǎn)移模式。????

AUTOMATIC??????

啟用自動故障轉(zhuǎn)移。 僅在指定 VAILABILITY_MODE = SYNCHRONOUS_COMMIT 的情況下才支持 AUTOMATIC。 您可以為最多兩個可用性副本(包括主副本)指定 AUTOMATIC。

???????????????? 注意??????????????

SQL Server 故障轉(zhuǎn)移群集實例 (FCI) 不支持通過可用性組來自動進(jìn)行故障轉(zhuǎn)移,因此,只能為手動故障轉(zhuǎn)移配置任何由 FCI 承載的可用性副本。????????????????

MANUAL??????

允許數(shù)據(jù)庫管理員手動故障轉(zhuǎn)移或強制手動故障轉(zhuǎn)移(“強制故障轉(zhuǎn)移”)。????????

FAILOVER_MODE 在 ADD REPLICA ON 子句中是必需的,在 MODIFY REPLICA ON 子句中是可選的。 存在在不同條件下支持的兩種手動故障轉(zhuǎn)移,沒有數(shù)據(jù)丟失的手動故障轉(zhuǎn)移和強制故障轉(zhuǎn)移(可能存在數(shù)據(jù)丟失)。 有關(guān)詳細(xì)信息,請參閱故障轉(zhuǎn)移和故障轉(zhuǎn)移模式(AlwaysOn 可用性組)。

BACKUP_PRIORITY =n??

指定相對于同一可用性組中的其他副本,在此副本上執(zhí)行備份的優(yōu)先級。 該值是范圍 0..100 中的整數(shù)。 這些值將具有以下含義:

  • 1..100 表示可被選擇來執(zhí)行備份的可用性副本。 1 表示最低優(yōu)先級,100 表示最高優(yōu)先級。 如果 BACKUP_PRIORITY = 1,則只有在沒有更高的優(yōu)先級可用性副本當(dāng)前可用的情況下,才會選擇可用性副本來執(zhí)行備份。

  • 0 表示此可用性副本將永遠(yuǎn)不會被選擇執(zhí)行備份。 例如,這對于您永遠(yuǎn)不希望備份故障轉(zhuǎn)移到的遠(yuǎn)程可用性副本十分有用。

有關(guān)詳細(xì)信息,請參閱活動輔助副本:輔助副本備份(AlwaysOn 可用性組)。????

SECONDARY_ROLE ()??

指定在此可用性副本當(dāng)前擁有輔助角色(即它是輔助副本)時將要生效的角色特有設(shè)置。 在括號內(nèi)指定一個或兩個輔助角色選項。 如果指定兩個選項,則使用以逗號分隔的列表。

輔助角色選項如下所示:????

ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL }??????

指定給定的可用性副本(正在執(zhí)行輔助角色,也就是充當(dāng)輔助副本)的數(shù)據(jù)庫是否可以接受來自客戶端的連接,可以是以下之一:????????

NO??????????

不允許與此副本的輔助數(shù)據(jù)庫的用戶連接。 它們不可用于讀訪問。 這是默認(rèn)行為。

READ_ONLY??????????

只允許連接 Application Intent 屬性設(shè)置為 ReadOnly 的輔助副本中的數(shù)據(jù)庫。 有關(guān)此屬性的詳細(xì)信息,請參閱將連接字符串關(guān)鍵字用于 SQL Server Native Client。

ALL??????????

允許針對輔助副本中的數(shù)據(jù)庫的所有連接進(jìn)行只讀訪問。????????????

有關(guān)詳細(xì)信息,請參閱活動輔助副本:可讀輔助副本(AlwaysOn 可用性組)。????????

READ_ONLY_ROUTING_URL =?'TCP://system-address:port'??????

指定要用于此可用性副本的路由讀意向連接請求的 URL。 這是 SQL Server 數(shù)據(jù)庫引擎?zhèn)陕牭?URL。 通常,SQL Server 數(shù)據(jù)庫引擎的默認(rèn)實例偵聽 TCP 端口 1433。

對于命名實例,您可以通過查詢 sys.dm_tcp_listener_states 動態(tài)管理視圖的 porttype_desc 列來獲取端口號。 服務(wù)器實例使用 Transact-SQL 偵聽器 (type_desc='TSQL')。

有關(guān)計算可用性副本的只讀路由 URL 的詳細(xì)信息,請參閱計算 AlwaysOn 的 read_only_routing_url。????????

???????????????? 注意??????????????

對于 SQL Server 的命名實例,應(yīng)將 Transact-SQL 偵聽器配置為使用特定端口。 有關(guān)詳細(xì)信息,請參閱配置服務(wù)器以偵聽特定 TCP 端口(SQL Server 配置管理器)。

PRIMARY_ROLE ()??

指定在此可用性副本當(dāng)前擁有主角色(即它是主副本)時將要生效的角色特有設(shè)置。 在括號內(nèi)指定一個或兩個主角色選項。 如果指定兩個選項,則使用以逗號分隔的列表。

主角色選項如下所示:????

ALLOW_CONNECTIONS = { READ_WRITE | ALL }??????

指定給定的可用性副本(正在執(zhí)行主要角色,也就是充當(dāng)主副本)的數(shù)據(jù)庫可以接受的來自客戶端的連接類型,可以是以下之一:????????

READ_WRITE??????????

不允許 Application Intent 連接屬性設(shè)置為 ReadOnly 的連接。 在 Application Intent 屬性設(shè)置為 ReadWrite 或者未設(shè)置 Application Intent 連接屬性時,將允許連接。 有關(guān) Application Intent 連接屬性的詳細(xì)信息,請參閱將連接字符串關(guān)鍵字用于 SQL Server Native Client。

ALL??????????

主副本中的數(shù)據(jù)庫允許所有連接。 這是默認(rèn)行為。

READ_ONLY_ROUTING_LIST = { (<server_instance> [ ,...n?] ) |?NONE }??????

指定一個以逗號分隔的服務(wù)器實例列表,這些實例承載在以輔助角色運行時滿足以下要求的此可用性組的可用性副本:????????

  • 被配置為允許所有連接或只讀連接(參閱上文 SECONDARY_ROLE 選項的 ALLOW_CONNECTIONS 參數(shù))。????????????

  • 定義了只讀路由 URL(參閱上文 SECONDARY_ROLE 選項的 READ_ONLY_ROUTING_URL 參數(shù))。????????????

READ_ONLY_ROUTING_LIST 的值如下:????????

<server_instance>??????????

指定承載可用性副本的 SQL Server 實例的地址,該副本在以輔助角色運行時是可讀輔助副本。????????????

使用以逗號分隔的列表指定可能承載可讀輔助副本的所有服務(wù)器實例。 只讀路由將遵循在列表中指定服務(wù)器實例的順序。 如果在副本的只讀路由列表中包含副本的宿主服務(wù)器實例,通常將此服務(wù)器實例放在列表末尾比較好,這樣在一個輔助副本可用時讀意向連接將訪問它。

NONE??????????

指定此可用性副本為主副本時將不支持只讀路由。 這是默認(rèn)行為。 與 MODIFY REPLICA ON 一起使用時,此值將禁用現(xiàn)有列表(如果有)。

SESSION_TIMEOUT =seconds??

以秒為單位指定會話超時期限。 如果不指定此選項,則在默認(rèn)情況下,超時期限為 10 秒。 最小值為 5 秒。

???????????? 重要提示??????????

我們建議您將超時期限保持為 10 秒或更長。????????????

有關(guān)會話超時期限的詳細(xì)信息,請參閱 AlwaysOn 可用性組概述 (SQL Server)。????

MODIFY REPLICA ON??

修改可用性組的任何副本。 要修改的副本列表包含每個副本的服務(wù)器實例地址和 WITH (…) 子句。

僅在主副本上支持。????

REMOVE REPLICA ON??

從可用性組中刪除指定的輔助副本。 不能從可用性組刪除當(dāng)前的主副本。 在刪除時,副本停止接收數(shù)據(jù)。 其輔助數(shù)據(jù)庫從可用性組中刪除,并且進(jìn)入 RESTORING 狀態(tài)。

僅在主副本上支持。????

???????????? 注意??????????

如果您在某一副本處于不可用或失敗狀態(tài)時刪除該副本,則在其恢復(fù)聯(lián)機狀態(tài)時,將會發(fā)現(xiàn)不再屬于該可用性組。????????????

JOIN??

導(dǎo)致本地服務(wù)器實例承載指定可用性組中的輔助副本。????

僅在尚未加入可用性組的輔助副本上支持。????

有關(guān)詳細(xì)信息,請參閱將輔助副本聯(lián)接到可用性組 (SQL Server)。????

FAILOVER??

啟動可用性組的手動故障轉(zhuǎn)移,并且沒有對您連接到的輔助副本的數(shù)據(jù)丟失。 對其輸入故障轉(zhuǎn)移目標(biāo)故障轉(zhuǎn)移命令的副本稱為“故障轉(zhuǎn)移目標(biāo)”。 故障轉(zhuǎn)移目標(biāo)將接管主要角色,恢復(fù)各數(shù)據(jù)庫的副本并且使它們作為新的主數(shù)據(jù)庫處于聯(lián)機狀態(tài)。 以前的主副本同時轉(zhuǎn)換為輔助角色,并且其數(shù)據(jù)庫將成為輔助數(shù)據(jù)庫且立即掛起。 在發(fā)生一系列故障后,這些角色可能來回切換。

僅在當(dāng)前與主副本同步的同步提交輔助副本上支持。 請注意,對于要同步的輔助副本,主副本也必須在同步提交模式下運行。

???????????? 注意??????????

故障轉(zhuǎn)移命令將在故障轉(zhuǎn)移目標(biāo)接受它之后立即返回。 但是,在可用性組完成故障轉(zhuǎn)移之后,數(shù)據(jù)庫恢復(fù)操作將以異步方式執(zhí)行。

有關(guān)執(zhí)行計劃的手動故障轉(zhuǎn)移的限制、先決條件和建議的信息,請參閱執(zhí)行可用性組的計劃手動故障轉(zhuǎn)移 (SQL Server)。????

FORCE_FAILOVER_ALLOW_DATA_LOSS??
???????????? 注意??????????

強制故障轉(zhuǎn)移(這可能會涉及一些數(shù)據(jù)丟失)嚴(yán)格來說是一種災(zāi)難恢復(fù)方法。 因此,我們強烈建議您僅在以下情況下才強制故障轉(zhuǎn)移:主副本不再運行、您愿意承擔(dān)丟失數(shù)據(jù)的風(fēng)險并且您必須立即將服務(wù)還原到可用性組。

僅在其角色處于 SECONDARY 或 RESOLVING 狀態(tài)的副本上支持。 --對其輸入故障轉(zhuǎn)移命令的副本稱為“故障轉(zhuǎn)移目標(biāo)”。

強制將可用性組故障轉(zhuǎn)移到故障轉(zhuǎn)移目標(biāo)(可能會丟失數(shù)據(jù))。 故障轉(zhuǎn)移目標(biāo)將接管主要角色,恢復(fù)各數(shù)據(jù)庫的副本并且使它們作為新的主數(shù)據(jù)庫處于聯(lián)機狀態(tài)。 在剩余的任何輔助副本上,在手動恢復(fù)前每個輔助數(shù)據(jù)庫都處于掛起狀態(tài)。 在以前的主副本可用前,它將切換到輔助角色,并且其數(shù)據(jù)庫將成為掛起的輔助數(shù)據(jù)庫。

???????????? 注意??????????

故障轉(zhuǎn)移命令將在故障轉(zhuǎn)移目標(biāo)接受它之后立即返回。 但是,在可用性組完成故障轉(zhuǎn)移之后,數(shù)據(jù)庫恢復(fù)操作將以異步方式執(zhí)行。

有關(guān)強制故障轉(zhuǎn)移的限制、必備條件和建議的信息,以及強制故障轉(zhuǎn)移對可用性組中以前的主數(shù)據(jù)庫的影響,請參閱執(zhí)行可用性組的強制手動故障轉(zhuǎn)移 (SQL Server)。????

ADD LISTENER dns_name( <add_listener_option> )??

為此可用性組定義新的可用性組偵聽器。 僅在主副本上支持。

???????????? 重要提示??????????

在創(chuàng)建第一個偵聽器之前,我們強烈建議您閱讀創(chuàng)建或配置可用性組偵聽器 (SQL Server)。????????????

為給定可用性組創(chuàng)建偵聽器后,我們強烈建議您執(zhí)行以下操作:????????????

  • 請求您的網(wǎng)絡(luò)管理員將該偵聽器的 IP 地址保留為專用。????????????????

  • 將該偵聽器的 DNS 主機名提供給應(yīng)用程序開發(fā)人員,以便在請求與此可用性組的客戶端連接時用于連接字符串中。????????????????

dns_name???? ??

指定可用性組偵聽器的 DNS 主機名。 在域和 NetBIOS 中,偵聽器的 DNS 名稱必須唯一。

dns_name 是一個字符串值。 該名稱只能包含字母數(shù)字字符、破折號 (-) 和連字符 (_),順序不分先后。 DNS 主機名不區(qū)分大小寫。 最大長度為 63 個字符。

我們建議您指定一個有意義的字符串。 例如,對于名為 AG1的可用性組,有意義的 DNS 主機名將是 ag1-listener。

???????????? 重要提示??????????

NetBIOS 只識別 dns_name 中的前 15 個字符。 如果您的兩個 WSFC 群集均由同一 Active Directory 控制,而您試圖使用超過 15 個字符的名稱(具有相同的 15 字符前綴)在這兩個群集中創(chuàng)建可用性組偵聽器,此時您將收到錯誤,報告無法使虛擬網(wǎng)絡(luò)名稱資源聯(lián)機。 有關(guān) DNS 名稱的前綴命名規(guī)則的信息,請參閱分配域名。

<add_listener_option>??

ADD LISTENER 采用以下選項之一:????

WITH DHCP [ ON { (four_part_ipv4_address,four_part_ipv4_mask) } ]??????

指定可用性組偵聽器將使用動態(tài)主機配置協(xié)議 (DHCP)。 或者,使用 ON 子句標(biāo)識將在其上創(chuàng)建此偵聽器的網(wǎng)絡(luò)。 DHCP 限制為單個子網(wǎng),該子網(wǎng)用于在可用性組中承載可用性副本的每個服務(wù)器實例。

???????????????? 重要提示??????????????

不建議在生產(chǎn)環(huán)境中使用 DHCP。 如果停止工作且 DHCP IP 租期已到,則需要額外的時間來注冊與偵聽器 DNS 名稱相關(guān)聯(lián)且影響客戶端連接的新 DHCP 網(wǎng)絡(luò) IP 地址。 但是,DHCP 適合用于設(shè)置開發(fā)和測試環(huán)境以驗證可用性組的基本功能并適合與應(yīng)用程序集成。

例如:????????

WITH DHCP ON ('10.120.19.0','255.255.254.0')

WITH IP ( { (four_part_ipv4_address,four_part_ipv4_mask) |?(ipv6_address) } [?, ...n?]?)? [ , PORT =listener_port ]??????

指定可用性組偵聽器將使用一個或多個靜態(tài) IP 地址,而不使用 DHCP。 若要跨多個子網(wǎng)創(chuàng)建一個可用性組,每個子網(wǎng)均需要一個偵聽器配置中的靜態(tài) IP 地址。 對于某一給定子網(wǎng),靜態(tài) IP 地址可以是 IPv4 地址或 IPv6 地址。 請與您的網(wǎng)絡(luò)管理員聯(lián)系以獲取將承載新可用性組的可用性副本的每個子網(wǎng)的靜態(tài) IP 地址。

例如:????????

WITH IP ( ('10.120.19.155','255.255.254.0') )

four_part_ipv4_address???? ??

指定可用性組偵聽器的由四部分組成的 IPv4 地址。 例如,10.120.19.155。

four_part_ipv4_mask???? ??

指定可用性組偵聽器的由四部分組成的 IPv4 掩碼。 例如,255.255.254.0。

ipv6_address???? ??

指定可用性組偵聽器的 IPv6 地址。 例如,2001::4898:23:1002:20f:1fff:feff:b3a3。

PORT =listener_port??

指定要由通過 WITH IP 子句指定的可用性組偵聽器使用的端口號 listener_port。 PORT 是可選的。

支持默認(rèn)端口號 1433。 但出于安全考慮,我們建議使用其他端口號。

例如:WITH IP ( ('2001::4898:23:1002:20f:1fff:feff:b3a3') ) , PORT = 7777????

MODIFY LISTENER dns_name ?( <modify_listener_option> )??

修改此可用性組的現(xiàn)有可用性組偵聽器。 僅在主副本上支持。

<modify_listener_option>??

MODIFY LISTENER 采用以下選項之一:????

ADD IP { (four_part_ipv4_address, ?four_part_ipv4_mask) |?(dns_nameipv6_address) }??????

將指定的 IP 地址添加到由 dns_name 指定的可用性組偵聽器。????????

PORT =listener_port??????

請參閱本節(jié)前面對此參數(shù)的說明。????????

RESTART LISTENER dns_name??

重新啟動與指定的 DNS 名稱關(guān)聯(lián)的偵聽器。 僅在主副本上支持。

REMOVE LISTENER dns_name??

刪除與指定的 DNS 名稱關(guān)聯(lián)的偵聽器。 僅在主副本上支持。

OFFLINE??

使聯(lián)機的可用性組脫機。 同步提交數(shù)據(jù)庫沒有數(shù)據(jù)丟失。

在某一可用性組脫機后,其數(shù)據(jù)庫將不可用于客戶端,并且您無法使該可用性組重新聯(lián)機。 因此,在將可用性組資源遷移到新 WSFC 群集時,僅在 AlwaysOn 可用性組 的跨群集遷移過程中使用 OFFLINE 選項。

有關(guān)詳細(xì)信息,請參閱 使可用性組脫機 (SQL Server)。????

?? [返回頁首]??

???????????????? 先決條件和限制?????????????? ??????????????

有關(guān)針對可用性副本及其宿主服務(wù)器實例和計算機的先決條件和限制的信息,請參閱針對 AlwaysOn 可用性組的先決條件、限制和建議 (SQL Server)。

有關(guān)針對 AVAILABILITY GROUP Transact-SQL 語句的限制的信息,請參閱 AlwaysOn 可用性組的 Transact-SQL 語句概述 (SQL Server)。

???????????????? 安全性?????????????? ??????????????

權(quán)限

對可用性組要求 ALTER AVAILABILITY GROUP 權(quán)限、CONTROL AVAILABILITY GROUP 權(quán)限、ALTER ANY AVAILABILITY GROUP 權(quán)限或 CONTROL SERVER 權(quán)限。??

???????????????? 示例?????????????? ??????????????

A.將輔助副本聯(lián)接到可用性組

下面的示例聯(lián)接連接到 AccountsAG可用性組的輔助副本。??

???? ALTER AVAILABILITY GROUP AccountsAG JOIN; GO

B.強制可用性組的故障轉(zhuǎn)移

下面的示例強制 AccountsAG可用性組故障轉(zhuǎn)移到您所連接的輔助副本。??

???? ALTER AVAILABILITY GROUP AccountsAG FORCE_FAILOVER_ALLOW_DATA_LOSS; GO 《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的ALTER AVAILABILITY GROUP (Transact-SQL)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。