RDS Connection Broker – błąd podczas konfiguracji High Availability: "Could not create the database RDS_DB_TERM"

Paweł S 0 Punkty reputacji
2025-11-24T14:01:51.7333333+00:00

Podczas próby skonfigurowania RD Connection Broker w trybie High Availability pojawia się błąd uniemożliwiający zakończenie konfiguracji.

W kreatorze RDS HA otrzymuję komunikat:

Could not create the database 'RDS_DB_TERM'. Please check that the broker server

has access to the SQL server, the path for -DatabaseFilePath parameter exists

and contains the SQL Server database file, the connection to SQL database is

correct and SQL database is online.

Zachowanie wygląda następująco:

Kreator RDS tworzy bazę na serwerze SQL, ale ustawia ją automatycznie w tryb SINGLE_USER.

Jeśli wcześniej ręcznie utworzę pustą bazę, kreator również przełącza ją na SINGLE_USER i potem konfiguracja kończy się błędem.

Problem występuje tylko wtedy, gdy SQL Server jest częścią AlwaysOn Availability Group (HA) i używam listener’a.

Gdy wykonuję identyczną konfigurację na serwerze SQL standalone, wszystko działa poprawnie i kreator kończy się sukcesem.

Wygląda to tak, jakby kreator RDS nie był w stanie poprawnie pracować z bazą w środowisku HA i pozostawia bazę zablokowaną w trybie single-user.

Czy są dodatkowe wymagania dotyczące tworzenia bazy RDS_DB_TERM w AlwaysOn AG? A może RDS Connection Broker HA nie wspiera konfiguracji na listenerze SQL w trakcie tworzenia bazy?

Windows dla firm | Windows Server | Wysoka dostępność magazynu | Klastrowanie i wysoka dostępność
{liczba} komentarzy Brak komentarzy
{count} głosów

{liczba} odpowiedzi

Sortuj według: Najbardziej pomocny
  1. Domic Vo 11,700 Punkty reputacji Niezależny Doradca
    2025-11-24T15:26:33.48+00:00

    Szanowni Państwo,

    Dziękujemy za szczegółowy opis problemu – to bardzo ułatwia jego zrozumienie. Wygląda na to, że kreator RDS High Availability nie współpracuje poprawnie z listenerem AlwaysOn podczas tworzenia bazy danych. W efekcie baza zostaje ustawiona w tryb SINGLE_USER, co blokuje dalszą konfigurację. Nie jest to błąd po Państwa stronie – kreator wymaga bezpośredniego dostępu do instancji SQL, a nie aliasu listenera.

    Aby obejść ten problem, rekomendujemy utworzenie bazy ręcznie na konkretnej instancji SQL (z pominięciem listenera), a następnie ustawienie jej w trybie MULTI_USER poleceniem: ALTER DATABASE RDS_DB_TERM SET MULTI_USER; Po tym kroku proszę uruchomić kreator RDS HA, wskazując instancję SQL zamiast listenera. Po zakończeniu konfiguracji bazę można ręcznie dodać do Availability Group.

    Warto pamiętać, że listener nadaje się do odczytu i failoveru, ale nie do operacji tworzenia bazy. Proszę również upewnić się, że konto używane przez RDS Broker ma pełne uprawnienia do instancji SQL oraz że ścieżka podana w parametrze -DatabaseFilePath jest dostępna z perspektywy instancji, a nie listenera.

    Jeśli potrzebują Państwo wsparcia przy przygotowaniu skryptu do dodania bazy do AG lub chcieliby przejść przez ten proces krok po kroku, z przyjemnością służymy pomocą.

    Domic Vo.

    {liczba} komentarzy Brak komentarzy

  2. Paweł S 0 Punkty reputacji
    2025-11-25T08:57:36.7933333+00:00

    Witam,

    Wykonałem czynności zgodnie z Państwa zaleceniami – utworzyłem bazę ręcznie na instancji SQL, nadałem wymagane uprawnienia (dbcreator), a następnie ustawiłem bazę w trybie MULTI_USER i uruchomiłem kreator RDS HA, wskazując konkretną instancję.

    Niestety kreator nadal zmienia tryb bazy na SINGLE_USER, co kończy się tym samym błędem: "Could not create the database 'RDS_DB'. Please..."

    W logach SQL widać, że proces zatrzymuje się na etapie:

    Setting database option ALLOW_SNAPSHOT_ISOLATION to ON for database 'RDS_DB'.SQL_log

    Na instancji SQL zostały nadane uprawnienia dla grupy, w której znajduje się serwer — grupa posiada role sysadmin, public oraz dbcreator.

    Proszę o dalsze wskazówki.

    Pozdrawiam,

    Pawel

    {liczba} komentarzy Brak komentarzy

Twoja odpowiedź

Odpowiedzi mogą być oznaczone jako "Zaakceptowane" przez autora pytania i "Polecane" przez moderatorów, co pomaga użytkownikom wiedzieć, że odpowiedź rozwiązała problem autora.