IIS AppPool kontra SQL Server Agent

Írtam már párszor, hogy nagy híve vagyok az IIS 7-ben bevezetett ApplicationPoolIdentity-nek, éppen ezért mindig elszomorít, amikor valahol kiderül, hogy nem lehet használni. Legutóbb az SQL Server Agentnél futottunk bele egy problémába.

Van egy webalkalmazásunk, ami AppPoolIdentity-vel kapcsolódik az SQL Serverhez. Mivel az alkalmazás SQL Server Agent jobokat kezel, ezért a fiók annak rendje és módja szerint megkapta az SQLAgentUserRole és az SQLAgentReaderRole szerepköröket az msdb adatbázisban. Ennek ellenére az sp_add_job tárolt eljárás az alábbi hibával elszáll:

Msg 14234, Level 16, State 1, Line 3
The specified ‘@owner_login_name’ is invalid (valid values are returned by sp_helplogins [excluding Windows NT groups]).

Ilyenkor az ember jóhiszeműen követi az utasításokat, lekérdezi a helyes értékeket az sp_helplogins meghívásával és szomorúan tapasztalja, hogy a kérdéses fiók szerepel a listában. WTF?

Semmi gond, hiszen az sp_add_job kódját könnyen meg lehet találni Management Studioval, amiből rövid bogarászás után kiderül, hogy ez a tárolt eljárás meghívja az sp_verify_job SP-t és valójában az dobja a hibát ennél a sornál:

IF (@owner_sid IS NULL) OR (EXISTS (SELECT *
                                 FROM master.dbo.syslogins
                                 WHERE (sid = @owner_sid)
                                   AND (isntgroup <> 0)))
BEGIN
  SELECT @res_valid_range = FORMATMESSAGE(14203)
  RAISERROR(14234, -1, -1, '@owner_login_name', @res_valid_range)
  RETURN(1) -- Failure
END

Innen már nem kell messzire menni: kérdezzük le a master.dbo.syslogins tartalmát és látni fogjuk, hogy a kérdéses sorban az isntgroup értéke bizony 1. Deadlock Mérges

Jobb ötlet híján feldobtam bugként a Connectre, ha ez szerinted is probléma, szavazz rá:

Microsoft Connect: IIS ApplicationPoolIdentity cannot be a SQL Agent job owner

 

3 thoughts on “IIS AppPool kontra SQL Server Agent

  1. Visszajelzés: A Connect igenis működik - Balássy György szakmai blogja - devPortal

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s