Home » Windows » SQL » Einführung in SQL-Server 2014 Express
- Anzeige -
Software Asset Management beim Fachmann

Einführung in SQL-Server 2014 Express



Dieser Artikel ist eigentlich mehr eine Mitschrift einer Laborübung zu SQL Server 2014, daher sind die Abschnitte auch nicht immer ganz logisch aufgebaut. Die Ausgangslage war, dass ich die etwas SQL Server 2014 kennen lernen wollte. Neben der Installation wollte ich eine Datenbank erstellen, Felder editieren, Backup erstellen und die Datenbank in Access ansprechen. Wenn neues aufgetaucht ist, hab ich das an den jeweiligen Stellen geklärt.

Inhaltsverzeichnis

Editionen von SQL-Server 2014

Alle Editionen gibt es als 32 oder 64 Bit Versionen

Enterprise

"Das Premium-Angebot, SQL Server 2014 Enterprise Edition, übermittelt umfassende hochwertige Datencenterfunktionen mit blitzschneller Performance, unbegrenzter Virtualisierung und End-to-End Business Intelligence – und bietet so hohe Servicelevel für unternehmenswichtige Arbeitslasten und Endbenutzerzugriff auf Dateneinblicke."1

Business Intelligence

"SQL Server 2014 Business Intelligence-Edition bietet eine umfassende Plattform, die Organisationen die Erstellung und Bereitstellung von sicheren, skalierbaren und überschaubaren BI-Lösungen ermöglicht. Bietet neuartige Funktionen wie Browser-basiertes Durchsuchen und Visualisieren von Daten, leistungsstarke Datenkombinationsfunktionen und verbesserte Integrationsverwaltung."1

Standard

"SQL Server 2014 Standard Edition stellt eine grundlegende Datenverwaltungs- und Business Intelligence-Datenbank bereit, auf der Abteilungen und kleinere Unternehmen ihre Anwendungen ausführen. Diese unterstützt allgemeine Entwicklungstools für lokale und Cloudverwendung und ermöglicht eine effektive Datenbankverwaltung mit minimalen IT-Ressourcen."1

Web

"Die SQL Server 2014 Web Edition ist eine mit geringen Anschaffungs- und Betriebskosten verbundene Option für Webhoster und Web-VAPs, die kostengünstige Skalierbarkeit und Verwaltungsfunktionen für Webpräsenzen jeder Größe bietet."1

Developer

"SQL Server 2014 Developer Edition ermöglicht Entwicklern das Erstellen beliebiger Anwendungen auf der Basis von SQL Server. Sämtliche Funktionen der Enterprise Edition stehen zur Verfügung. Die Lizenz bezieht sich jedoch auf die Verwendung als Entwicklungs- und Testsystem und nicht als Produktionsserver. SQL Server Developer ist eine ideale Option zum Erstellen und Testen von Anwendungen."1

Express

"SQL Server 2014 Express Edition ist eine kostenlose Edition auf Einstiegsebene und eignet sich ideal zum Üben und zum Erstellen von datengesteuerten Anwendungen für Desktopcomputer und kleine Server. Dies ist die beste Wahl für unabhängige Softwareanbieter, Entwickler und Tüftler, die Clientanwendungen erstellen. Wenn Sie erweiterte Datenbankfunktionen benötigen, können Sie SQL Server Express nahtlos auf höhere Endversionen von SQL Server aktualisieren. SQL Server Express"1

Im Gegensatz zu früher dürfte SQL Express nun noch viel häufiger eingesetzt werden, denn jetzt ist auch in dieser Edtion das "SQL Server 2014 Management Studio" mit dabei, ein grafisches Tool zur Bearbeitung der Datenbanken. Wenn Sie SQL Server 2014 Management Studio brauchen, achten Sie bitte darauf, dass Sie die Version "mit Tools" auswählen.

1Editionsinfo von Editionen und Komponenten von SQL Server 2014.

Installationsvorrausetzungen

SQL Server 2014 benötigt .NET Framework 2014.

RAM

Minimum

Empfohlen

Prozessor

Minimum

Empfohlen

Installation am Beispiel der Express Edition

Zunächst habe ich irgendwo eine falsche ISO erwischt. Die richtige sollte es unter Ressourcen für Microsoft SQL Server 2014 Expressgeben.

