none
SQL Server 2008 R2. Как делегировать права на чтение лог файлов? RRS feed

  • Вопрос

  • Добрый день! Есть необходимость предоставить пользователю возможность оперативного просмотра лог файлов SQL Server, т.е. того что видно в SQL Server Management Studio во вкладке SQL Server Logs. Как это сделать?
    17 апреля 2013 г. 8:05

Ответы

  • use master
    go
    grant execute on xp_readerrorlog to [Ваш юзер]
    go

    Дальше вы можете просматривать логи с помощью этой расширенной хранимки

    http://www.t-sql.ru

    • Предложено в качестве ответа daagon78 17 апреля 2013 г. 9:52
    • Отменено предложение в качестве ответа Vashchukov 17 апреля 2013 г. 10:21
    • Помечено в качестве ответа Vashchukov 18 апреля 2013 г. 9:36
    17 апреля 2013 г. 8:45
    Отвечающий

Все ответы

  • use master
    go
    grant execute on xp_readerrorlog to [Ваш юзер]
    go

    Дальше вы можете просматривать логи с помощью этой расширенной хранимки

    http://www.t-sql.ru

    • Предложено в качестве ответа daagon78 17 апреля 2013 г. 9:52
    • Отменено предложение в качестве ответа Vashchukov 17 апреля 2013 г. 10:21
    • Помечено в качестве ответа Vashchukov 18 апреля 2013 г. 9:36
    17 апреля 2013 г. 8:45
    Отвечающий
  • Создал в SQL Server нового пользователя с логином LogsReader, выполнил команду, пробую с удаленного компьютера подключиться к SQL Server и просмотреть логи. Подключение происходит, но вкладка SQL Server Logs не открывается. Чего еще не хватает?

    При включение пользователя LogsReader в securityadmin, вкладка с логами открывается. Но securityadmin давать нельзя, слишком большие права эта группа дает.


    • Изменено Vashchukov 17 апреля 2013 г. 10:15
    17 апреля 2013 г. 10:12
  • логи вы можете смотреть с помощью той самой процедуры на которую вы дали права...это основная процедура для работы с логами

    или вам принципиально нужен интерфейс именно "смотреть логи через SSMS"? тогда придётся давать права ещё на несколько процедур, которые "дёргаются" через ГУИ


    http://www.t-sql.ru

    • Предложено в качестве ответа Naomi N 18 апреля 2013 г. 3:49
    18 апреля 2013 г. 3:25
    Отвечающий
  • да и не выдет...поверх расширенных процедур висят интерфейсные sp_readerrorlog и sp_enumerrorlogs

    а в них перд вызовом ESP, проверка входимости юзера в группу секьюритиадмин

    create proc sys.sp_readerrorlog(
    	@p1		int = 0,
    	@p2		int = NULL,
    	@p3		nvarchar(4000) = NULL,
    	@p4		nvarchar(4000) = NULL)
    as
    begin
    
    	if (not is_srvrolemember(N'securityadmin') = 1)
    	begin
    	   raiserror(15003,-1,-1, N'securityadmin')
    	   return (1)
    	end
    	
    	if (@p2 is NULL)
    		exec sys.xp_readerrorlog @p1
    	else
    		exec sys.xp_readerrorlog @p1,@p2,@p3,@p4
    end

    так, что...ответ: "через SSMS никак..." либо менять системные объекты...

    зы: и опять же: "пользуйтесь прямым вызовом xp_readerrorlog"


    http://www.t-sql.ru

    18 апреля 2013 г. 7:24
    Отвечающий
  • Ок, попробовал при помощи команды EXEC xp_ReadErrorLog просмотреть логи. Да, они показываются, но похоже не все, а только те, которые с ошибкой. А есть еще команды типа grant execute on xp_readerrorlog, чтобы была возможность просматривать все логи, а не только те, что про ошибку?
    18 апреля 2013 г. 8:47
  • Ок, попробовал при помощи команды EXEC xp_ReadErrorLog просмотреть логи. Да, они показываются, но похоже не все, а только те, которые с ошибкой. А есть еще команды типа grant execute on xp_readerrorlog, чтобы была возможность просматривать все логи, а не только те, что про ошибку?

    через xp_readerrorlog вы просматриваете лог сиквела, он по умолчанию не прячит какие-то сообщения...

    у этой ESP есть ряд пар-ов:

    1 - указывает номер журнала с которым идёт работа (по дефолту последний активный)

    2 - указывает чей журнал (Сиквел или Агент)

    3 - условия для фильтрации сообщений

    4 - условия для фильтрации сообщений

    5 - фильтр по дате ОТ

    6 - фильтр по дате ДО 

    7 - указывает сортировку


    http://www.t-sql.ru

    18 апреля 2013 г. 9:15
    Отвечающий
  • ну и как вариант: http://t-sql.ru/post/LogsViewer.aspx небольшая утилита для просмотра журналов...


    http://www.t-sql.ru

    18 апреля 2013 г. 14:20
    Отвечающий