2013-05-06 3 views
0

друг спросил меня, есть ли способ увидеть предыдущие заявления dml, и я не был уверен в том, как ответить на этот вопрос. То, что он хочет увидеть, - это последний набор операторов вставки. Значит, это может быть более 1 записи. Сначала я просто сказал, чтобы проверить последнюю личность, но потом он спросил, что делать, если в то же время выполнялись другие вставки. Можете ли вы, ребята, помочь мне? Должен ли я использовать DMV, о котором я просто не знаю? Благодарю.Как посмотреть прошлый DML на свой стол?

+0

Он ищет [Отслеживание изменений] (http://msdn.microsoft.com/en-us/library/cc280462 (v = sql.105) .aspx) и/или [Изменить захват данных] (http: //msdn.microsoft.com/en-us/library/bb522489(v=sql.105).aspx)? –

+0

Это поможет объяснить * почему * он хочет видеть предыдущие вставки. Это для аудита; чтобы иметь возможность делать те же вставки во второй базе данных; откинуть их назад или для какой-то другой цели? У каждого сценария может быть другой ответ. – Pondlife

ответ

0

Если вы не подготовились к этому вопросу, тогда нет никакой возможности построить эту информацию. Тем не менее, вы можете использовать сторонние инструменты для чтения журналов для восстановления (всех) последних операторов, выполняемых в базе данных. Для этого требуется, чтобы база данных находилась в режиме полного восстановления. Возможно, вы сможете вернуться к этому методу до тех пор, пока у вас есть резервные копии журналов.

Если вы хотите подготовиться к заданию этого вопроса в будущем, у вас есть несколько вариантов. Наиболее очевидным является изменение данных. Вы также можете написать триггер, который записывает изменения данных. Вы также можете запустить трассировку SQL Batch Started. Наконец, вы можете использовать сторонний сетевой сниффер/регистратор для захвата всех операторов, отправляемых на сервер (это, однако, требует, чтобы шифрование соединений не использовалось).

 Смежные вопросы

  • Нет связанных вопросов^_^