‚CASCADE CONSTRAINTS‘ auf dem SQL-Server

Der SQL-Server beherrscht das praktische „DROP TABLE <TABLE_NAME> CASCADE CONSTRAINTS‘ leider nicht.

Also muss man sich die Constraints selber zusammen suchen, und einzeln droppen.

Das folgende kleine T-SQL-Snippet tut das:

-- <DATENBANK> und <TABELLE> durch die eigenen Werte ersetzen:
-- <DATENBANK> ist die eigene Datenbank
-- <TABELLE> die Tabelle, zu der alle Fremdschlüssel gelöscht werden sollen, die auf sie verweisen.
DECLARE @database nvarchar(50)
DECLARE @table nvarchar(50)

set @database = '<DATENBANK>'
set @table = '<TABELLE>'

DECLARE @sql nvarchar(255)
WHILE EXISTS(select * from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc, 
 INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk 
 where rc.CONSTRAINT_CATALOG = pk.CONSTRAINT_CATALOG 
 and rc.UNIQUE_CONSTRAINT_NAME = pk.CONSTRAINT_NAME 
 and rc.CONSTRAINT_CATALOG = @database 
 and pk.TABLE_NAME = @table)
BEGIN
 select @sql = 'ALTER TABLE ' + fk.TABLE_NAME + ' DROP CONSTRAINT ' + rc.CONSTRAINT_NAME 
 from INFORMATION_SCHEMA.TABLE_CONSTRAINTS fk, 
 INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc, 
 INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk 
 where fk.CONSTRAINT_NAME = rc.CONSTRAINT_NAME 
 and fk.CONSTRAINT_CATALOG = rc.CONSTRAINT_CATALOG
 and rc.CONSTRAINT_CATALOG = pk.CONSTRAINT_CATALOG 
 and rc.UNIQUE_CONSTRAINT_NAME = pk.CONSTRAINT_NAME 
 and rc.CONSTRAINT_CATALOG = @database 
 and pk.TABLE_NAME = @table;
 exec sp_executesql @sql
END
GO

 

Deutz 6806

Wir haben uns einen Deutz 6806 gekauft – allerdings ist der noch nicht so fit, wie er sein sollte. Jetzt wird er restauriert…

Fotos mit der Canon EOS M geschossen:

Winter in Hannover

Manchmal ärgert man sich echt, wenn man auf dem Weg zur Arbeit nur das Handy dabei hat – und die gute Kamera zu Hause geblieben ist…

Sonnenaufgang im Winter

Landstraße von Döteberg nach Harenberg im Winter

Winterliche Landstraße im Morgenlicht

Blick nach Döteberg

Sonnenaufgang über verschneitem Acker

Winterlicher Sonnenaufgang bei der Harenberger Mühle

Heizkraftwerk Linden im Winter

Winterlicher Blick auf das HKW Linden

No SMTP service 554-Bad DNS PTR resource record von GMX und Web.de

Ich hatte seit Anfang des Jahres das Problem, dass Gmx und Strato nicht mehr mit meinem Server reden wollten.

Der Fehlertext war der hier:

No SMTP service 554-Bad DNS PTR resource record

Die Lösung ist einfach: Ich hatte bisher immer nur darauf geachtet, dass mein Postfix sich beim Connect mit dem Hostnamen, den Strato auch beim Reverse DNS eingetragen hatte, meldet. Bis Ende 2015 scheint das gereicht zu haben, aber offensichtlich haben zumindest GMX und Web.de die Schrauben angezogen, um Spam heraus zu filtern: Sie verlangen jetzt eine „echte“ Domain im Reverse und dann also auch in der Meldung des SMTP.

Ich hatte immer noch den Strato-Standard (h123456890.stratoserver.net) in beiden Einträgen. Übereinstimmend, aber offensichtlich haben zumindest diese beiden Provider Policies eingetragen, die verhindern, dass diese automatisch generierten Default-Einträge funktionieren.

Ich habe in beidem jetzt eine echte Domain eingetragen (war bei Strato unter „Domainverwaltung“->“DNS Reverse“ im Kundenservicebereich des Servers), eine halbe Stunde gewartet, und die Mails noch einmal gesendet – siehe da, geht.

 

