Сообщения

Сообщения за июль, 2019

SQL SERVER. Автономные транзакции. Autonomous transaction.

     При реализации процесса логирования произведенных операций возникает вопрос о необходимости сам процесс записи в лог проводить в автономной транзакции. В СУБД Oracle есть такой механизм вида:   pragma autonomous_transaction ;             СУБД MS SQL Server не поддерживает автономные транзакции, но есть 3 пути решения заданной задачи:            1. Вызов SQLCLR - процедуры в транзакции.            2. Использование табличной переменной (   table variable   ).         3. Вызов хранимой процедуры через Linked Server к этому же серверу со значением     "True" параметров RPC и RPC Out.      Очень хорошо про способы осуществить автономную транзакцию описаны в статье  http://blogs.msdn.com/b/sqlprogrammability/archive/2008/08/22/how-to-create-an-autonomous-transaction-in-sql-server-2008.aspx. ...