Microsoft SQL Server

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Microsoft SQL Server
Microsoft SQL Server Logo.svg
Entwickler Microsoft
Aktuelle Version SQL Server 2014

(12.0, 1. April 2014)

Betriebssystem Microsoft Windows
Programmier­sprache C, C++
Kategorie RDBMS
Lizenz Microsoft EULA (Closed Source)
http://www.microsoft.com/de-de/server/sql/

Der Microsoft SQL Server (auch kurz MSSQLServer) ist ein relationales Datenbankmanagementsystem von Microsoft.

Geschichte[Bearbeiten]

Zeittafel Microsoft SQL Server[1]
Versions-ID Jahr Release Name Projektbezeichnung
1.0
(OS/2)
1989 SQL Server 1.0
(16bit)
1.1
(OS/2)
1991 SQL Server 1.1
(16bit)
4.21
(WinNT)
1993 SQL Server 4.21 SQLNT
6.0 1995 SQL Server 6.0 SQL95
6.5 1996 SQL Server 6.5 Hydra
7.0 1998 SQL Server 7.0 Sphinx[2]
1999 SQL Server 7.0
OLAP Tools
Plato
8.0 2000 SQL Server 2000 Shiloh[3]
8.0 2003 SQL Server 2000
64-bit Edition
Liberty
9.0 2005 SQL Server 2005 Yukon
10.0 2008 SQL Server 2008 Katmai
10.25 2010 SQL Azure Matrix (aka CloudDB)
10.5 2010 SQL Server 2008 R2 Kilimanjaro (aka KJ)
11.0 2012 SQL Server 2012 Denali
12.0 2014 SQL Server 2014 Hekaton

Microsoft SQL Server entstand aus einer Zusammenarbeit der Firmen Microsoft und Sybase Ende der 1980er Jahre.[4] 1989 wurde die erste Version für das von Microsoft und IBM entwickelte Betriebssystem OS/2 veröffentlicht. Das Produkt entsprach prinzipiell dem Sybase SQL Server 4.0 für Unix und VMS. 1992 erschien der Microsoft SQL Server 4.2 für OS/2 1.3. Im Anschluss mit dem Release von Windows NT im Jahr 1993 erschien schon bald Microsoft SQL Server 4.21, der anstatt auf OS/2 auf Windows NT als Betriebssystem setzte. In dieser Zeit lockerte sich außerdem die Kooperation zwischen Microsoft und Sybase. Im Jahr 1995 erschien mit Microsoft SQL Server 6.0 eine eigenständige Weiterentwicklung der Kooperation, dem 1996 die Version 6.5 folgte. Mit der Version 7.0, die im Jahr 1999 erschien, verabschiedete sich Microsoft von der mit Sybase entwickelten Codebasis und brachte eine vollkommen neue Datenbank-Engine auf den Markt. Diese war auch Basis in den darauffolgenden Versionen SQL Server 2000 (Versionsnummer 8.0), SQL Server 2005 (Versionsnummer 9.0), SQL Server 2008 (Versionsnummer 10.0), SQL Server 2008 R2 (Versionsnummer 10.50) und SQL Server 2012 (Versionsnummer 11.0).

Eigenschaften[Bearbeiten]

Der SQL Server ist ein relationales Datenbankmanagementsystem, das sich am Standard der aktuellen SQL-Version orientiert. Der Microsoft SQL Server liegt in verschiedenen Editionen vor, die ein vielfältiges Angebot abdecken. Die Editionen unterscheiden sich vor allem im Preis, ihren Funktionen und Hardwareeinschränkungen. Der MSSQL-Server kann auch als Data-Warehouse genutzt werden, in dem es den Mitarbeitern in einem Unternehmen eine Sicht auf das Geschäft und dessen Daten ermöglicht. Durch seine Business Intelligence-Plattform bietet er eine skalierbare Infrastruktur, die es der IT ermöglicht, die Nutzung von Business Intelligence im gesamten Unternehmen zu fördern und Business Intelligence dort bereitzustellen, wo Anwender es wünschen.[5] Der SQL Server besteht aus vielen Services und Tools, wie Analysis Services, Reporting Services, Integration Services und Sync Services.

