[SQL]SQL Server 2022 安裝初體驗(三) - Contained Availability Group

繼前一篇介紹有關自主可用性群組對於登入帳號的說明,這一篇來討論關於排程的部分

在自己可用性群組 ( Contained Availability Group ),基本上會讓我們在使用 AG 的時候,也可以有對應的帳號和排程可以使用,而在前一篇文章中 ( [SQL]SQL Server 2022 安裝初體驗(二) - Contained Availability Group ),已經測試過登入帳號,接下來我就實測一下排程,看看是否如文件上所說的一樣神奇囉。

當然,我們還是使用如同前面一篇文章的案例,利用 SSMS 連接我們測試案例的 Availability group listener : SQLListen,並且透過 SSMS 去建立一個新的排程。基本上目前這個排程沒有甚麼特別的事情,就只是單純去下一段 SQL 去執行。

 

當我建立完這個 Job 之後,他的狀況跟之前建立帳號的情況有點類似,連接 SQLListen 的時候所建立的 Job 雖然可以正常建立和執行,但是當我們連接 SQL Server Instance 的時候,卻是沒有辦法看到那個 Job 。

而這個在建立好之後,也會利用 Primary 的 SQL Agent 去執行,而在下面的範例中,我也試著進行容錯移轉到 SQL-2 上面,但此時因為我 SQL-2 上面的 SQL Agent 服務沒有啟動,因此會看到中間有一段時間是沒有執行的,但後來我發現這個狀況之後,將 SQL-2 那台上面的 SQL Agent 給啟動起來,看起來這個 Job 也順利的在 SQL-2 上面正常來執行了。


除了一般的 Job,很多時候我們也都會利用維護計畫 ( Maintenance Plan ) 來設定一些例行性的工作,但很不幸的在 SSMS v19 Preview 版本中,我找不到這個功能來測試,因此我用另外的電腦,安裝 SSMS v18.11.1 的版本來測試,透過 SSMS 來建立維護計畫,看看是否可以順利執行,從下圖中看起來可以順利建立,但可能是因為 CTP 版本,目前在 Agent 的作業中,可以查看執行的狀況,但是從維護計畫上去查看,卻是沒有辦法看到任何執行紀錄。

可是建立好的維護計畫,執行上看起來有點問題,從錯誤訊息中看起來,應該是 SSIS 的封裝目前存在 msdb 中可能因為有些加密或者是其他處理,導致讀取的時候有問題,因此目前在維護計畫上,有可能是因為 CTP 的版本出問題,此部分就等正式版本出來之後,再來測試看看囉。


因此總結一下目前針對 msdb 的同步狀況

  1. 基本上一般的 SQL Agent 的作業 ( Job ) 當使用  Availability group listener 去建立的話,則會在 Primary 那一台的 SQL Agent 去執行。
  2. 目前有可能是 CTP 版本,因此還無法支援維護計畫,也因此 SSMS v19 preview 的版本就把這個節點給隱藏。
  3. 如果有特定腳本要在 Secondary 上執行,或者是跟 AG 沒有關聯的,可以直接連接到 Instance 上面的 SQL Agent 來建立相關作業