Daten verschlüsseln mit SQL Server 7.0 / 2000

Frage: Die Daten von einzelnen Spalten sollen verschlüsselt gespeichert werden. Lösung: SQL Server bietet keine Möglichkeit die Daten einzelner Spalten zu verschlüsseln. Sofern bestimmte Inhalte einzelner Spalten nicht lesbar sein dürfen, müssen die Daten bereits vom Frontend verschlüsselt an den SQL Server übergeben werden. /* übernommen aus der Original sqlfaq.de */

Berechtigung auf Spaltenebene einer Tabelle in SQL Server 7.0

Frage: Der SQL-Server 6.5 unterstützt die Vergabe von Berechtigungen auf Spaltenebene im Enterprise Manager. Gibt es diese Funktion in der Version 7.0 nicht mehr? Lösung: Es ist auch im SQL-Server 7.0 weiterhin möglich, Berechtigungen auf Spaltenebene zu vergeben. Allerdings bietet der Enterprise Manager hierfür keine Verwaltungsdialoge. Die Berechtigungen auf Spaltenebene können nur mit T-SQL-Befehlen verwaltet … Weiterlesen

Der Füllfaktor eines Index

Frage: Die Einstellung des Füllfaktors soll optimiert werden. Lösung: Die Einstellung ist abhängig von der Verwendung der Tabelle. Werden häufig Daten geändert oder hinzugefügt, sollte der Füllfaktor einen geringen Prozentwert enthalten. Dadurch werden die Indexseiten nur zu dem angegebenen Grad gefüllt und es bleibt Platz für weitere Einträge. Ein zu hoher Füllfaktor hätte eine Fragmentierung … Weiterlesen

Vergleiche mit LIKE ‚%wert%‘

Frage: Ein SQL-Statement mit Like ‚%wert%‘ führt zu einem TableScan, obwohl die Spalte indiziert ist. Lösung: Durch die Verwendung des Platzhalterzeichens % am Beginn des Suchausdrucks wird die Nutzung des Index verhindert und dadurch ein TableScan ausgelöst. /* übernommen aus der Original sqlfaq.de */

Dynamisches SQL optimieren

Frage: Wie kann dynamisches SQL optimiert werden? Lösung: Dynamisches SQL sollte grundsätzlich vermieden werden, da es vom Abfrageoptimierer nicht erkannt und somit bei jeder Ausführung erneut kompiliert wird. Ergo geht der Vorteil des gespeicherten Ausführungsplans verloren. Theoretisch ist die Vermeidung von dynamischem SQL leicht gesagt; praktisch aber manchmal notwendig und unumgänglich. Wenn es denn gar … Weiterlesen

Vergleich mit Ausdrücken vermeiden

Frage: Ein Vergleich mit Where preis + 1 > 2 führt zu einem TableScan, obwohl die Spalte indiziert ist. Lösung: Ein berechneter Ausdruck sollte innerhalb eines Vergleichs so formuliert werden, dass er nur auf einer Seite der Bedingung steht. Nur so kann der Index genutzt werden. In dem angeführten Beispiel würde Where preis > 1 … Weiterlesen

Negative Vergleiche vermeiden

Frage: Wie kann eine Abfrage mit einem not equal-Vergleich (<>) in der WHERE-Bedingung optimiert werden? Lösung: Grundsätzlich sollten Vergleiche mit not equal (<>) vermieden werden, da ein Vergleich mit equal schneller ausgeführt wird. Das mag im ersten Moment nicht so einfach sein, in vielen Fällen aber kann ein not equal auch mit einer Kombination aus … Weiterlesen

Freeware – ADO Database Explorer

Andreas Schmidt präsentiert sein Freeware Tool ADO Database Explorer in der neuen Version – adodeskexe.zip. Diese beinhaltet unter anderem: Anzeige Tabellen und Felder (auch Systemtabellen) Anzeige Indizies und ForeignKeys Anzeige und Manipulation von Daten Ausführen von SQL-Anweisungen (in XML oder ATDG Format) Vergleichen von Datenbanken Darstellung der Datenbankstruktur /* übernommen aus der Original sqlfaq.de */