MSSQLServer verwendet für Datenbankabfragen die SQL-Variante T-SQL (Transact-SQL). T-SQL fügt hauptsächlich zusätzliche Syntax zum Gebrauch in Stored Procedures und Transaktionen hinzu. Weiterhin unterstützt MSSQL OLE DB und ODBC (Open Database Connectivity).

Seit SQL Server 2005 (Codename „Yukon“) werden unter anderem Programmiersprachen, welche auf der .NET CLR laufen, für das Erstellen von Stored Procedures unterstützt. Mit Visual Studio wird seit 2005 auch eine passende IDE mitgeliefert.

Redundanz / Ausfallsicherheit[Bearbeiten]

Microsoft bietet eine Reihe von Techniken an, um Daten redundant zu speichern.

Clustering Replication Log Shipping Mirroring AlwaysOn
Availability Groups
Einführung SQL Server 6.5 SQL Server 7.0 SQL Server 2000 SQL Server 2005 SQL Server 2012
Max. Anzahl Kopien 15 unbegrenzt unbegrenzt 1 3
Zusätzliche Infrastruktur geteilte Netzwerkresource (Distributor Server) Monitoring Server
(Optional)
Witness Server
(Optional)
Failover manuell /
automatisch
nur manuell nur manuell manuell /
automatisch
manuell /
automatisch
Bezeichnung Quelle Node Publisher Primary Principal Primary
Bezeichnung Kopie Node Subscriber Secondary Mirror Secondary
Sicherung von Server / Instanz Datenbank(-objekten) Datenbank Datenbank Datenbank(-gruppe)

Es ist möglich, gewisse Redundanztechnologien gleichzeitig parallel zu betreiben - zum Beispiel die Datenbankreplikation zusammen mit einer AlwaysOn-Availability-Group[6]. Die "Datenbankreplikation" teilt sich weiterhin in die Untervarianten "Snapshot Replication", "Transactional Replication", "Merge Replication" und "Peer-To-Peer-Replication".

Versionen[Bearbeiten]

SQL Server 2012[Bearbeiten]

Der unter dem Codenamen Denali entwickelte SQL Server 2012 wurde am 6. März 2012 veröffentlicht. Bei den Editionen ließ Microsoft die erst beim Vorgänger eingeführte Datacenter Edition wieder wegfallen und führte stattdessen eine neue Edition Business Intelligence ein. Die Neuerungen oder Verbesserungen fanden in allen Bereichen des SQL Servers statt, darunter im Datenbankmodul, dem Analyse Service, dem Reporting Service und der Replikation. [7].

Zu den wichtigsten Änderungen bzw. Neuerungen gehören unter anderem Performanceoptimierung für SharePoint, die Hochverfügbarkeitslösung „Always On“, die Cloud-Lösung „Azure“, die Data Quality Services „DQS“, Contained Database und Columnstore Index.

Außerdem wurde die SQL-eigene Programmierschnittstelle T-SQL um weitere Funktionen ergänzt. Auf der anderen Seite wurden einige Funktionen der Vorgängerversionen in SQL Server 2012 entfernt[8] und viele Funktionen als Deprecated gekennzeichnet[9], was bedeutet, dass diese Funktionen in zukünftigen Versionen wegfallen.

Neue T-SQL Funktionen in SQL Server 2012[10]
  • Konvertierung:
    • PARSE()
    • TRY_CONVERT()
    • TRY_PARSE()
  • Datum und Uhrzeit:
    • DATEFROMPARTS()
    • DATETIME2FROMPARTS()
    • DATETIMEOFFSETFROMPARTS()
    • EOMONTH()
    • SMALLDATETIMEFROMPARTS()
    • TIMEFROMPARTS()
  • Logik:
    • CHOOSE()
    • IIF()
  • Zeichenkette:
    • CONCAT()
    • FORMAT()
  • Analytik:
    • CUME_DIST()
    • FIRST_VALUE()
    • LAG()
    • LAST_VALUE()
    • LEAD()
    • PERCENTILE_CONT()
    • PERCENTILE_DISC()
    • PERCENT_RANK()

