Alphanumerische Spalten einer Tabelle

Hier eine kleine Abfrage zur Ermittlung der alphanumerischen Spalten einer Tabelle:

SELECT             o.name As Tabelle, c.name As Spalte, c.column_id As Reihenfolge
FROM
                    sys.columns c INNER JOIN sys.objects o ON c.object_id = o.object_id
                                    INNER JOIN sys.types t ON c.system_type_id = t.system_type_id
WHERE
               o.type = ‚u‘ And t.collation_name Is Not Null
GROUP BY   o.name, c.name, c.column_id
ORDER BY
   o.name, c.column_id

Wie allgemein üblich, übernehme auch ich selbstverständlich keinerlei Haftung für diesen Code.

IsNull in SSIS

Innerhalb der Datentransformation kann es notwendig sein einen NULL-Wert mit einem Standardwert zu ersetzen.
Für diesen Fall gibt es in T-SQL Funktion IsNull. Auch in SSIS gibt es diese Funktion, aber mit einem „kleinen“ Unterschied in der Syntax:

IsNull(Spaltenname)? "Ersatzwert": Spaltenname

SQL-Statement zur Ausführung an allen Tabellen

Frage:
Gibt es eine Möglichkeit mit einer einzigen SQL-Anweisung Rechte an allen Tabellen zu vergeben?

Lösung:
Mittels der undokumentierte Gespeicherten Prozedur master.dbo.sp_msforeachtable kann eine SQL-Anweisung an jeder Tabelle der aktiven Datenbank ausgeführt werden.
Beispiel:
exec sp_msforeachtable ‚Grant Select, Update, Insert, Delete On ? To public‘

/* übernommen aus der Original sqlfaq.de */

msdb mit Wiederherstellungsmodell simple

Frage:
Das Wiederherstellungsmodell der Datenbank msdb kann zwar von Einfach auf Vollständig oder Massenprotokolliert geändert werden, aber die Einstellung wird nach einiger Zeit automatisch wieder auf Einfach zurückgesetzt.

Lösung:
Die Einstellung des Wiederherstellungsmodells wird durch den Neustart des SQL Server Agenten wieder auf Einfach zurückgesetzt.
Der Knowledgebase-Artikel 257856 beschreibt diesen Vorgang.

/* übernommen aus der Original sqlfaq.de */

SSIS-Pakete entwickeln

Frage:
Das SQL Server Management Studio bietet keinerlei Möglichkeiten zur Entwicklung eines SSIS-Pakets.
Mit welchem Tool kann ein SSIS-Paket entwickelt werden?

Lösung:
SSIS-Pakete werden mit dem Business Intelligence Development Studio entwickelt.
Diese Visual Studio Umgebung ist Bestandteil aller SQL Server 2005-Versionen – mit Ausnahme der SQL Server Express Edition
.

/* übernommen aus der Original sqlfaq.de */

SSIS-Paket wird nicht ausgeführt

Frage:
Die Ausführung eines SSIS-Pakets wird mit der Fehlermeldung „Error loading value „30.12.2000“ from node „DTS:VariableValue“ abgebrochen.

Lösung:
Die Ursache für den Abbruch liegt am Standardwert einer datetime-Variablen.
Dieser wird als String im Format der entsprechenden Ländereinstellung des Entwicklungsrechners gespeichert. Weicht die Ländereinstellung des Entwicklungsrechners von der des ausführenden Rechners ab, kann das Datum nicht interpretiert werden und die Ausführung wird abgebrochen.
Das Datum muss manuell in der dtsx-Datei an die entsprechende Ländereinstellung angepasst werden.
Mehr dazu im Knowlodgebase-Artikel 918038.

Eine weitere Lösung gibt es von Norbert Mächler:
Das Paket konnte nach der Neuregistrierung von msxml3.dll und msxml6.dll mit regsvr32 msxml3.dll und regsvr32 msxml6.dll wieder ausgeführt werden.

/* übernommen aus der Original sqlfaq.de */