Come si imposta l'autocommit in una sessione di SQL Server?Come si imposta l'autocommit in una sessione di SQL Server?
risposta
è possibile attivare autocommit impostando implicit_transactions OFF:
SET IMPLICIT_TRANSACTIONS OFF
Quando l'impostazione è ON, si ritorna alla modalità di transazione implicita. Nella modalità di transazione implicita, ogni modifica effettuata avvia una transazione che è necessario eseguire manualmente.
Forse un esempio è più chiaro. Questo scriverà una modifica al database:
SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
COMMIT TRANSACTION
Questo non scriverà una modifica al database:
SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION
L'esempio che segue aggiornare una riga, e poi si lamentano che non c'è alcuna transazione a commettere :
SET IMPLICIT_TRANSACTIONS OFF
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION
Come Mitch Grano detto, autocommit è l'impostazione predefinita per SQL Server 2000 e fino.
L'autocommit è la modalità di gestione delle transazioni predefinita di SQL Server. (SQL 2000 in poi)
Volevo un modo più permanente e più rapido. Perché tendo a dimenticare di aggiungere righe aggiuntive prima di scrivere le mie domande di aggiornamento/inserimento.
L'ho fatto selezionando IMPOSTA IMPLICIT_TRANSACTIONS dalla casella Opzioni. Per accedere a Opzioni Selezionare Strumenti> Opzioni> Esecuzione query> SQL Server> ANSI in Microsoft SQL Server Management Studio.
Assicurati di eseguire commit
o rollback
dopo aver terminato di eseguire le query. Altrimenti, la tabella su cui avresti eseguito la query verrà bloccata per gli altri.
Con SQLServer 2005 Express, ciò che ho scoperto è che anche con l'autocommit disattivato, gli inserimenti in una tabella Db sono stati eseguiti senza che in realtà io abbia emesso un comando di commit dalla sessione di Management Studio. L'unica differenza era che, quando l'autocommit era disattivato, potevo ripristinare tutti gli inserimenti; con * autocommit su, non ho potuto. * In realtà, ho sbagliato. Con la modalità autocommit disattivata, vedo le modifiche solo nella finestra QA (Query Analyzer) da cui sono stati emessi i comandi. Se ho aperto una nuova finestra QA (Query Analyzer), non vedo le modifiche apportate dalla prima finestra (sessione), vale a dire che NON sono state commesse! Ho dovuto emettere comandi di commit o rollback espliciti per rendere le modifiche visibili ad altre sessioni (QA windows) - my bad! Le cose stanno funzionando correttamente.
- 1. imposta la connessione al server sql in sola lettura?
- 2. Come si esegue una query di SQL Server da PowerShell?
- 3. Come si imposta l'attività cron?
- 4. Come si determina l'impostazione MAXDOP del server in SQL Server?
- 5. SQL Server: imposta set di caratteri (non fascicolazione)
- 6. Come si imposta Command Timeout in Linqpad?
- 7. Come si aggiunge una colonna alla tabella sql server grande
- 8. Come si imposta JSONP?
- 9. Come si introspe su un server SQL?
- 10. Come si converte un file .mdf di SQL Server 2008 in SQL Server 2012?
- 11. Condivisione dello stato sessione SQL Server attraverso applicazioni Web
- 12. imposta la sessione nel database in php
- 13. Come si imposta dinamicamente il cookie di sessione scade/maxAge in Express/Node.js?
- 14. Come si imposta una selezione all'indietro?
- 15. Imposta variabile sessione utilizzando javascript in PHP
- 16. Come si imposta TargetNullValue su una data?
- 17. SQL Server SMO si lamenta di DLL
- 18. Sostituzione di una sessione di meteoriti?
- 19. SQL in SQL Server
- 20. Come accedere alla variabile di sessione in SSRS (SQL Server 2012)?
- 21. Monitoraggio il progresso di una query SQL in SQL Server
- 22. Come concatenare una stringa quando si imposta un parametro in Transact-SQL
- 23. Imposta cookie di sessione per sottodomini specifici
- 24. Come visualizzare una funzione memorizzata - SQL Server
- 25. Come si eliminano tutti i vincoli di chiave esterna in una tabella in Sql Server 2000?
- 26. Come si elencano tutte le viste indicizzate in SQL Server?
- 27. Come si seleziona un attributo di livello superiore di una colonna xml in SQL Server 2005?
- 28. Come si applicano i sottotipi in un database SQL Server?
- 29. Imposta la modalità flush della sessione di sospensione in primavera
- 30. Linq-to-SQL ignora il valore predefinito di SQL Server
Ho provato e posso confermare che sembra esattamente lo stesso di scrivere SET IMPLICIT_TRANSACTIONS ON, dal momento che sembra la risposta più corretta in 24 ore che assegnerò con la taglia. – Revious