SQL Server 2014[Bearbeiten]

Die aktuelle Version 2014 (Codename Hekaton, freigegeben am 01.04.2014 [11]) des SQL Servers wurde in Hinblick auf die performante Verarbeitung großer Datenmengen weiter optimiert. Hierzu gehören die Fähigkeit, Tabellen oder ganze Datenbanken komplett im Hauptspeicher zu halten (In-Memory-Datenbank) sowie eine verbesserte Handhabung spaltenbasierter Indexe.

Editionen[Bearbeiten]

Abhängig von der Version des Microsoft SQL Servers gibt es verschiedene Editionen des Produkts. Die Editionen unterscheiden sich entweder in ihrem Funktionsumfang oder der maximalen Hardwareunterstützung. So steht höherwertigen Editionen der Zugriff auf mehr Arbeitsspeicher oder mehr Prozessoren zur Verfügung, wodurch sie mehr Leistung bieten. Der jeweilige Name einer Edition deutet dabei auf seinen angedachten Einsatzort, respektive Einsatzzweck hin. So wird beispielsweise die unter SQL Server 2008 teuerste Version Datacenter-Edition für große Rechenzentren verwendet, während die SQL Server Web Edition speziell für Webhoster oder Websites gedacht ist.

Die folgende Tabelle listet eine Übersicht verschiedener SQL-Server-Versionen und ihrer erhältlichen Editionen:

Version Enterprise Datacenter Business Intelligence Standard Express Workgroup Web
SQL Server 2014[12]    Ja Nein Ja Ja Ja Nein Ja
SQL Server 2012[13]    Ja Nein Ja Ja Ja Nein Ja
SQL Server 2008 / 2008 R2 Ja Ja Nein Ja Ja Ja Ja
SQL Server 2005[14] Ja Nein Nein Ja Ja Ja Nein
SQL Server 2000[15] Ja Nein Nein Ja Ja (MSDE)[16] Ja Nein

Datentypen[Bearbeiten]

Nachfolgend sind die von Microsoft SQL unterstützten Datentypen aufgelistet. Jeder der Typen unterstützt neben seinem Wertebereich noch den Nullwert.

Gruppe Untergruppe Name Speicherbedarf in Byte Wertebereich Unterstützung Bemerkung
Numerische Werte Ganzzahlig bit 1 0 bis 1 0 oder 1 oder NULL, bis zu 8 Spalten einer Tabelle teilen sich das Byte
tinyint 1 0 bis 255
smallint 2 -32768 bis 32767
int 4 -2147483648 bis 2147483647
bigint 8 -9223372036854775808 bis 9223372036854775807
Festkomma smallmoney 4 -214748,3648 bis 214748,3647 int / 10000
money 8 -922337203685477,5808 bis 922337203685477,5807 bigint / 10000
numeric / decimal 5-17 -10^38 +1 bis 10^38 − 1
Fließkomma real 4 -3,40E+38 bis 3,40E+38 IEEE 754
float 8 -1,79E+308 bis 1,79E+308 IEEE 754
Datum und Zeit smalldatetime 4 1900-01-01 00:00 bis 2079-06-06 23:59 nur Minute
datetime 8 1753-01-01 00:00:00 bis 9999-12-31 23:59:59.997
datetime2 6-8 0001-01-01 00:00:00 bis 9999-12-31 23:59:59.9999999 ab 2008
datetimeoffset 8-10 0001-01-01 00:00:00 bis 9999-12-31 23:59:59.9999999 ab 2008 mit Zeitzone
date 3 0001-01-01 bis 9999-12-31 ab 2008 nur Tage
time 3-5 00:00:00.0000000 bis 23:59:59.9999999 ab 2008 100 ns
Zeichenfolgen Non Unicode char 1-8000 variable CodePage
varchar 1-8000 variable CodePage
varchar(max) 1-2GB variable CodePage
text 16 Byte-2GB Veraltet (ab 2012)[9] Alias: CLOB, variable CodePage
Unicode UTF16 nchar 2-4000[17] CodePage 1200 Unicode
nvarchar 2-4000 CodePage 1200 Unicode
nvarchar(max) 2 Byte-2GB CodePage 1200 Unicode
ntext 16 Byte-2GB Veraltet (ab 2012)[9] Alias: NCLOB, CodePage 1200 Unicode
Binär binary 1-8000
varbinary 1-8000
varbinary(max) 1 Byte-2GB
image 16 Byte-2GB Veraltet (ab 2012)[9] Alias: BLOB
Andere für Tabellen sqlvariant kann alles sein
xml hat Methoden
uniqueidentifier 16 GUID
timestamp 8 auto update , Datensatz Änderungs-Zähler, Bigint binär
geography ab 2008 hat Methoden
geometry ab 2008 Geometriedaten, hat Methoden
hierarchyid ab 2008 hat Methoden
nur Prozeduren cursor virtuelle Liste
table virtuelle Liste

