Как вы устанавливаете autocommit в сеансе SQL Server?Как установить аутокоммит в сеансе SQL Server?
ответ
Вы можете включить автокоммит, установив implicit_transactions OFF:
SET IMPLICIT_TRANSACTIONS OFF
Когда параметр включен, он возвращается в режим неявной транзакции. В неявном режиме транзакции каждое сделанное вами изменение запускает транзакции, которые вы должны выполнить вручную.
Возможно, пример более ясен. Это будет записывать изменения в базу данных:
SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
COMMIT TRANSACTION
Это не запишет изменения в базу данных:
SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION
В следующем примере будет обновлять строку, а потом жалуются, что нет никакой транзакции для совершения :
SET IMPLICIT_TRANSACTIONS OFF
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION
Как Mitch Wheat сказал, автокоммит по умолчанию для SQL Server 2000 и выше.
Autocommit - это режим управления транзакциями по умолчанию SQL Server. (SQL 2000 года)
Мне нужен был более постоянный и быстрый путь. Потому что я, как правило, забываю добавить дополнительные строки, прежде чем писать свои фактические запросы «Обновить/Вставить».
Я сделал это, проверив SET IMPLICIT_TRANSACTIONS check-box из опций. Чтобы перейти к Параметры выбора Инструменты> Параметры> Выполнение запросов> SQL Server> ANSI в Microsoft Studio Management Studio.
Обязательно выполните commit
или rollback
после того, как вы закончите выполнение своих запросов. В противном случае таблица, которую вы запустили, будет заблокирована для других.
С SQLServer 2005 Express я обнаружил, что даже с autocommit с вставки в таблицу Db были зафиксированы без моего фактического выдачи команды фиксации из сеанса Management Studio. Единственное различие заключалось в том, что когда автокоммит был выключен, я мог бы откатить все вставки; с * autocommit на, я не мог. * На самом деле, я был неправ. С отключенным режимом autocommit я вижу изменения только в окне QA (Query Analyzer), из которого были выданы команды. Если я вытащил новое окно QA (Query Analyzer), я не вижу изменений, сделанных в первом окне (сеансе), т. Е. Они НЕ совершены! Мне пришлось выдавать явные команды фиксации или отката, чтобы изменения отображались на других сеансах (окна QA) - мой плохой! Все работает правильно.
- 1. Как установить значения в сеансе?
- 2. Как установить часовую зону в сеансе SQLite?
- 3. SQL-запрос в сеансе
- 4. Как установить массив в сеансе в codeigniter?
- 5. Параллельные транзакции в отдельном сеансе в NHibernate/SQL Server
- 6. Как установить псевдоним в SQL Server
- 7. В SQL Server, как установить минуту
- 8. Как установить свойства столбца в SQL Server
- 9. Как установить два условия в SQL Server?
- 10. SQL Server: как установить условие, в котором
- 11. Как установить порядок динамически в SQL Server?
- 12. Как установить массив объектов в сеансе весной
- 13. Как установить множественное редактирование данных в SQL Server от asp.net
- 14. Как установить Sql Server на Windows IoT?
- 15. Как установить строку подключения SQL Server?
- 16. Как установить размер пула соединений SQL Server
- 17. Как установить пароль для SQL Server DB
- 18. Как сохранить результаты SQL-запроса в сеансе
- 19. Не удалось установить SQL Server
- 20. Как установить проверку на SQL Server?
- 21. Как установить драйвер ODBC SQL Server?
- 22. Как установить SQL Server с использованием скриптов?
- 23. SQL Server: установить переменную в оператор CASE
- 24. Как установить понедельник как первый день недели в SQL Server
- 25. Как установить функцию как значение по умолчанию в SQL Server?
- 26. Как хранить рейтинги в сеансе?
- 27. Как установить dateformat в mdy в SQL Server 2005?
- 28. Новая транзакция не допускается, так как в сеансе есть другие потоки. Ошибка в SQL SERVER
- 29. Как установить максимальное количество строк в таблице SQL Server?
- 30. как установить SQL SERVER подал дату в дд/мм/гггг
Я пробовал, и я могу подтвердить, что это похоже на то, что я написал SET IMPLICIT_TRANSACTIONS ON, так как кажется, что более правильный ответ за 24 часа я буду награждать щедростью. – Revious