Hier die Variante "mit Tools" auswählen und "SQLEXPRWT_x64_ENU" starten. Bei dieser Version ist das Microsoft SQL Server Management Studio mit dabei.

Eine neue SQL-Installation mit "New SQL Server stand-alone installation or add features on an existing installation" starten

Einführung in SQL 2014 Express

License Terms bestätigen

Einführung in SQL 2014 Express

Update-Funktionen wie gewünscht festlegen

Einführung in SQL 2014 Express

Ich installiere hier alle Features

Einführung in SQL 2014 Express

Und nicht wie ich Microsoft .NET Framework 3.5 vergessen.

Einführung in SQL 2014 Express

Falls doch, kann dies unter Windows Server 2012 (R2) als Server Feature nachinstalliert werden.

Einführung in SQL 2014 Express

Wenn alle Installationvorraussetzungen erfüllt sind, sollte die Installation korrekt durchlaufen.

Erste Schritte im Microsoft SQL Server Management Studio

Starten Sie das "Microsoft SQL Server Management Studio", z.B. indem Sie auf dem Start-Menü "Management" eingeben

Einführung in SQL 2014 Express

Um eine neue Datenbank anzulegen, klicken Sie mit der rechten Maustaste auf "Database" und wählen Sie "New Database" aus.

Einführung in SQL 2014 Express

Um eine neue Tabelle anzulegen, browsen Sie zu Ihrer Datenbank und Tables und klicken Sie dort mit rechter Maustaste und wählen "Table".

Einführung in SQL 2014 Express

Datentypen in MSSQL