Literatur[Bearbeiten]

SQL Server 2014
  •  Ross Mistry, Stacia Misner: Introducing Microsoft SQL Server 2014. 2014, ISBN 9780735684751.
SQL Server 2012
  •  Kalen Delaney: Microsoft SQL Server 2012 Internals. 2013, ISBN 9780735658561.
  •  Itzik Ben-Gan: Microsoft SQL Server 2012 T-SQL Fundamentals. 2012, ISBN 9780735658141.
  •  Grant Fritchey: SQL Server 2012 Query Performance Tuning. 3 Auflage. 2012, ISBN 9781430242031.
  •  Christian Bolton, Justin Langford, Glenn Berry, Gavin Payne, Amit Banerjee, Rob Farley: Professional SQL Server 2012 Internals and Troubleshooting. 2012, ISBN 9781118177655.
  •  Jason Brimhall, David Dye, Jonathan Gennick, Andy Roberts, and Wayne Sheffield: SQL Server 2012 T-SQL Recipes. 3 Auflage. 2012, ISBN 9781430242000.
  •  Jason Strate, Ted Krueger: Expert Performance Indexing for SQL Server 2012. 2012, ISBN 9781430237419.
SQL Server 2008
Weitere
  •  Michael Wagner: SQL/XML:2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme. Diplomica Verlag, 2010, ISBN 3836696096.

Weblinks[Bearbeiten]

 Commons: Microsoft SQL Server – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten]

  1. SQL Server Version und SP-IDs auf MSSQL-Forum.com (abgerufen am 13. September 2011)
  2. SQL Server 7 "Sphinx" auf Winsupersite.com (abgerufen am 13. September 2011)
  3. PRB: Eine Fehlermeldung auf Microsoft.com (abgerufen am 13. September 2011)
  4. MSDN: SQL MythBusters – "SQL Server is really a Sybase product not a Microsoft one."
  5. http://www.microsoft.com/germany/sql/2008/default.mspx
  6. Microsoft MSDN: Configure Replication for AlwaysOn Availability Groups (SQL Server)
  7. What's New in SQL Server 2012
  8. Microsoft MSDN: Discontinued Database Engine Functionality in SQL Server 2012
  9. a b c d Microsoft TechNet: Deprecated Database Engine Features in SQL Server 2012
  10. Microsoft MSDN: Programmability Enhancements
  11. SQL Server Blog: SQL Server 2014 now Generally Available
  12. MSDN: Editionen und Komponenten von SQL Server 2014
  13. Microsoft: SQL Server 2012 - Editionen
  14. Microsoft: SQL Server 2005 - Editionen
  15. Microsoft: SQL Server 2000 - Editionen
  16. Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) Version A im Microsoft Download Center, abgerufen am 15. Februar 2013.
  17. http://msdn.microsoft.com/de-de/library/ms186939.aspx