Database

Wie durchsuche ich Daten in meiner Datenbank?

Gepostet am Aktualisiert am

IMG_6194

Mithilfe von integrierten Tools kann man schnell nach Objekten und Daten im Microsoft SQL Server suchen. Einige dieser nützlichen Freeware-Tools mit ihren Eigenschaften (Features) möchte ich euch kurz vorstellen.

SQL Server Backup, Integritäts-Check, Index und Statistik-Wartung [link]

Die SQL Server Maintenance Solution umfasst Skripte für das Ausführen von Sicherungen, Integritätsprüfung, sowie Index und Statistik-Wartung aller Editionen von Microsoft SQL Server 2005 aufwärts.

Die Lösung ist komplett script-basierend, was letztendlich bedeutet, dass man seine Jobs manuell per Agent-Aufträge oder per sqlcmd und Windows Jobs selbst anlegt.

Das Tool ist echt cool und erledigt viele Dinge, die man sonst nur aufwendig selber umsetzen muss oder sich für teures Geld Tools besorgt. Nicht umsonst hat das Tool in den vergangenen drei Jahren mehrere Gold- und Silber-Auszeichnungen (SQL Server Community Awards) erworben. Der SQL Server Maintenance Solution ist kostenlos.

SQL Server Backup: DatabaseBackup.sql ist ein Script für das Sichern von Datenbanken.

SQL Server-Integritätsprüfung: DatabaseIntegrityCheck dient zur Überprüfung der Integrität von Datenbanken.

SQL Server und Index Statistik Maintenance: IndexOptimize dient dem Wiederaufbau und der Reorganisation von Indizes und dem Aktualisieren von Statistiken.

EMS SQL Manager für SQL Server [link]

Der EMS SQL Manager des russischen IT-Unternehmens EMS (sqlmanager.net) dient der Verwaltung und Entwicklung von Datenbanken des Microsoft SQL Servers. Der SQL Manager funktioniert mit allen Versionen ab SQL Server 2005 und Features.

Außerdem unterstützt er Sequenzen, benutzerdefinierte Serverrollen, Columnstore-Indizes, FileTables und viele andere Funktionen des SQL Server 2012.

Der SQL Manager ergänzt das SQL Server Management Studio um viele, lang vermisste Funktionen, wie einen ordentlichen Datenbankdesigner. Bei Datenbankdiagrammen fehlte z.B. die Möglichkeit, offlinefähige Datenbank-Diagramme zu erstellen und ordentliche Anzeigen der Referenzen.

Außerdem bietet es einen grafischen Abfrage-Generator und erweiterten SQL-Editor zum Erstellen von komplexeren Abfragen des SQL-Servers. Warum sollte man den EML Manager verwenden, wenn´s im SSMS auch einen gibt? Die Antwort liegt bei den wichtigsten Features des SQL Manager. 😉

Der EML Manager besitzt eine durchdachtere Oberfläche, die mit vielen kleinen nützlichen Gimmicks aufgewertet wurde.

Der SQL Manager unterstützt die gängigsten Dateiformate und erstellt den Datenbank-Snapshot in Form von SQL-Skripts.

Weiterhin hat der SQL Manager eine FREEWARE-Version und die Softwarewartung ist 1 Jahr kostenlos enthalten.

Datenmanipulationswerkzeuge ermöglichen darüber hinaus z.B. Datengruppierung, Zusammenfassung, Schnellsuche und Filtern.

Abbildung1

Abbildung 1: Datengruppierung, Schnellsuche und Filtern

Weitere grafische und textuelle Werkzeuge für die Erstellung von Abfragen:
Mehrere SQL Editoren mit der Code-Vervollständigung, Syntaxhervorhebung und Code-Faltung.
– SQL Script Editor (Ausführung großer Scripts)

Abbildung2

Abbildung 2: SQL Editor

Nachteil: Da der SQL Manager Freeware ist, hat das Programm einige Einschränkungen. So können nicht mehr als 5 Datenbanken bearbeitet werden. Jedoch bietet das Programm die Möglichkeit, die Verwaltung und die Entwicklung des SQL Servers unter der Verwendung von verfügbaren Tools auszuführen. Smiley

Aqua Data Studio für SQL Server [link]

Grundsätzlich kann man Aqua Studio als überflüssig empfinden, wenn da nicht ein paar grandiose Vorteile wären. Allerdings ist Aqua Studio nur in einer abgespeckten Version kostenfrei. Daher empfiehlt es sich für Anwender, die beispielsweise wenige DBs verwalten müssen oder etwas SQL Server Express verwenden und sich eine komfortablere Oberfläche wünschen.

Aqua Data Studio (ADS) ist eine vollständig integrierte Entwicklungsumgebung für Datenbankabfragen, Datenbankverwaltung und Datenbankentwicklung. ADS funktioniert auf allen gängigen Betriebssystemen. Mithilfe von ADS können Abfragen und große Daten bearbeitet werden.

Die visuellen Verwaltungsfunktionen bieten Benutzern die Möglichkeit, Datenbankstrukturen nach Objekten zu durchsuchen und zu ändern. Außerdem bietet es dem User Schema-Objekte und die Speicherung in Datenbanken sowie die Aufrechterhaltung von der Datenbank-Sicherheit.

Ein integriertes Abfrage-Tool ermöglicht es, SQL-Abfragen und Skripts zu erstellen, zu bearbeiten und auszuführen.