Einführung in SQL 2014 Express
DatentypBereich
bigint -2^63 (-9.223.372.036.854.775.808) bis 2^63-1 (9.223.372.036.854.775.807)
binary(n) Binärdaten fester Länge mit einer Länge von n Bytes, wobei n ein Wert zwischen 1 und 8.000 ist. Die Speichergröße beträgt n Bytes.
bit Ein ganzzahliger Datentyp, der den Wert 1, 0 oder NULL annehmen kann.
char(n) Nicht-Unicode-Zeichenfolgendaten mit fester Länge. n definiert die Zeichenfolgenlänge und muss ein Wert von 1 bis 8.000 sein. Die Speichergröße beträgt n Bytes.
date Datum
datetime Datum und Zeit
datetime2(7) Definiert ein Datum, das mit einer Uhrzeit kombiniert ist und auf dem 24-Stunden-Format basiert.
datetimeoffset(7) Definiert ein auf dem 24-Stunden-Format basierendes Datum, das mit einer Uhrzeit kombiniert ist, bei der die Zeitzone beachtet wird.
decimal(p,s) Numerische Datentypen mit fester Genauigkeit und fester Anzahl von Dezimalstellen. p -> Dezimalstellen, s -> Dezimalstellen hinter dem Komma => numeric
float (n) Ungefähre Zahlendatentypen für numerische Gleitkommadaten.
geography Der Räumlichkeitsdatentyp geography wird als .NET-CLR (Common Language Runtime)-Datentyp in SQL Server implementiert. Dieser Typ stellt Daten in einem Erdkugel-Koordinatensystem dar.
geometry Der Räumlichkeitsdatentyp geometry wird als .NET-CLR (Common Language Runtime)-Datentyp in SQL Server implementiert. Dieser Typ stellt Daten in einem euklidischen (flachen) Koordinatensystem dar.
hierarchyid Sie können hierarchyid verwenden, um die Position in einer Hierarchie darzustellen.
image Binärdaten variabler Länge von 0 bis 2^31-1 (2.147.483.647) Byte.
int -2^31 (-2.147.483.648) bis 2^31-1 (2.147.483.647)
money Datentypen zur Darstellung von Währungswerten. -922.337.203.685.477,5808 bis 922.337.203.685.477,5807
nchar(n) Unicode-Zeichenfolgendaten mit fester Länge. n definiert die Zeichenfolgenlänge und muss ein Wert von 1 bis 4.000 sein.
ntext Unicode-Daten variabler Länge mit einer maximalen Zeichenfolgenlänge von 2^30 - 1 (1.073.741.823) Bytes. Die Speichergröße in Bytes ist doppelt so groß wie die eingegebene Zeichenfolgenlänge.
numeric(p,s) Numerische Datentypen mit fester Genauigkeit und fester Anzahl von Dezimalstellen. p -> Dezimalstellen, s -> Dezimalstellen hinter dem Komma => decimal
nvarchar(n) Unicode-Zeichenfolgendaten variabler Länge. n definiert die Zeichenfolgenlänge und kann ein Wert von 1 bis 4.000 sein.
nvarchar(MAX) MAX gibt an, dass die maximale Speichergröße 2^31-1 Byte (2 GB) beträgt
real Ungefähre Zahlendatentypen für numerische Gleitkommadaten.
smalldatetime Definiert ein Datum, das mit einer Uhrzeit kombiniert wird. Die Uhrzeit basiert auf dem 24-Stunden-Format, wobei die Sekunden immer 0 sind (:00) und es keine Sekundenbruchteile gibt.
smallint -2^15 (-32,768) bis 2^15-1 (32,767)
smallmoney Datentypen zur Darstellung von Währungswerten. -214.748,3648 bis 214.748,3647
sql_variant Ein Datentyp, der Werte verschiedener von SQL Server unterstützter Datentypen speichert.
text Nicht-Unicode-Daten variabler Länge in der Codepage des Servers und mit einer maximalen Zeichenfolgenlänge von 2^31 - 1 (2.147.483.647).
time(7) Definiert eine Uhrzeit. Die Uhrzeit basiert auf einem 24-Stunden-Format und beachtet keine Zeitzonen.
tinyint 0 bis 255
uniqueidentifier Der uniqueidentifier-Datentyp speichert aus 16 Bytes bestehende Binärwerte, die als GUIDs (Globally Unique Identifier) fungieren. Ein GUID ist eine eindeutige Binärzahl; kein anderer Computer auf der Welt generiert einen GUID-Wert, den es schon einmal gibt.
varbinary(n) Binärdaten mit variabler Länge. n muss ein Wert zwischen 1 und 8.000 sein.
varbinary(MAX) max gibt an, dass die maximale Speichergröße 2^31-1 Byte beträgt. Die Speicherplatzgröße ist die tatsächliche Länge der eingegebenen Daten + 2 Byte.
varchar(n) Nicht-Unicode-Zeichenfolgendaten mit variabler Länge. n muss ein Wert zwischen 1 und 8.000 sein.
varchar(MAX) max gibt an, dass die maximale Speichergröße 2^31-1 Byte (2 GB) beträgt. Die Speicherplatzgröße ist die tatsächliche Länge der eingegebenen Daten + 2 Byte.
xml Der xml-Datentyp ermöglicht das Speichern von XML-Dokumenten und -Fragmenten in einer SQL Server-Datenbank.

Erste Schritte im Microsoft SQL Server Management Studio - Fortsetzung

Nach der Erstellung einer Tabelle muss diese gespeichert werden.

Einführung in SQL 2014 Express

Unter Umständen erscheint die Tabelle nicht im Tree links. In diesem Fall auf Tables klicken und "Refresh" wählen.

Einführung in SQL 2014 Express

Um Inhalt in die Tabellen einzugeben, rechts auf die Tabelle klicken und "Edit Top 200 Rows" eingeben.

Einführung in SQL 2014 Express Einführung in SQL 2014 Express

Backup einer Datenbank

Dem Backup der Datenbank kommt einiges an Bedeutung zu. Ich kann die Datenbankdateien nicht einfach wegkopieren, da diese von der SQL-Engine ständig in Benutzung sind. Man kann aber von der Engine aus einen Datenbank-Dump starten, den ich dann anschliessend wegkopieren (auf Band sichern...) kann. Moderne (und entsprechend) teure Backupsysteme bringen aber sog. Agenten mit, die die Datenbank auch im laufenden Betrieb sichern können.

Bei SQL Express gibt es einige Einschränkungen bezüglich der Verwaltungstools. So fehlt die Automatisierungskomponente SQL Server Agent bzw. der Dienst wird zwar mit installiert, jedoch stoppt dieser nach dem Starten sofort wieder. Automatische Tasks lassen sich aber trotzdem ausführen, indem man einfach das passende SQL-Skript via Kommandozeilentool

