2015-12-16 3 views
2

Имеет ли SQL Server 2005/2008 нечто похожее на таблицу MySQL Archive?Таблицы «Архив» в SQL Server

Что нам нужно: без обновления, без удаления, без блокировки, без транзакций для определенных таблиц, только вставка и выбор.

+1

Я не знаю, как отключить ведение журнала и транзакции в SQL Server. –

+2

Ничего не встроено, но вы можете имитировать некоторые из этих функций. –

+0

Как правило, вы используете защиту для предотвращения обновлений и удалений, хотя вы можете определить некоторые триггеры обновления/удаления no-op, я полагаю. Невозможно отключить блокировку или транзакции в смысле SQL Server этих терминов. –

ответ

0

SQL Server не имеет функции архива, но, как уже упоминалось, вы можете имитировать его.

Вы можете «обмануть» SQL Server, чтобы не делать ничего, что вы обычно делали бы со столом, с помощью triggers особым образом.

Использовать триггер INSTEAD OF.

Для этого требуется немного больше работы (а именно, повторная инструкция UPDATE), но в любое время, когда вы можете предотвратить работу, вместо того, чтобы позволить ей произойти, а затем отбросить ее или сделать что-то еще.

CREATE TRIGGER [dbo].[Item_BeforeUpdate_AnyBilled] 
ON [dbo].[Item] 
INSTEAD OF UPDATE 
AS 
BEGIN 
    SET NOCOUNT ON; 

    ... my code to avoid UPDATE here 
END 
GO 
Смежные вопросы