Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2015, 12:00   #1
_Diez_
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 11
По умолчанию MS SQL Server 2012 Проблема аудита

Добрый день(вечер, ночь)

Помогите разобраться.

Пытаюсь реализовать спецификацию аудита для базы данных.

Сам аудит для сервера создается, спецификации аудита для сервера создаются и прекрасно работают, но вот при создании спецификации аудита для конкретной бд, запрос вываливается с ошибкой

"
Сообщение 33075, уровень 16, состояние 3, строка 2
В этом выпуске SQL Server гранулярный аудит недоступен. Дополнительные сведения о поддерживаемых функциях в выпусках SQL Server см. в электронной документации по SQL Server.

"

честно гуглил, убил на это день, ответа не нашел,

вот sql при помощи которого все это делается

Код:
USE master ;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payrole_Security_Audit
    TO FILE ( FILEPATH = 
'<путь до папки>' ) ;
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payrole_Security_Audit 
WITH (STATE = ON) ;
GO
-- Move to the target database.
USE <Имя бд>;
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables
FOR SERVER AUDIT Payrole_Security_Audit
ADD (SELECT , INSERT
     ON <имя таблицы> BY dbo )
WITH (STATE = ON) ;
GO
СУБД MS SQL Server 2012
_Diez_ вне форума Ответить с цитированием
Старый 07.09.2015, 14:09   #2
_Diez_
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 11
По умолчанию

Смежный вопрос, как в триггере на insert получить имена полей из inserted?
_Diez_ вне форума Ответить с цитированием
Старый 07.09.2015, 14:26   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А в триггере не известно в какую таблицу вставка? Можно используя INFORMATION_SCHEMA, sp_help, syscolumns, по-моесму еще как-то, лень вспоминать

С аудитом ни когда не связывался, поэтому...
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.09.2015, 14:36   #4
_Diez_
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 11
По умолчанию

с аудитом разобрался, версия сервака стандарт, а он доступен полноценно только с enterprise

в какую таблицу вставка известно, проблема в том, что в таблице целая куча полей, а обязательные для вставки всего два, и в разные моменты количество вставляемых полей может быть произвольным
_Diez_ вне форума Ответить с цитированием
Старый 07.09.2015, 14:55   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

inserted это временная таблица и она содержит все поля исходной таблицы. При вставке можно считать, что поля в которых не NULL заданы. При редактировании разве что запросом отличить что поменялось
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.09.2015, 15:03   #6
_Diez_
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 11
По умолчанию

Ясно, понятно, спасибо большое.

тему можно закрывать.
_Diez_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sql server express 2012 ts-alan Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 9 21.01.2015 18:37
Проблема в выборке из двух таблиц запросом SQL Server 2012 qpash SQL, базы данных 2 19.03.2014 10:04
Установка MS SQL Server 2012 Union programmer SQL, базы данных 10 18.05.2013 19:21
Доступ к microsoft sql server 2012 fufel БД в Delphi 2 28.12.2012 16:07
SQL server 2012 error Руслан Садаев Помощь студентам 0 04.12.2012 13:34