JoNo 11 Geschrieben 2. Februar 2011 Melden Teilen Geschrieben 2. Februar 2011 Hallo Ich suche eine Batch, die das MSSQL Export in eine normale Datei mit create und insert statements | SECURITY-BLOG.EU unter beschriebene via Batch erreicht. Das soll Datenbankänderungen leicht erkennbar machen (Batch wird dann zeitgesteuert aufgerufen), einfach indem zwei Textdateien miteinander verglichen werden. Viele Mitarbeiter in meinem "Betrieb" haben jeweils Jahrzehnte mehr Erfahrung mit Textdateien als mit grafischen Oberflächen. Ciao 1 Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 2. Februar 2011 Melden Teilen Geschrieben 2. Februar 2011 Sorry, aber die Methode erscheint mir abwegig. Das sich Daten in einer Datenbank verändern ist normal. Was willst Du wissen oder erreichen ? Zum Protokollieren von Änderungen gibt es den Transaktionslog. Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 2. Februar 2011 Melden Teilen Geschrieben 2. Februar 2011 Moin, Zum Protokollieren von Änderungen gibt es den Transaktionslog. äh - nee, so dann doch nicht. Gruß, Nils Zitieren Link zu diesem Kommentar
JoNo 11 Geschrieben 2. Februar 2011 Autor Melden Teilen Geschrieben 2. Februar 2011 Ich suche ein Batch, was mir (zeitgesteuert, also z.B. jede volle Stunde) das ausgibt, was unter (verbesserter Link) MS SQL 2008 (R2) Export in eine normale Datei mit Create und insert statements | SECURITY-BLOG.EU grafisch erzeugt werden kann (also Export von Schema und Daten im menschenlesbaren Textformat) - aber wer will schon jede Stunde das durchklicken? In vielen Behörden gibts nunmal Leute, die schon länger arbeiten als manche hier (mich eingeschlossen) auf diesem Planeten sind. diese Leute haben dann einfach gewohnte Arbeitsweisen (neben den fachlichen Anforderungen, z.B. an Nachvollziehbarkeit). Also (Beispielausgabe mit voellig erfundener "Datenbank). USE [bib1] GO /****** Object: Table [dbo].[Autor] Script Date: 02/02/2011 ******/ DROP TABLE [dbo].[Autor] GO /****** Object: Table [dbo].[buch] Script Date: 02/02/2011 ******/ DROP TABLE [dbo].[buch] GO /****** Object: Table [dbo].[buch] Script Date: 02/02/2011 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[buch]( [PKBuch] [varchar](50) NOT NULL, [Titel] [nvarchar](50) NOT NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO INSERT [dbo].[buch] ([PKBuch], [Titel]) VALUES (N'555', N'weisserhai') INSERT [dbo].[buch] ([PKBuch], [Titel]) VALUES (N'666', N'nemo') /****** Object: Table [dbo].[Autor] Script Date: 02/02/2011 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Autor]( [PKAuthor] [varchar](50) NOT NULL, [AutorVorname] [nvarchar](50) NOT NULL, [AutorNachname] [nvarchar](50) NOT NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO INSERT [dbo].[Autor] ([PKAuthor], [AutorVorname], [AutorNachname]) VALUES (N'111', N'anton', N'anfaenger') INSERT [dbo].[Autor] ([PKAuthor], [AutorVorname], [AutorNachname]) VALUES (N'222', N'bernd', N'bester') Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 2. Februar 2011 Melden Teilen Geschrieben 2. Februar 2011 Der Transaktionslog ist sicher nicht für Schema-Änderungen geeignet, das stimmt schon. Habe ich wohl nicht richtig verstanden. Aber warum sollte man Schema-Änderungen ständig überwachen wollen ? Schema-Änderungen können auf einen Testsystem getestet werden. Dann werden die im Rahmen eines Change-Verfahrens im produktiven System implementiert. @NilsK, besser ? Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 2. Februar 2011 Melden Teilen Geschrieben 2. Februar 2011 Das was du suchst nennt sich Audit: MSSQL and Security SQL Server 2000 Security - Part 10 - Auditing — DatabaseJournal.com Understanding SQL Server Audit Die Frage ist nur WARUM willst du alles mitprotokollieren? Zitieren Link zu diesem Kommentar
JoNo 11 Geschrieben 2. Februar 2011 Autor Melden Teilen Geschrieben 2. Februar 2011 @Dukel: ich will gar nicht "alles" mitprotokollieren, nur die Datenbank (Inhalte und Schema) in einem menschenlesbaren Format wegschreiben. Z.B. wer geändert hat, interessiert hier nicht. @zahni: Und woher kommen die Informationen für den "Change Request", z.B. "spalte X ist jetzt nvchar(50) statt nvchar(40)" her? Gefragt ist ein script a.k.a. Batch. Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 2. Februar 2011 Melden Teilen Geschrieben 2. Februar 2011 Und Wieso? Wer fängt was mit den Informationen an? Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 2. Februar 2011 Melden Teilen Geschrieben 2. Februar 2011 Ich verstehe einfach nicht, warum Du das ständig machen willst. Wenn die Tabelle ein paar Gbyte groß ist, wass wilst Du dann mit dem Export in der Textdatei ? Von "Menschen" lesbar sind die auch nicht wirklich. Als Backup taugen diese Dateien auch nicht wirklich, wenn es Fremdschlüsselbeziehungen gibt. Zitieren Link zu diesem Kommentar
JoNo 11 Geschrieben 2. Februar 2011 Autor Melden Teilen Geschrieben 2. Februar 2011 @zahni: Wo steht denn geschrieben, dass jede Datenbank "ein paar GByte" gross werden muss? @dukel: Bei "Bedarf (d.h. Es bimmelt das Telefon: 'Hilfe, die Datenbank tut nicht', nur weil da eventuell Informationen drinstehen die der 'Endanwender' auf den ersten Blick nicht nachvollziehen kann") kann man sehen, was sich von Dienstag, 17:00 auf Donnerstag 11:00 geändert hat - in dem man zwei Dateien in einen Texteditor lädt (stündliche Ausführung der Batch nehme ich einfach mal an). Falls dann da wirklich sich "zuviel" geändert hat, wird halt intern nachgebohrt - sonst nicht. Zitieren Link zu diesem Kommentar
JoNo 11 Geschrieben 5. Februar 2011 Autor Melden Teilen Geschrieben 5. Februar 2011 MySQL kann das ab Werk, hab umgestellt, und muss auch gar nicht wegen Lizenzen fragen beim Chef und dem auch nicht das die MSSQL-Lizenzmodell erklären. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.