Ist es eine schlechte Praxis, immer eine Transaktion zu erstellen? Es empfiehlt sich beispielsweise, eine Transaktion nur für eine einfache Transaktion zu erstellen SELECT. Was kostet das Erstellen einer Transaktion, wenn es nicht wirklich notwendig ist? Auch wenn Sie eine Isolationsstufe wie verwenden READ UNCOMMITTED, ist es eine schlechte Praxis?
Ich habe hier gelesen , dass einige zusätzliche Daten pro Zeile gespeichert werden, sodass möglicherweise eine Leistungsverschlechterung auftritt. Welche anderen Risiken bestehen jedoch? z.B. Beeinflusst dies die Wiederherstellung der Datenbank? Müssen wir noch etwas tun, um dies auszunutzen? Ich plane, diese Befehle auszuführen: ALTER DATABASE DatabaseName SET READ_COMMITTED_SNAPSHOT ON ALTER …
Ich habe T-SQL seit mehreren Jahren entwickelt und beschäftige mich ständig weiter mit allen Aspekten der Sprache. Ich habe vor kurzem angefangen, in einem neuen Unternehmen zu arbeiten, und habe einen meiner Meinung nach merkwürdigen Vorschlag für Transaktionen erhalten. Benutze sie niemals. Verwenden Sie stattdessen eine Problemumgehung, die eine Transaktion …
Mein Chef hatte gestern eine Frage von einem Kunden, wie er herausfinden könnte, wer einige Daten in seiner SQL Server-Datenbank gelöscht hat (es ist die Express-Edition, wenn das wichtig ist). Ich dachte, dies könnte aus dem Transaktionsprotokoll gefunden werden (vorausgesetzt, es wurde nicht abgeschnitten) - ist das richtig? Und wenn …
Die ADO.NET-Dokumentation zeigt die Möglichkeit, die Transaktionsstufe für eine SQL-Transaktion auf Chaos zu setzen. Es klingt unangenehm, aber wenn das Feature vorhanden ist, hat es vermutlich eine legitime Verwendung. Der Befehl SET TRANSACTION ISOLATION LEVEL in BOL (ah! See, ich kann google und BOL verwenden) scheint nicht "chaos" zu heißen, …
Angenommen, wir haben die folgende Situation: Wir haben einen Tisch (sagen wir mal Table_A), an dem ein Auslöser hängt INSERT. Der Auslöserjob besteht darin, einige Zeilen in table_Bbasierend auf den eingefügten Werten in zu aktualisieren table_A. Nun ist alles in Ordnung, wenn wir einfach eine Zeile in die Tabelle einfügen, …
Ich war ein wenig zu entdecken überrascht , dass DDL - Anweisungen ( alter table, create indexusw.) implizit die aktuelle Transaktion in MySQL begehen. Ausgehend von MS SQL Server war die Möglichkeit, Datenbankänderungen in einer Transaktion lokal vorzunehmen (die dann zurückgesetzt wurde), ein wichtiger Teil meines Workflows. Für die kontinuierliche …
Ich teste gerade einen Batch-Prozess, der viele DML-Anweisungen ausführt, aber nicht sofort ein Commit ausführt. Es wäre schön, wenn Sie die "ausstehenden" Änderungen aus einer anderen Sitzung anzeigen könnten, während die Transaktion nicht festgeschrieben ist. Ist das möglich? Beispiel: Insert into table myTable (col1, col2) values ("col1", "col2"); --Somehow view …
Ich habe eine gespeicherte Prozedur, die nur 3 gespeicherte Prozeduren in ihnen ausführt. Ich verwende nur 1 Parameter zum Speichern, wenn der Master-SP erfolgreich ist. Wenn die erste gespeicherte Prozedur in der gespeicherten Hauptprozedur einwandfrei funktioniert, die zweite gespeicherte Prozedur jedoch fehlschlägt, werden dann automatisch alle SPs in der Hauptprozedur …
Ich habe einen Importprozess, der von Zeit zu Zeit ausgeführt wird, und ich möchte, dass es sich um eine Art "Alles oder Nichts" handelt, auch bekannt als: eine Transaktion. Es gibt viele Aspekte, und die Importe können irgendwo zwischen 100k-1mil + Aufzeichnungen ergeben. Dies entspricht einer Nutzlast von mehreren MB …
Vielleicht ist dies eine dumme Anfängerfrage, aber ich kann nirgendwo eine Antwort finden. Überall lese ich über das, Transaction Isolationwas die Sichtbarkeit von Daten innerhalb der gleichzeitigen Transaktionen löst. Mein Anliegen ist das Verhalten innerhalb einer einzelnen Transaktion. Wenn ich eine Transaktion starte, einige Daten einfüge, kann ich sie direkt …
Ich habe eine Login-Tabelle, in die alle Einfügungen von einer einzelnen gespeicherten Prozedur durchgeführt werden. CREATE TABLE dbo.LogTable( LogRefnr int IDENTITY(1, 1) NOT NULL, LogQuery varchar(255) NOT NULL, LogTime datetime NOT NULL, logQueryDuration int NULL, LogSessionID int NULL, CONSTRAINT PK_Log PRIMARY KEY CLUSTERED (LogRefnr) ) go Create procedure DBO.LogInsert ( …
Welches Verhalten würde PostgreSQL anzeigen, wenn beispielsweise das folgende Skript aufgerufen würde? BEGIN; SELECT * FROM foo; INSERT INTO foo(name) VALUES ('bar'); BEGIN; <- The point of interest END; Würde PostgreSQL die zweite verwerfen BEGINoder würde implizit ein Commit festgelegt und der BEGIN ENDBlock am Ende als separate Transaktion ausgeführt?
Ich habe wirklich Probleme beim Aufspüren von Blockierungen. Der SPID-Status für die Root-Blockierung lautet 'Sleeping', der cmd lautet 'AWAITING COMMAND' und der sqltextist SET TRANSACTION ISOLATION LEVEL READ COMMITTED. Wenn ich den Bericht Top Transactions by Blocked Transactions Count anzeige, lautet die Blocking SQL-Anweisung '-'. Ich habe eine Ablaufverfolgung für …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.