| 

.NET C# Java Javascript Exception

2
Hallo,

ich habe einen SQL Server 2012 mit ca. 10 Datenbanken.
Ich möchte alle Datenbanken (am besten über ein Skript) sichern. Das ist alles kein Problem.
Jedoch will ich nur die Daten der letzten z.B. 2 Wochen sichern. Jede Tabelle hat eine DateTime Spalte, also könnte ich die Abfrage für die Sicherung einschränken. Nur wie?

Wie lässt sich sowas am besten lösen?
Geht sowas mit Integration Services oder geht sowas überhaupt?

Viele Grüße
Chris
News:
21.09.2012
scoda 61 1 1 3
1 Antwort
0
Leider ist auch bei mehrmaligem Lesen unklar, was genau du eigentlich willst.

Nach derzeitigem Verständnisstand könnte der Lösungsalgorithmus etwa so aussehen:

Ich setze voraus, dass Quelle und Ziel miteinander verlinkte MSSQL-Server sind.

Die Datenbanken der Quellinstanz ermitteln (System view sys.databases abfragen).

Darin jeweils sämtliche Tabellen ermitteln (Sysview INFORMATION_SCHEMA.TABLES oder sys.tables abfragen).

Über die Tabellen iterieren und jeweils:

(drop table targetdb.dbo.tblTarget)

(create table targetdb.dbo.tblTarget)

insert targetdb.dbo.tblTarget
select * from sourcedb.dbo.tblSource where [datetime] >= dateadd(ww, -2, getdate())


Ein Problem mit den sys... querys könnten eventuell fehlende Rechte sein. INFORMATION_SCHEMAs sind genügsamer, aber für databases hab ich (in MSSQL 2008 R2) kein INFORMATION_SCHEMA gefunden.

Kann sein, dass die Replikation auch schnell genug und verlässlich funktioniert.

Interessant wird's auch, wenn du nicht die letzten zwei Wochen komplett neu sichern, sondern auch UPDATEn und jedenfalls nicht Altes löschen willst. Dann wirst du dich wohl mit Replikation beschäftigen _müssen_.
22.09.2012
mupan 575 1 8
mupan 575 1 8

Stelle deine Sql-Frage jetzt!