ADS bietet weitere Import-und Export-Tools, um Daten in und aus unterschiedlichen Datenformaten sowie in und aus der SQL Server-Datenbank zu bewegen. Integriert in diesen Werkzeugen ist der Microsoft SQL Server Debugger.

Abbildung3

Abbildung 3: Aqua Data Studio

Aqua Data Studio SQL History (gratis) protokolliert alle SQL-Anweisungen und Skripte im Query Analyzer und Query Builder. Diese Funktion hilft bei wiederverwendeten SQL-Anweisungen mit wenigen Tastendrücken. Schwachpunkt: Das Ganze funktioniert nur in Aqua Data Studio.

Abbildung4

Abbildung 4: SQL History

Text Editor Integration (im SQL History): Eine Abfrage in der SQL History-Liste wird sofort in einem im Aqua Data Studio aktiven Editor-Fenster hinzugefügt.

SQL History vergleichen: Das SQL Compare-Tool kann vom SQL History-Netz gestartet werden. Es zeigt die Unterschiede zwischen zwei ausgewählten Einträgen im SQL History-Gitter.

SQL History suchen: Außerdem kann man Texte und Schlüsselwörter für SQL-Abfragen in der SQL History suchen.

Abbildung5

Abbildung 5: SQL Suchen-Funktion

Quick Filter und Sortieren von Daten: Mit Quick-Filter kann man bestimmte Daten filtern. Ein weiteres Feature ist das Sortieren von Daten. Wenn man auf eine spezielle Spaltenüberschrift klickt, kann man eine Spalte in aufsteigender oder absteigender Reihenfolge sortieren.

Abbildung6

Abbildung 6: Daten filtern und sortieren

Verzeichnis-Optionen: Die History- und Archivverzeichnisse können auf lokalen oder Netzwerk-Storage eingestellt werden. Für die Prüfung und Analyse von SQL-Abfragen ist es möglich, das SQL History-Archiv auf Netzwerkfreigaben mit dem Benutzernamen zu speichern.

Fazit: Diese Tools vereinfachen die Datenbank-Verwaltungsaufgaben während des gesamten Datenbank-Lebenszyklus. Von der ursprünglichen Erstellung einer Datenbank bis zu täglichen Services, Wartung und Datenbearbeitung können die Datenbankanwender und -entwickler diese nutzen. Smiley

Link: http://blog.ppedv.de/

Advertisements

Tugce for beginners – INSERT

Gepostet am Aktualisiert am

INSERT-Befehl wird verwendet, um einer Tabelle Datensätze hinzuzufügen.

IMG_6164

In SQL gibt es im Wesentlichen mehrere Methoden zum Einfügen von Daten in eine Tabelle. Zum einen wird jeweils eine Zeile eingefügt und zum anderen mehrere Zeilen gleichzeitig.

Das Einfügen vieler Datensätze am Stück ist grundsätzlich wesentlich performanter als Zeile-für-Zeile einzufügen. Dies wird auch in der Fachsprache unterschieden. Masseneinfügeoperationen, welch schönes deutsches Wort, nennt man beispielsweise Bulk Inserts. Doch fangen wir mal von vorne an.

Um beispielsweise einen Datensatz mit 2 Werten in deine Datenbank zu speichern, benutzt man ein INSERT Statement mit der folgenden Syntax:

INSERT INTO Tabelle/Sicht (Spalte1, Spalte2)
VALUES (Wert1, Wert2)

Mit dem zweiten Typ von INSERT INTO können wir mehrere Zeilen (ah, der Bulk Insert!) in eine Tabelle einfügen. In der oberen Syntax haben wir eine einzelne Zeile durch Angabe der Werte (VALUES) für alle Spalten eingefügt. Für die zweite Methode verwenden wir eine SELECT-Anweisung, um die einzufügenden Daten festzuhalten. Die Syntax sieht folgendermaßen aus:

INSERT INTO Tabellen/Sicht (Spalte1, Spalte2)
SELECT Spalte3, Spalte4
From andererTabelle/Sicht
WHERE Spalte5 = ‘ab‘
go

Kann man neue Werte einfügen und zugleich bestehende Werte aus anderen Tabellen einfügen? So funktioniert’s:

Idee:

INSERT INTO Tabelle
SELECT ‚A‘, ‚B‘ , Spalte1, Spalte2
From Tabelle

Soweit so gut.
Was ist aber mit den Ergebnissen aus Stored Procedures oder aus DBCC (Database Console Commands)-Befehlen? Prozeduren und DBCC-Anweisungen werden eben nicht per Select ausgegeben.

Wie lassen sich aber Stored Procedures und DBCC in „normalen“ Insert-Anweisungen integrieren?

Beispiel:

//hier erst Tabelle erstellen
create table #test1
(ObjectName varchar(100),
ObjectId int,
IndexName varchar(100),
IndexId int,
[Level] int,
Pages int,
[Rows] int,
MinimumRecordSize int,
MaximumRecordSize int,
AverageRecordSize int,
ForwardedRecords int,
Extents int,
ExtentSwitches int,
AverageFreeBytes float,
AveragePageDensity float,
ScanDensity float,
BestCount int,
ActualCount int,
LogicalFragmentation int,
ExtentFragmentation float
)

insert into #test1                                                              //hier dann insert Befehl
exec(‚dbcc showcontig (b2) with tableresults‘) //dbcc muss mit “with Tableresults” ausgeführt werden

//dann mit exec das statement ausführen, ohne gehts nicht,   weil dbcc nicht nach insert kommen darf!
select * from #test1                                                       //temp Tabelle aufrufen, fertig

Link:
http://blog.ppedv.de/