Dela via


Hantera inloggningar för jobb med hjälp av databaser i en AlwaysOn-tillgänglighetsgrupp

gäller för:SQL Server

Du bör rutinmässigt underhålla samma uppsättning användarinloggningar och SQL Server Agent-jobb på varje primär databas i en AlwaysOn-tillgänglighetsgrupp (AG) och motsvarande sekundära databaser. Inloggningar och jobb måste reproduceras på varje instans av SQL Server som är värd för en tillgänglighetsreplik i tillgänglighetsgruppen (AG).

  • SQL Server Agent-jobb

    Du måste kopiera relevanta jobb manuellt från den serverinstans som är värd för den ursprungliga primära repliken till de serverinstanser som är värdar för de ursprungliga sekundära replikerna. För alla databaser behöver du lägga till logik i början av varje relevant jobb för att jobbet endast ska köras på den primära databasen, dvs. endast när den lokala repliken är databasens primära replik.

    Serverinstanserna som är värdar för en tillgänglighetsgrupps repliker kan konfigureras på olika sätt, till exempel med olika enhetsbeteckningar. Arbetsuppgifterna för varje tillgänglighetsreplik måste hantera sådana skillnader.

    Säkerhetskopieringsjobb kan använda funktionen sys.fn_hadr_backup_is_preferred_replica för att identifiera om den lokala repliken är den föredragna för säkerhetskopiering, enligt inställningar för säkerhetsgruppens säkerhetskopiering. Säkerhetskopieringsjobb som har skapats med Underhållsplanens guide använder denna funktion nativt. För andra säkerhetskopieringsjobb rekommenderar vi att du använder den här funktionen som ett villkor i dina säkerhetskopieringsjobb, så att de endast körs på önskad replik. Mer information finns i Avlasta säkerhetskopieringar som stöds till sekundära repliker av en tillgänglighetsgrupp.

  • Inloggningar

    Om du använder inneslutna databaser kan du konfigurera inneslutna användare i databaserna, och för dessa användare behöver du inte skapa inloggningar på de serverinstanser som är värdar för en sekundär replik. För en icke-innesluten tillgänglighetsdatabas måste du skapa användare för inloggningarna på de serverinstanser som är värdar för tillgänglighetsreplikerna. Mer information finns i CREATE USER.

    Om något av dina program använder SQL Server-autentisering eller en lokal Windows-inloggning läser du Inloggningar för program som använder SQL Server-autentisering eller lokal Windows-inloggning senare i den här artikeln.

    Anmärkning

    En databasanvändare för vilken SQL Server-inloggningen är odefinierad eller felaktigt definierad på en serverinstans kan inte logga in på instansen. En sådan användare sägs vara en överbliven användare av databasen på den serverinstansen. Om en användare är överbliven på en viss serverinstans kan du konfigurera användarens inloggningar när som helst. Mer information finns i Felsöka överblivna användare (SQL Server).

  • Ytterligare metadata

    Inloggningar och jobb är inte den enda information som behöver återskapas på var och en av de serverinstanser som är värdar för en sekundär replik för en viss tillgänglighetsgrupp. Du kan till exempel behöva återskapa serverkonfigurationsinställningar, autentiseringsuppgifter, krypterade data, behörigheter, replikeringsinställningar, program för tjänstutjämning, utlösare (på servernivå) och så vidare. Mer information finns i Hantera metadata när du gör en databas tillgänglig på en annan server.

SQL Server-autentisering eller en lokal Windows-inloggning

Om ett program använder SQL Server-autentisering eller en lokal Windows-inloggning kan felmatchade säkerhetsidentifierare (SID) förhindra att programmets inloggning matchas på en fjärrinstans av SQL Server. De felmatchade SID:erna gör att inloggningen blir en överbliven användare på fjärrserverinstansen. Det här problemet kan inträffa när ett program ansluter till en speglad databas eller loggöverföringsdatabas efter en redundansväxling eller till en replikeringsprenumerantdatabas som initierades från en säkerhetskopia.

Du bör vidta förebyggande åtgärder när du konfigurerar ett program för att använda en databas som hanteras av en fjärrinstans av SQL Server. Förebyggande omfattar överföring av inloggningar och lösenord från den lokala instansen av SQL Server till fjärrinstansen av SQL Server. Mer information om hur du förhindrar det här problemet finns i KB-artikeln 918992-Transfer logins and passwords between instances of SQL Server).

Anmärkning

Det här problemet påverkar lokala Windows-konton på olika datorer. Det här problemet uppstår dock inte för domänkonton eftersom SID är detsamma på var och en av datorerna.

Mer information finns i Överblivna användare med databasspegling och loggöverföring (en databasmotorblogg).