none
кто перезапустил службу SQL Server RRS feed

  • Вопрос

  • Как можно узнать, кто перезапускает службу SQL Server (MSSQLSERVER)?

    В журналах Windows и в логах SQL Server  есть только факт события. А кто помог нету (:


    ОТЕЦъ
    10 декабря 2010 г. 8:21

Ответы

  • для включения аудита нужно сделать так (перепост http://www.networksteve.com/forum/topic.php/Service_Control_Manager_-_auditing_start/stop_events_-_Event_ID/?TopicId=1486&Posts=0):

    1. Logon as an administrator, and make sure an elevated CMD prompt if UAC is on.
    2. Run on the affected server:
    SC QUERY > Svcs.txt
    3. Examine the svcs.txt for your service “DISPLAY_NAME” that is being restarted. For example, I looked for “DFS Namespace” (no quotes) and see:
    SERVICE_NAME: Dfs
    DISPLAY_NAME: DFS Namespace
    TYPE : 10 WIN32_OWN_PROCESS

    STATE : 4 RUNNING

    (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
    WIN32_EXIT_CODE : 0 (0x0)
    SERVICE_EXIT_CODE : 0 (0x0)
    CHECKPOINT : 0x0
    WAIT_HINT : 0x0
    4. Above the display name you will see the SERVICE_NAME. Note that for below.
    5. Run:
    SC SDSHOW
    SERVICE_NAME > sd.txt
    Example:
    SC SDSHOW dfs > sd.txt
    6. Open this text file. It will contain SDDL data similar (not necessarily the same, do not re-use) to this:
    D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
    7. Copy the following and add it to the end of the SDDL string in that text file:
    (AU;SAFA;RPWPDT;;;WD)
    So if you had used my example SDDL data and then added the above string, you now have all one line:
    D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)(AU;SAFA;RPWPDT;;;WD)

    8. Copy and paste that whole new string and run:
    SC SDSET
    SERVICE_NAME
    the_big_new_string
    NOTE: What we are doing is adding an audit SACL to the service so that when the previous auditing steps I gave you are used, the restart of the service will be audited and we’ll
    know who did what. Note that if there was no auditing inplace on the service already (after the "S:") then you will need to add that to the string.
    9. Audit the following categories for success.

    auditpol /set /category:"Object Access" /success:enable /failure:disable


    auditpol /set /subcategory:"Other Object Access Events" /success:enable /failure:disable
    10. Note events for 4656. Object Server will be "SC Manager", Object Name will the name of the service, Access Request Information will show the operation (ex: "Stop
    the Service").

    Обратите внимание, что в русской локализации ОС вместо Object Access надо писать Доступ к объектам, а вместо Other Object Access Events - Другие события доступа к объекту.

    Тогда в журнале  появятся события 4656 о старте-остановке служб


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
    • Предложено в качестве ответа melcin 13 декабря 2010 г. 6:28
    • Помечено в качестве ответа Nikita PanovModerator 14 декабря 2010 г. 9:17
    10 декабря 2010 г. 12:46

Все ответы

  • Если сервер был остановлен командой shutdown, то login будет запротоколирован, иначе нет. 

    exec xp_readerrorlog 1,1,'shut'
    --Server shut down by request from login [loginname].

    Gruß Yury
    10 декабря 2010 г. 12:46
  • для включения аудита нужно сделать так (перепост http://www.networksteve.com/forum/topic.php/Service_Control_Manager_-_auditing_start/stop_events_-_Event_ID/?TopicId=1486&Posts=0):

    1. Logon as an administrator, and make sure an elevated CMD prompt if UAC is on.
    2. Run on the affected server:
    SC QUERY > Svcs.txt
    3. Examine the svcs.txt for your service “DISPLAY_NAME” that is being restarted. For example, I looked for “DFS Namespace” (no quotes) and see:
    SERVICE_NAME: Dfs
    DISPLAY_NAME: DFS Namespace
    TYPE : 10 WIN32_OWN_PROCESS

    STATE : 4 RUNNING

    (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
    WIN32_EXIT_CODE : 0 (0x0)
    SERVICE_EXIT_CODE : 0 (0x0)
    CHECKPOINT : 0x0
    WAIT_HINT : 0x0
    4. Above the display name you will see the SERVICE_NAME. Note that for below.
    5. Run:
    SC SDSHOW
    SERVICE_NAME > sd.txt
    Example:
    SC SDSHOW dfs > sd.txt
    6. Open this text file. It will contain SDDL data similar (not necessarily the same, do not re-use) to this:
    D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
    7. Copy the following and add it to the end of the SDDL string in that text file:
    (AU;SAFA;RPWPDT;;;WD)
    So if you had used my example SDDL data and then added the above string, you now have all one line:
    D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)(AU;SAFA;RPWPDT;;;WD)

    8. Copy and paste that whole new string and run:
    SC SDSET
    SERVICE_NAME
    the_big_new_string
    NOTE: What we are doing is adding an audit SACL to the service so that when the previous auditing steps I gave you are used, the restart of the service will be audited and we’ll
    know who did what. Note that if there was no auditing inplace on the service already (after the "S:") then you will need to add that to the string.
    9. Audit the following categories for success.

    auditpol /set /category:"Object Access" /success:enable /failure:disable


    auditpol /set /subcategory:"Other Object Access Events" /success:enable /failure:disable
    10. Note events for 4656. Object Server will be "SC Manager", Object Name will the name of the service, Access Request Information will show the operation (ex: "Stop
    the Service").

    Обратите внимание, что в русской локализации ОС вместо Object Access надо писать Доступ к объектам, а вместо Other Object Access Events - Другие события доступа к объекту.

    Тогда в журнале  появятся события 4656 о старте-остановке служб


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
    • Предложено в качестве ответа melcin 13 декабря 2010 г. 6:28
    • Помечено в качестве ответа Nikita PanovModerator 14 декабря 2010 г. 9:17
    10 декабря 2010 г. 12:46