Juhu, mein DXO geht wieder im Lightroom

Und ich hatte meine kleine Spielzeugknipse von Fuji mit auf der Weide.

TISA – Weitere Einschränkung staatlicher Souveränität im Zuge des „Freihandels“

Na super.
Ich sehe das ja als total legitime Feature-Forderung an eine Software an, dass man die Quellen einsehen kann, und genau sehen kann, was die Software (neben ihrem eigentlich im Pflichtenheft beschriebenen Umfang) noch so alles macht.

Gerade, wenn der Auftraggeber der Staat ist, und Software dazu dient, sensible Daten der Bürger zu halten.

Gerade im Zuge der Informationsfreiheit würde ich es total begrüßen, wenn die Software, die die BRD z.B. zu Steuererhebungszwecken (Religionszugehörigkeit, Beziehungsstatus, Wohnort z.B. – wenn das nicht sensibel ist…) im Quelltext für alle Bürger einsehbar wäre.

Wohlgemerkt: Nur den Quelltext der Software, damit man sieht, wie die arbeitet, oder ob da irgendwelche Hintertüren bzw. Sicherheitslücken drin sind, nicht die Daten!

Das ist derzeit nicht so, wäre aber schön, und kann man -noch- drauf hinarbeiten. Z.B. indem man mal seinem Abgeordneten schreibt.

Nach dem derzeitigen Stand des „Abkommens über den Handel mit Dienstleistungen“ wird diese Möglichkeit leider demnächst total ausgeschlossen. Das gilt nicht nur für freie Software, die man frei verwenden kann, sondern jegliche Form von „open Source“ – selbst, wenn man den Quelltext nur zu Informationszwecken einsehen kann!

Neben TTIP noch so ein Abkommen, bei dem die Europäischen Staaten aus irgendeinem Grund ihre Souveränität grundlos selbs einschränken.

Also: Opposition zu TTIP ist wichtig – zu TISA genau so….

Weiter geht’s auf der Koppel

Samstag haben wir noch ein paar Pfähle eingebuddelt.

Leider hat der Schneckenbohrer, den wir uns von Boels geliehen hatten, gar nicht geklappt. Macht Lärm und dreht sich, kommt aber keinen Millimeter in unseren Lehmboden.

Schneckenbohrer

Der tut bei unserem Boden nicht: Der Benzinschneckenbohrer hat sich im Lehm die Zähne ausgebissen.

Also mussten wir auf manuelles Werkzeug zurück greifen. Mit etwas Übung klappt das mit dem Lochspaten und der Erdzange ganz gut…

Bauwerkzeuge

Der Benzinbohrer geht nicht, also mit diesen Dingern im Handbetrieb. Erde los stechen, dann mit der Zange ‚raus aus dem Loch…

Zum Zusägen unserer Pfähle hab‘ ich das neue Billig-Spielzeug vom Baumarkt getestet: Die 100€-Säge klappt auch – und bei den relativ dünnen Pfählen hab ich keinen Unterschied zur dicken Stihl bemerkt.

Die "Kleine" mit nur 1,5PS: Auch die Billigsäge von Attica kann Zaunpfähle zersägen.

Die „Kleine“ mit nur 1,5PS: Auch die Billigsäge von Attica kann Zaunpfähle zersägen.

Einer der neuen Pfähle.

Einer der neuen Pfähle.

Schade jedenfalls, dass wir mit dem Bohrer Zeit verplempert haben: 5,5 von 8 Pfählen stehen jetzt – und das in Handarbeit 🙂

Es wird: Obwohl der Erdbohrer nicht funktioniert, haben wir 5,5 neue Pfähle gesetzt bekommen.

Es wird: Obwohl der Erdbohrer nicht funktioniert, haben wir 5,5 neue Pfähle gesetzt bekommen.

Das Loch war noch nicht tief genug. Da muss Sabine noch mal 'ran...

Das Loch war noch nicht tief genug. Da muss Sabine noch mal ‚ran…