none
Database Mail problém : Execute Permission problem

    Dotaz

  • Dobrý den mám problém se zprovozněním Database Mail. Předem děkuji za pomoc ...

    SQL server 2016 Standard běží pod Windows Server 2012 R2

    Zkonfiguroval jsem Database Mail podle svého nejlepšího svědomí a když dám odeslat testovací zprávu objevuje se mě v aplikačním logu : "Error Message:The update to the database failed. Reason: The EXECUTE permission was denied on the object 'sysmail_logmailevent_sp', database 'msdb', schema 'dbo'."

    Projel jsem technet a vyukoušel spousty tipů a nic mě nepomohlo :
    a) Jak Agent tak Uživatel přihlášený a tvořící joby je členem DatabaseMailUserRole, sysAdmin

    b) Ze zoufalství jsem ručně jsme přidával ještě :
    GRANT EXECUTE ON object::sp_send_dbmail TO DatabaseMailUserRole
    GRANT EXECUTE ON object::sp_readrequest TO DatabaseMailUserRole
    GRANT EXECUTE ON object::sysmail_logmailevent_sp TO DatabaseMailUserRole
    GRANT EXECUTE ON object::sysmail_help_configure_sp TO DatabaseMailUserRole

    c) V pořádku bez chyby výjezdy :

    EXEC msdb.dbo.sysmail_help_configure_sp;
    EXEC msdb.dbo.sysmail_help_account_sp;
    EXEC msdb.dbo.sysmail_help_profile_sp;
    EXEC msdb.dbo.sysmail_help_profileaccount_sp;
    EXEC msdb.dbo.sysmail_help_principalprofile_sp;

    d) Broker jede

    e) SQLAgenta jsem zkusmo skusil na serveru spustit přímo pod účtem Administrator

    Budu rád za každou pomoc !


    • Upravený Kyssling 20. ledna 2017 13:06 Upřesnění
    20. ledna 2017 13:04

Odpovědi

  • Uzavírám celý problém s tím, že je nutné pro Database Mail použít službu NT\SERVICE a nikoliv LocalSystem.
    https://technet.microsoft.com/en-us/library/ms191442%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396

    - bohužel kvůli tomu musím otevřít nový topic :-(

    • Upravený Kyssling 6. února 2017 13:17 Úprava problému
    • Označen jako odpověď Kyssling 6. února 2017 13:17
    3. února 2017 13:23

Všechny reakce

  • Je to záhada, nakonec jsem nejen službu Agenta ale i Engine pustil experimentálně jako Domain\Administrator a email došel. Takže chyba bude v právech ...

    Asi mě chybí tohle pro Local System ...

    • Permission to bypass traverse checking (SeChangeNotifyPrivilege)

    • Permission to replace a process-level token (SeAssignPrimaryTokenPrivilege)

    • Permission to adjust memory quotas for a process (SeIncreaseQuotaPrivilege)

    • Permission to log on using the batch logon type (SeBatchLogonRight)

    Nějaká záhada v právech ...


    21. ledna 2017 0:49
  • Dobrý den o víkendu jsem testoval a zde je výsledek ...

    Pokud přihlásím službu Database Engine a Agenta jako Domain\Administrator
    email v pořádku odejde.

    To znamená, že je nějaký rozdíl Local System vs. Domain\Administrator.

    Prohlížel jsem zabezpečení (rsop.msc atd) a zjistil jsem následující :

    Server :
    Místní zásady zabezpečení + Doménové zásady zabezpečení

    Bypass traverse checking (SeChangeNotifyPrivilege) Má Administrator/NT SERVICE\MSSSQLSERVER
    + Local Service + Network Service + Agent + nevidím SYSTEM
    Replace a process-level token (SeAssignPrimaryTokenPrivilege) Má Administrator/NT SERVICE\MSSSQLSERVER
    + Local Service + Network Service + Agent + nevidím SYSTEM
    Adjust memory quotas for a process (SeIncreaseQuotaPrivilege) Má Administrator/NT SERVICE\MSSSQLSERVER
    + Local Service + Network Service + Agent + nevidím SYSTEM

    Místní zásady zabezpečení
    Log on as a service (SeServiceLogonRight)- Má Administrator/NT SERVICE\MSSSQLSERVER
    + Local Service + Network Service + Agent + SYSTEM

    Doménové zásady zabezpečení
    Log on as a service (SeServiceLogonRight)- nedefinováno

    Předpokládám, že Local Systemu chybí "něco" co má Domain\Administrator a proto email
    neodešle ... Jen podotýkám že SQL server normálně jede a funguje. Na serveru jede ještě File Server
    služba fungující též bez problému.

    Děkuji za další pomoc !

    Kyssling
    23. ledna 2017 11:09
  • Zdravim,

    SMTP authentication je ako nastavene? Na strane SMTP servera je opravnenie pre odosielanie emailov nastavene spravne (ak exchange, Receive connector)?


    Peter, MCITP

    27. ledna 2017 19:58
  • Dobrý den,

    SMTP je až následné ...

    Jak píšu :

    "Pokud přihlásím službu Database Engine a Agenta jako Domain\Administrator
    email v pořádku odejde." tedy nastavení SMTP DB Mailu apod je shodné pro funkční i nefunkční část ...

    2. února 2017 13:19
  • Uzavírám celý problém s tím, že je nutné pro Database Mail použít službu NT\SERVICE a nikoliv LocalSystem.
    https://technet.microsoft.com/en-us/library/ms191442%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396

    - bohužel kvůli tomu musím otevřít nový topic :-(

    • Upravený Kyssling 6. února 2017 13:17 Úprava problému
    • Označen jako odpověď Kyssling 6. února 2017 13:17
    3. února 2017 13:23