2011-01-12 12 views
1

Ich bin auf der Suche nach dml Fehlerprotokollierung ähnlich Oracle in Sql Server, kann so etwas in SQL Server möglich. nicht weiß, über Oracle genial Fehlerprotokollierung DML Funktiondml Fehlerprotokollierung für SQL Server

Dank

+0

Ich weiß nicht, was die Oracle-Funktionalität ist. In SQL Server können Sie eine Ablaufverfolgung einrichten, die die verschiedenen Fehlerereignisse erfasst, die Ihnen jedoch die fehlerhafte Anweisung nicht mitteilt, es sei denn, Sie erfassen die verschiedenen abgeschlossenen Ereignisse usw., die sehr schwerwiegend wären. Mit welcher Version von SQL Server arbeiten Sie? Wenn 2008, könnte dies mit erweiterten Ereignissen realisierbar sein. –

Antwort

3

Ich denke, das Problem hier ist der Schriftsteller so werde ich es im Grunde hier umreißen ... es ist nicht die Aussage von einem Ringpuffer ziehen .. Die Fehlerprotokollierung von DML erlaubt es, SET-Logik-SQL zu verwenden, wie das Einfügen einer Million Zeilen und einer Zahl für diese Tatsache, und wenn ein Datensatz einen Fehler erzeugt, geht er in einen Fehler-Bucket, während der Rest der Datensätze in die Datenbank eingefügt wird. Es macht dies mit 90% der Leistung einer Insert-Anweisung. Oracles ODI-Tool basiert auf Error Logging DML. Mit anderen Worten, in einer Data-Warehousing-Situation könnte man eine Million oder mehr Zeilen einfügen und ein Datensatz schlägt fehl, anstatt den gesamten Datensatz zurückzurollen (wie alle anderen Datenbanken da draußen), würden alle Datensätze erfolgreich sein, außer dem erzeugten ein Fehler und es würde in einen Fehler-Bucket gehen. Ich hatte wirklich gehofft, als Microsoft verkündete, dass sie die Merge-Anweisung einführen würden, dass sie natürlich Oracle kopieren würden und einen Fehler-Bucket hätten (der mächtigste Teil der Merge-Anweisung, der ein verherrlichter Upsert ist) Dies in SQL Server eine SET-Logik-Datenbank, die dringend Fehlerprotokollierung DML benötigt!

+0

+1 Das bedeutet meine Antwort war dann völlig irrelevant! –

+1

+1: Dies ist die Erklärung, die das Poster hätte liefern sollen. – RBarryYoung

1

Die einzige praktische Möglichkeit, die ich in SQL Server dies tun kann, ist über SSIS (Integration Services). Es ist jedoch nichts so einfach oder einfach wie eine SET-Option für einen SQL-INSERT-Befehl, aber glauben Sie mir, ich wünschte, es wäre so.

Verwandte Themen