Správa přihlášení pro úlohy pomocí databází ve skupině dostupnosti AlwaysOn

platí pro:SQL Server

U každé primární databáze skupiny dostupnosti AlwaysOn a odpovídajících sekundárních databází byste měli pravidelně udržovat stejnou sadu přihlášení uživatelů a úlohy agenta SQL Serveru. Přihlašovací jména a úlohy musí být reprodukovány na všech instancích SQL Serveru, které jsou hostitelem repliky vysoké dostupnosti AG.

  • Úlohy agenta SQL Serveru

    Musíte ručně zkopírovat relevantní úlohy z instance serveru, která je hostitelem původní primární repliky, do instancí serveru, které hostují původní sekundární repliky. Pro všechny databáze musíte na začátku každé relevantní úlohy přidat logiku, aby se úloha spustila pouze v primární databázi, tj. pouze v případě, že místní replika je primární replikou databáze.

    Instance serverů, které hostují repliky dostupnosti AG, můžou být nakonfigurované jinak, například s různými písmeny jednotek. Úlohy pro každou repliku dostupnosti musí zohlednit všechny takové rozdíly.

    Úlohy zálohování mohou využít funkci sys.fn_hadr_backup_is_preferred_replica k určení, zda je místní replika podle předvoleb zálohování AG tou preferovanou pro zálohování. Úlohy zálohování vytvořené pomocí Průvodce používáním plánu údržby nativně používají tuto funkci. U jiných úloh zálohování doporučujeme tuto funkci použít jako podmínku v úlohách zálohování, takže se spouštějí jenom na upřednostňované replice. Další informace najdete v tématu Vyložení podporovaných záloh do sekundárních replik skupiny dostupnosti.

  • Přihlášení

    Pokud používáte databáze s omezením, můžete nakonfigurovat uživatele obsažené v databázích a pro tyto uživatele nemusíte vytvářet přihlášení na instancích serveru, které hostují sekundární repliku. V případě databáze dostupnosti, která není obsažena, musíte vytvořit uživatele pro přihlášení na instancích serveru, které hostují repliky dostupnosti. Další informace naleznete v tématu CREATE USER.

    Pokud některá z vašich aplikací používá ověřování SYSTÉMU SQL Server nebo místní přihlášení systému Windows, přečtěte si část Přihlášení aplikací, které používají ověřování SYSTÉMU SQL Server nebo místní přihlášení systému Windows, dále v tomto článku.

    Poznámka:

    Uživatel databáze, pro který není definováno přihlášení k SQL Serveru nebo je nesprávně definován v instanci serveru, se nemůže přihlásit k instanci. Takový uživatel se označuje jako nepřiřazený uživatel databáze na této serverové instanci. Pokud je uživatel na dané instanci serveru osamocený, můžete kdykoli nastavit přihlášení uživatele. Další informace najdete v tématu Řešení potíží se osamocenými uživateli (SQL Server).

  • Další metadata

    Přihlášení a úlohy nejsou jedinými informacemi, které je potřeba znovu vytvořit na každé instanci serveru, jež hostuje sekundární repliku pro danou dostupnostní skupinu. Můžete například potřebovat znovu vytvořit nastavení konfigurace serveru, přihlašovací údaje, šifrovaná data, oprávnění, nastavení replikace, aplikace zprostředkovatele služeb, triggery (na úrovni serveru) atd. Další informace naleznete v tématu Správa metadat při zpřístupnění databáze na jiném serveru.

Ověřování SQL Serveru nebo místní přihlášení k Windows

Pokud aplikace používá ověřování SQL Serveru nebo místní přihlášení systému Windows, neodpovídající identifikátory zabezpečení (SID) můžou zabránit tomu, aby se přihlášení aplikace rozpoznalo na vzdálené instanci SQL Serveru. Neshodované identifikátory SID způsobí, že se přihlášení stane osamoceným uživatelem ve vzdálené instanci serveru. K tomuto problému může dojít, když se aplikace připojí ke zrcadlené nebo log shipping databázi po selhání nebo k odběratelské databázi replikace, která byla inicializována ze zálohy.

Pokud nastavíte aplikaci tak, aby používala databázi hostované vzdálenou instancí SQL Serveru, měli byste přijmout preventivní opatření. Prevence zahrnuje přenos přihlašovacích údajů a hesel z místní instance SQL Serveru do vzdálené instance SQL Serveru. Další informace o tom, jak zabránit tomuto problému, najdete v článku znalostní báze 918992 přenos přihlašovacích údajů a hesel mezi instancemi SQL Serveru.

Poznámka:

Tento problém se týká místních účtů Windows na různých počítačích. K tomuto problému nedochází u účtů domény, protože identifikátor SID je na každém počítači stejný.

Další informace najdete v tématu Osamocené uživatele se zrcadlením databáze a přesouváním protokolů (blog databázového stroje).