SQLCMD.EXE
ausführt.

Ist SQL auf C: installiert, befindet sich das Kommandozeilentool unter

C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn

Für eine ältere SQL Express Version ist die Vorgehensweise unter Automatische Backups für SQL Server Express beschrieben.

Folgt man dem Beispiel, dann kann man die folgende SQL-Datei FirstDB.sql (in reinem Textformat) erstellen:

BACKUP DATABASE [FirstDB] TO DISK='C:\Backup\MeineDB_sich.bak' WITH  INIT, NAME = N'MeineDB_Sicherung'
BACKUP LOG [FirstDB] TO DISK='C:\Backup\MeineDB_Log_sich.bak' WITH INIT, NAME = N'MeineDB_Log_Sicherung'

Meine Datenbank heisst FirstDB. Grundsätzlich empfiehlt es sich, ein SQL-Skript est einmal im Management Studio zu testen. Hierzu kann man die SQL-Datei doppelklicken und Sie wird im Management Studio geöffnet. Mit "Excecute" kann man das Skript ausführen. Man erhält dann allerdings eine Fehlermeldung:

Einführung in SQL 2014 Express

Was ist das SQL-Server Recovery Model (bzw. Wiederherstellungsmodell?

Die beste Erklärung findet man im MSDN-Artikel Wiederherstellungsmodelle (SQL Server).

Das Wiederherstellungsmodell beschreibt, wie mit der Log-Datei (auch Protokolldatei) umgenannt wird. Neben der eigentlichen Datenbank-Datei hat SQL auch sog. Log-Dateien, die die jeweilig aktuellen Änderungen aufnehmen. Diese werden unterschiedliche in die eigentliche Datenbank geschrieben.

Wiederherstellungsmodell Beschreibung Datenverlust
Einfach Keine Protokollsicherungen. Gibt Protokollspeicherplatz automatisch wieder frei, um die Speicherplatzanforderungen gering zu halten. Hierdurch entfällt im Wesentlichen die Notwendigkeit, den Speicherplatz für Transaktionsprotokolle zu verwalten. Änderungen seit der letzten Sicherung sind nicht geschützt. Bei Auftreten eines Notfalls müssen diese Änderungen erneut vorgenommen werden.
Vollständig Erfordert Protokollsicherungen. Es gehen keine Daten aufgrund einer verlorenen oder beschädigten Datendatei verloren. Die Wiederherstellung bis zu einem beliebigen Zeitpunkt ist möglich (z. B. vor Anwendungs- oder Benutzerfehlern). Normalerweise nicht. Wenn das Protokollfragment beschädigt ist, müssen Änderungen seit der letzten Protokollsicherung erneut vorgenommen werden.
Massenprotokolliert Erfordert Protokollsicherungen. Eine Ergänzung des vollständigen Wiederherstellungsmodells, die leistungsintensive Massenkopiervorgänge ermöglicht. Senkt die Protokollspeicherauslastung durch den Einsatz von minimaler Protokollierung für die meisten Massenvorgänge. Wenn das Protokoll beschädigt ist oder massenprotokollierte Vorgänge seit der letzten Protokollsicherung aufgetreten sind, müssen Änderungen seit der letzten Protokollsicherung erneut vorgenommen werden. Ansonsten gehen keine Daten verloren.

Einführung in SQL 2014 Express

Schaut man sich die Eigenschaft der verwendeten Datenbank an, dann wird klar, warum die Sicherung der Log-Datei fehl schlägt, das Recovery model steht auf Simple. Es lässt sich hier jedoch auch für eine bereits erstellte Datenbank ändern und nach Änderung auf "Full" läuft das Skript fehlerfrei durch. Das Backup wird in Form von zwei .bak-Dateien erstellt.

Einführung in SQL 2014 Express

Anschliessend kann man eine DOS-Batchfile erstellen, dass das SQL-Skript aufruft. Hier sind gegenüber dem Link oben ein paar kleine Anpassungen nötig. Konkret ist der Instanz-Name anzupassen

rem Ausführen eines Full Backup der MeineDB-Datenbank
"C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\SQLCMD.EXE" -S 2012R2MEMBER\SQLEXPRESS -E -i C:\Backup\FirstDB.sql -o C:\Backup\BackupLog.txt

rem Zeitstempel erzeugen
for /f "tokens=1-4 delims=. " %%i in ("%date%") do (
 set year=%date:~10,4%
 set month=%date:~4,2%
 set day=%date:~7,2%
)

for /f "tokens=1-4 delims=.:, " %%i in ("%time%") do (
 set hour=%%i
 set minute=%%j
)

rem Log-Datei mit Zeitstempel umbenennen
ren C:\Backup\BackupLog.txt FullBackup-%year%-%month%-%day%-%hour%-%minute%.txt

Nach dem Arufruf von SQLCMD.EXE wird lediglich noch ein etwas "CMD-Magic" betrieben, um einen Dateinamen zu erzeugen, der aus Jahr, Monat, Tag, Stunde und Minute besteht, um das Logfile unter diesem Namen auszutesten.

Anschliessend das Skript austesten und bei Erfolg noch in die Aufgabenplanung stellen. Schon sollte ein unbeaufsichtigten Backup klappen. Regelmässige Kontrolle nicht vergessen!

Restore einer Datenbank

Was mache ich jetzt, wenn ich die Datenbank wiederherstellen will?

Rechte Maustaste auf "Databases" und "Restore"

Einführung in SQL 2014 Express

Entsprechende Angaben in der folgenden Maske machen - Aufpassen, dass die richtige Backup-Datei ausgewählt wird.

Einführung in SQL 2014 Express

Zugriff von Extern auf den Servern

Versucht man nun von extern auf den Server zuzugreifen, z.B. mittels ODBC, wird man erst einmal scheitern. Per Standard ist der externe Zugriff deaktiviert. Um dies zu ändern, braucht es den "SQL Server Configuration Manager".

Zumindest bei mir unter Windows Server 2012 suchte ich den jedoch erst einmal vergeblich. Est nach einigem Googlen kam ich drauf:

Einführung in SQL 2014 Express

Nun kann man z.B. von einem Client aus eine ODBC-Verknüpfung anlegen:

ODBC Data Source Administrator durch Eingabe von "ODBC" auf dem Starbildschirm öffnen

"System DNS" wählen und mit "Add" passenden Treiber (SQL Server) wählen.

Einführung in SQL 2014 Express

In der nächsten Maske Name und Server wählen. Der richtige Server sollte sich durch Klicken auf die Dropdown-Taste rechts auswählen lassen.

Einführung in SQL 2014 Express

Wenn Sie entsprechend der o. g. Weise vorgegangen sind, kann die nächste Maske einfach bestätigt werden.

Einführung in SQL 2014 Express

Hier die gewünschte Standarddatenbank auswählen

Einführung in SQL 2014 Express

Hier wieder bestätigen

Einführung in SQL 2014 Express

Am Schluss haben Sie die Möglichkeit mittels "Test Data Source" die Verbindung zu testen. Dies sollten Sie unbedingt tun. Mögliche Fehlerursachen:

Einführung in SQL 2014 Express

Nun kann man die ODBC-Verbindung verwenden. In Access passiert das z.B. über die entsprechende Funktion im Reiter "External Data"

Einführung in SQL 2014 Express

Was ist eigentlich eine Instanz

Im Artikel wurde bereits von Instanzen gesprochen. Aber was ist eigentlich eine MS SQL Instanz?

Eine Installation eines MS SQL Servers wird als Instanz bezeichnet. Auf einem Rechner können mehrere Insanzen installiert werden. Diese Instanzen können über \ angesprochen werden. Beispiel:

2012R2MEMBER\SQLEXPRESS

Jede Instanz nutzt eigene Dienste. Benannte Instanzen werden jeweils folgende Dienste: MSSQL$Instanzname und SQLAGENT$Instanzname>.

Weitere Quellen





War der Artikel hilfreich? Bitte liken und sharen. Danke!

it-zeugs.de ist auch auf Facebook...

Schreibe einen Kommentar - aber kein SPAM - der wird zuverlässig gefiltert!

  • Erforderliche Felder sind markiert mit *.

If you have trouble reading the code, click on the code itself to generate a new random code.