Microsoft SQL Server
| Microsoft SQL Server | |
|---|---|
| Entwickler | Microsoft |
| Aktuelle Version | SQL Server 2012
(11.0, 6. März 2012) |
| Betriebssystem | Microsoft Windows |
| Programmiersprache | C, C++ |
| Kategorie | RDBMS |
| Lizenz | Microsoft EULA (Closed Source) |
| http://www.microsoft.com/germany/sql/2008/default.mspx | |
Der Microsoft SQL Server (auch kurz MSSQLServer) ist ein relationales Datenbankmanagementsystem von Microsoft.
Inhaltsverzeichnis |
Geschichte[Bearbeiten]
| 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 |
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), sowie der aktuellen Version 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 Redundanz Technologien gleichzeitig parallel zu betreiben, zum Beispiel die Datenbank Replikation zusammen mit einer AlwaysOn Availability Groups[6]. Die "Datenbank Replikation" teilt sich weiterhin in die Untervarianten "Snapshot Replication", "Transactional Replication", "Merge Replication", "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 oder der Replikation. [7].
Zu den wichtigsten Änderungen bzw. Neuerungen gehören unter anderem: Die Performanceoptimierung für SharePoint; Die Hochverfügbarkeitslösung „Always On“; Die Cloud-Lösung „Azure“; Data Quality Services „DQS“; Contained Database; 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[10] |
|---|
|
Editionen[Bearbeiten]
Abhänging 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 stehen 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 | Business Intelligence | Datacenter | Enterprise | Standard | Express | Workgroup |
|---|---|---|---|---|---|---|
| SQL Server 2012[11] | Ja | Nein | Ja | Ja | Ja | Nein |
| SQL Server 2008 | Nein | Ja | Ja | Ja | Ja | Ja |
| SQL Server 2005[12] | Nein | Nein | Ja | Ja | Ja | Ja |
| SQL Server 2000[13] | Nein | Nein | Ja | Ja | Ja (MSDE)[14] | Ja |
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 | Deprecated, ab 2012[9] | Alias: CLOB, variable CodePage | |||
| Unicode UTF16 | nchar | 2-4000[15] | CodePage 1200 Unicode | |||
| nvarchar | 2-4000 | CodePage 1200 Unicode | ||||
| nvarchar(max) | 2 Byte-2GB | CodePage 1200 Unicode | ||||
| ntext | 16 Byte-2GB | Deprecated, 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 | Deprecated, 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]
- Michael Wagner: SQL/XML:2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme, Diplomica Verlag, 2010, ISBN 3-8366-9609-6.
- Ruprecht Dröge, Markus Raatz: SQL Server 2008. Microsoft Press, Juli 2009, ISBN 978-3-86645-519-1, S. 491, DNB 990602982 (Inhaltsverzeichnis, abgerufen am 27. Juli 2011).
Weblinks[Bearbeiten]
- Whitepaper Microsoft SQL 2008
- SQL Server 2008 White Paper: Overview
- Microsoft SQL Server 2005 - Das ist anders
- Microsoft TechNet SQL Server 2008: SQL Server TechCenter
- TechNet SQL Server 2008 Online Dokumentation
- SQL-Server 2008: Transact-SQL-Referenz (T-SQL)
- SQL Server Data Tools. In: MSDN. Microsoft, abgerufen am 11. April 2013 (englisch, Entwicklungsumgebung für Datenbankentwickler, wird z. T. von Visual Studio benötigt).
Einzelnachweise[Bearbeiten]
- ↑ SQL Server Version und SP-IDs auf MSSQL-Forum.com (abgerufen am 13. September 2011)
- ↑ SQL Server 7 "Sphinx" auf Winsupersite.com (abgerufen am 13. September 2011)
- ↑ PRB: Eine Fehlermeldung auf Microsoft.com (abgerufen am 13. September 2011)
- ↑ MSDN: SQL MythBusters – "SQL Server is really a Sybase product not a Microsoft one."
- ↑ http://www.microsoft.com/germany/sql/2008/default.mspx
- ↑ Microsoft MSDN: Configure Replication for AlwaysOn Availability Groups (SQL Server)
- ↑ What's New in SQL Server 2012
- ↑ Microsoft MSDN: Discontinued Database Engine Functionality in SQL Server 2012
- ↑ a b c d Microsoft TechNet: Deprecated Database Engine Features in SQL Server 2012
- ↑ Microsoft MSDN: Programmability Enhancements
- ↑ Microsoft: SQL Server 2012 - Editionen
- ↑ Microsoft: SQL Server 2012 - Editionen
- ↑ Microsoft: SQL Server 2012 - Editionen
- ↑ Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) Version A im Microsoft Download Center, abgerufen am 15. Februar 2013.
- ↑ http://msdn.microsoft.com/de-de/library/ms186939.aspx