Гость333 |
---|
Лукьчнчук Анатолий |
---|
И если вести аудит подключений к MS SQL то пользователь незаметно уже не поменяется? |
Ну вообще да. Но какая-то очень уж сложная схема получается. Традиционно логирование действий, если оно нужно, встраивают в логику приложения. |
да в общем не очень то и сложная - добавить логин-триггер и таблицу для хранения
правда на некоторых системах с большим logons/second это решение не подойдет
пример триггера:
use DB
go
create table dbo.track_logins (i int identity, dt datetime, spid int null, [login] varchar(50), host varchar(100) null, app varchar(100) null)
go
use master
go
create trigger [track_logins]
on all server
with execute as 'sa'
for logon
as
BEGIN
declare @eventdata xml
set @eventdata = EventData()
insert
into DB.dbo.track_logins(dt,spid,[login],host,app)
values
(GETDATE(),
@eventdata.value('(/EVENT_INSTANCE/SPID)[1]', 'int'),
@eventdata.value('(/EVENT_INSTANCE/LoginName)[1]', 'sysname'),
@eventdata.value('(/EVENT_INSTANCE/ClientHost)[1]', 'sysname'),
App_Name())
END
go
/*
DISABLE TRIGGER [track_logins] ON ALL SERVER
GO
ENABLE TRIGGER [track_logins] ON ALL SERVER
GO
*/