Microsoft SQL Server Express Edition und SQL Server Compact

Werbung
SQL Server 2005 Compact Edition und
SQL Server 2005 Express Edition – Welche
Edition ist die richtige für Sie?
Whitepaper
Veröffentlicht:
November 2006
Autor:
Steve Lasker, Microsoft
http://blogs.MSDN.com/SteveLasker
Die neuesten Informationen stehen unter http://www.microsoft.com/germany/sql/ zur Verfügung.
Inhalt
Übersicht ...................................................................................................................................... 3
Datendienstmodul und eingebettetes Datenbankmodul .............................................. 3
Die Wahl der richtigen Datenbank..................................................................................... 4
XML.................................................................................................................................................................4
Access (Jet) und FoxPro (dbf) .........................................................................................................4
Microsoft Data Engine (MSDE) ........................................................................................................5
Microsoft SQL Server Express Edition und SQL Server Compact Edition ................5
Vergleich lokaler Datenfunktionen .................................................................................... 8
Bereitstellung und Wartung ............................................................................................... 10
ClickOnce-Support ...............................................................................................................................10
Zentrale Wartung über Microsoft Update................................................................................10
Bereitstellung der SQL Server Express Edition ....................................................................11
Bereitstellen der SQL Server Compact Edition.....................................................................11
Programmierbarkeit und Datenzugriffsmodell ............................................................ 11
Datendienstmodulmodell .................................................................................................................12
Eingebettetes Datenbankmodulmodell.....................................................................................12
Gespeicherte Verfahren und Ansichten ....................................................................................12
Delegierung und Mikroverwaltung ..............................................................................................13
Spezifische Funktionen lokaler Datenbanken .......................................................................14
Sichern Ihrer lokalen Daten ............................................................................................... 14
Physische Sicherheit ...........................................................................................................................15
Sicherheitsdesignleitlinie der SQL Server Compact Edition ..........................................15
Sicherheitsdesignleitlinie der SQL Server Express Edition.............................................15
SQL Server Express Edition-Benutzerinstanzen – eine kleine Einführung............16
Andere Sicherheitsbedrohungen ..................................................................................................17
Phishing und Medienangriffe ...................................................................................... 17
SQL Server Compact Edition-Datendateien sind dokumentensicher ......... 18
Sichern von Daten von einem gestohlenen Laptop ...........................................................18
Die Nutzung der Sicherheitsfunktionen von Windows .....................................................19
Windows Encrypted File System (EFS) ....................................................................................20
Leistungsmessung ...............................................................................................................................21
Schlussbemerkung................................................................................................................. 22
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
2
Übersicht
Selbst in diesem neuen Zeitalter, in dem Internetkonnektivität, Onlinedienste und drahtlose
Technologien überall vorhanden sind, erkennen Architekten, Entwickler und Endbenutzer,
dass es riskant, frustrierend und teuer sein kann, ihre Geschäftsvorgänge und
Benutzerproduktivität von einer ständigen Verbindung mit einem zentralen Speicherort
abhängig zu machen. Wenn die Verbindung aus irgendeinem Grund unterbrochen wird,
können Sie es sich dann leisten, Ihre Geschäftsvorgänge ruhen zu lassen? Durch Flexibilität,
Redundanz und die Fähigkeit, unabhängig innerhalb Ihrer Anwendungsarchitektur zu arbeiten,
können Sie Ihre Benutzer und den Nettoprofit Ihres Unternehmens vor unvermeidbaren
Problemen schützen. Bei einem lokalen Datenspeicher zum Zwischenspeichern von
Onlinedaten, Aktivieren der Offlinefunktionalität oder Aktivieren einer eigenständigen
Anwendung, die nur dem betreffenden Benutzer Daten zur Verfügung stellen muss, stellt
sich die Frage, was als lokaler Speicher verwendet werden sollte.
Die SQL Server-Familie bietet zwei für die lokale Speicherung geeignete Produkte an:
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition. Mit der
Veröffentlichung der Compact Edition für Desktopszenarios positioniert Microsoft diese
Edition als lokale Standarddatenbank. Doch beide Editionen können kostenlos
heruntergeladen und bereitgestellt werden. Die Entscheidung zwischen der SQL Server
Express Edition und der SQL Server Compact Edition von SQL Server 2005 kann schwierig
sein, weil beide Editionen auf dieselben Szenarios ausgerichtet zu sein scheinen In diesem
Artikel für Entwickler werden die Vorteile der einzelnen Editionen aufgezeigt, und es wird
erläutert, wann welche Edition zur lokalen Datenspeicherung verwendet werden sollte.
Beim Lesen dieses Artikels gilt es zu bedenken, dass Sie das richtige Tool für die jeweilige
Aufgabe auswählen müssen. Es gibt keine Einheitsgröße. SQL Server 2005 steht in
mehreren Editionen zur Verfügung, weil jede für einen bestimmten Zweck entwickelt wurde.
Wie Sie in diesem Artikel erfahren werden, sollte Ihnen die Wahl nicht schwer fallen, welche
Datenbank für Ihren zentralen Datendienst verwendet werden sollte oder welche lokale
Datenbank für Ihr Windows Mobile-basiertes Gerät geeignet ist. In diesem Artikel finden Sie
die entsprechenden Informationen.
Wenn Sie einen lokalen Datenspeicher für einen Tablet PC, Laptop oder Desktop in einem
Remotebüro suchen oder einfach nur Ihre verbundene Call Center-Anwendung durch einige
lokale Zwischenspeicherfunktionen ergänzen möchten, werden Sie einige interessanten
Features und Aspekte entdecken, die möglicherweise nicht offensichtlich sind, wenn Sie sich
zum ersten Mal mit den Funktionen der SQL Server Express Edition und dem nicht mehr
ganz so neuen Modul SQL Server 2005 Compact Edition befassen.
Datendienstmodul und eingebettetes Datenbankmodul
Microsoft liefert zwei verschiedene Arten von SQL Server-Datenbankenmodulen. Ein
Datendienst-Datenbankmodul ist in der Regel so ausgelegt, dass es als Dienst in einer
Client-/Serverumgebung ausgeführt wird und diesen Dienst gleichzeitig für mehrere Clients
bereitstellt. Ein eingebettetes Datenbankmodul wird in der Regel prozessintern mit der
Anwendung ausgeführt, wird möglicherweise als eine Komponente der Anwendung geliefert
und stellt den Dienst jeweils nur für einen Client bereit1.
1
Die Bereitstellung des Diensts für einen Client ist nicht mit der Unterstützung einer einzelnen Verbindung
gleichzusetzen, sondern bedeutet vielmehr, dass ein einzelner Computer eine Verbindung herstellt.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
3
Datendienst-Datenbankmodulfamilie:

SQL Server Express Edition – der Einstieg in die Datendienstplattform.
Express Edition wird auf einem Server und Desktopversionen der Windows-Plattform
ausgeführt. Express Edition verfügt über die typische Funktionalität eines
Datendienstmoduls und wurde erweitert, um den Einsatz als lokaler Datenspeicher
zu unterstützen.

SQL Server Workgroup Edition – ein Datendienstmodul, das auf kleine Büros
und Filialen ausgerichtet ist. Workgroup bietet zusätzliche Funktionalität (z. B.
zusammengeführte Replikationsveröffentlichung und unbegrenzte Datenbankgröße)
und kann Computer mit doppelter CPU mit einem Speicher von bis zu 3 GB verwenden.

SQL Server Standard Edition – ein Datendienstmodul, das auf kleine und
mittelgroße Unternehmen ausgerichtet ist und über Zugriffspunktfunktionen
für Businessintelligenz verfügt.

SQL Server Enterprise Edition – ein Datendienstmodul, das mit erweiterten Tools,
Analytik, Data Warehouse-Funktionen, Fehlertoleranz- und anderen Funktionen auf
Unternehmensebene auf große Unternehmen ausgerichtet ist.
Eingebettete Datenbankmodulfamilie:

SQL Server Compact Edition – ein einfaches, prozessinternes Datenbankmodul,
das auf Geräten und Desktops ausgeführt wird und auf die lokale Datenspeicherung
ausgerichtet ist. Die Compact Edition umfasst einen Teil der SQL Server 2005Datentypen und nutzt allgemeine Elemente der T-SQL-Sprache (Transact-SQL)
zusammen mit den Datendienstmodulen.
Die Wahl der richtigen Datenbank
Beim Entwickeln einer Anwendung, die Daten speichert und anzeigt, muss eine Reihe
wichtiger Faktoren beachtet werden, angefangen beim zentralisierten Speicher über die
Leistung auf dem Client bis hin zum Ermöglichen der Benutzerproduktivität, wenn das
Netzwerk nicht verfügbar ist. Entwickler haben verschiedene Technologien eingesetzt, um
die spezifischen Anforderungen ihrer Anwendungen zu erfüllen. Jede Technologie hat jedoch
gewisse Einschränkungen.
XML
XML und andere textbasierte Technologien funktionieren gut als beständiges und
Serialisierungsformat. Ihnen fehlt jedoch die umfassende Abfrage-, Datenbearbeitungsund Transaktionsfunktionalität von Datenbankmodulen.
Access (Jet) und FoxPro (dbf)
Viele Anwendungen bieten integrierte Speichermodule, welche die spezifischen
Anforderungen ihrer Benutzer erfüllen sollen. Access und FoxPro sind als Teil von
Microsoft Office Beispiele für Produkte mit integrierten Datenbankmodulen, die innerhalb
ihres Kontexts gut funktionieren, aber nie ganz in die Visual Studio-Entwicklungsumgebung
integriert wurden, da sie nicht als Allzweck-Datenspeicherungsmodule betrachtet wurden.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
4
Microsoft Data Engine (MSDE)
Als erster Versuch, sowohl die lokale Datenspeicherung als auch kleine Datendienstanforderungen
zu erfüllen, bot MSDE einen umfassenden Satz an SQL Server-Funktionen in einem kleineren
Paket an. Für Entwickler stellten die Bereitstellungsanforderungen eines Datendienstmoduls
jedoch weiterhin eine Herausforderung dar.
Mit zunehmend spezifischeren Anforderungen an die lokale Datenspeicherung wurde klar,
dass der Einheitsansatz mit zu vielen Kompromissen für Entwickler und Benutzer behaftet
war. Manchmal wird es erst nach einer Weile offensichtlich, dass das ursprünglich
Geforderte nicht unbedingt zum gewünschten Ergebnis führt. Der überarbeitete Ansatz
unterteilt die Produktfamilie in Datendienste und eingebettete Datenbanken, sodass
Entwickler die entsprechende Produktfamilie für ihre Anwendungsanforderungen auswählen
und die Kompatibilität innerhalb der Produktfamilie bewahren können.
Microsoft SQL Server Express Edition und SQL Server Compact Edition
SQL Server Express Edition ist die Weiterentwicklung von MSDE und löst viele allgemeine
Probleme von MSDE im Hinblick auf die einfache Paketerstellung und Bereitstellung. Für die
Installation der Express Edition sind Administratorrechte erforderlich. Sie ist weitaus kleiner
als MSDE, aber mit ungefähr 53 MB für die meisten Clientbereitstellungsszenarios noch
recht groß. Die Express Edition wurde zudem erweitert, um die lokale Datenspeicherung zu
unterstützen, wenn die vollständige Funktionalität eines Datendienstmoduls erforderlich ist.
SQL Server Compact Edition ist kein neues Produkt, sondern eine Weiterentwicklung der
SQL Server-Produktfamilie, die seit mehreren Jahren mit der Microsoft Mobile-Plattform
geliefert wird. SQL Server CE 1.0 wurde im Jahr 2000 erstmals veröffentlicht und mit
Embedded VB (eVB) und VC (eVC) geliefert. SQL Server CE 2.0 wurde als lokaler Speicher
für das kompakte Framework mit Visual Studio 2003 geliefert. Als Reaktion auf die Bitten
von Kunden, die einen gemeinsamen lokalen Speicher für Geräte bis hin zum Tablet PC
wünschten, wurde SQL Server CE in SQL Server Mobile 3.0 umgewandelt und mit Visual
Studio 2005 geliefert. Im November 2006 wurde SQL Server Mobile in SQL Server Compact
Edition umgewandelt, wodurch das SQL Server CE-Modul für die gesamte Desktopplattform
aktiviert und die Beschränkung für Geräte und den Tablet PC aufgehoben wurde.
SQL Server Compact Edition erfüllt die Anforderungen von Anwendungen, bei denen
ein einfaches Datenmodul direkt in die Anwendung eingebettet werden muss.
Mit vielen Microsoft-Produkten wurde MSDE geliefert. Bei einer ganzen Reihe anderer
Microsoft-Produkte war jedoch insgeheim das SQL Server Compact Edition-Modul im
Lieferumfang enthalten, beispielsweise bei Media Center PC, MSN Client und mehreren
Anwendungen von Windows Vista. Die Produktteams erkannten den Bedarf an einem
Kernsatz an Datenbankfunktionen und beschlossen, das SQL Server Compact Edition-Modul
als lokalen Datenspeicher an Millionen Benutzer zu liefern. Das SQL Server Compact EditionModul war für den Benutzer nicht sichtbar, da es als Teil der Anwendung betrachtet wurde.
Das ist das wichtigste Unterscheidungsmerkmal.
Die in diesem Artikel erörterten Datenspeicherfunktionen gehen über die traditionellen, auf
den Server konzentrierten Benchmarks des Transaction Processing Council (TCP) und der
Mehrbenutzersicherheit hinaus. In Bezug auf eine lokale Datenbank gibt es in der jeweiligen
Umgebung unterschiedliche Herausforderungen. Server werden nicht angehalten,
wiederhergestellt oder in den Ruhezustand versetzt. Auf unseren Servern werden keine
Filme angesehen und keine Spiele gespielt. Es wird keine Kopie von Outlook ausgeführt und
keine PowerPoint-Präsentation vorgestellt. Wir denken nicht über den Stromverbrauch und
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
5
darüber nach, ob der Server einen Tag lang mit Batterien laufen würde, die jede Nacht
neu aufgeladen werden. Und wir erachten den Installations- und Datenträgerbedarf eines
Servers nicht als kritisch, da im Vergleich zu jedem Client weitaus weniger Server installiert
und konfiguriert werden.
In Abbildung 1 werden zwei Szenarios mit einer Lösung dargestellt. Wenn Sie
Datendienstfunktionalität benötigen (z. B. die Fähigkeit, mehrere Remotebenutzer zu
unterstützen), sollten Sie mit der SQL Server Express Edition beginnen und sich in der
Struktur der Datendienstproduktfamilie hocharbeiten. Wenn Sie einen Datenspeicher für
den Pocket PC, die Smartphone-Plattform oder denselben Datenspeicher angefangen beim
Smartphone bis zum Desktop brauchen, ist SQL Server Compact Edition die richtige Wahl.
In diesem Artikel liegt der Schwerpunkt auf den für einen lokalen Datenspeicher wichtigen
Kernfunktionen, und die SQL Server Express und SQL Server Compact Edition werden
anhand dieser Funktionen unterschieden.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
6
Lokal
Datenspeicher
Windows Mobile
PocketPC
SmartPhone
Compact Edtiion
Schwerpunkt
dieses
Whitepaper
{
Die richtige Wahl
in der Kategorie
Eingebettete
Datenbank
{
{
Compact Edtiion
Desktop
XP, TabletPC, Vista,
Windows 2000
DATENSPEICHER
Datendienst
SZENARIOS
BEGINNEN
SIE HIER
Die richtige Wahl
in der Kategorie
Datenbankserver
Abbildung 1: Entscheidungsstruktur für SQL Server Compact Edition und SQL Server
Express Edition.
Datendienste
Ein Datendienst ist ein Datenbankmodul, das Datenbankfunktionalität für Clients von
Remoteverbindungen aus bereitstellt. Wenn Ihre Anwendung zentrale Datendienste für
Remoteclients bereitstellt, finden Sie in Abbildung 1 die verfügbaren SQL Server-
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
7
Datendienstprodukte: SQL Server 2005 Express, Workgroup, Standard oder Enterprise
Edition. Die Palette reicht vom kleinen und kostenlosen Datendienst bis zu den
umfassenden, fehlertoleranten Datendiensten der SQL Server Enterprise Edition.
Lokale Datenspeicher
Ein lokaler Datenspeicher bietet die bei einem relationalen Datenbankmodul erforderliche
Kernfunktionalität einschließlich umfassender Abfragefunktionalität, Transaktionen, Persistenz
und der auf einer Datendienstplattform häufig verwendeten Datentypen. Auf die Datenbank
wird von einem Client aus zugegriffen, obwohl sie nicht auf eine einzelne Verbindung begrenzt
ist. Beispiele sind das Zwischenspeichern von Produktkatalogen, Zuständen und Statuscodes
bis hin zu umfassenden persönlichen Kontoführungsanwendungen. Die Anwendung kann mit
einem zentralen Datendienst kommunizieren, benötigt jedoch einen lokalen Speicher zur
Verbesserung der Leistung. Oder die Anwendung muss auch dann funktionsfähig sein, wenn
keine Konnektivität verfügbar ist. Microsoft Outlook 2003 demonstriert, dass die Grenzen
zwischen einem lokalen und zentralen Speicher verwischt sind. Bei der Interaktion mit
Outlook sind die meisten Vorgänge an den lokalen Datenspeicher gerichtet. Wenn eine
Verbindung zum Exchange Server verfügbar ist, wird der lokale Speicher mit dem zentralen
Datendienst synchronisiert. Möglicherweise bemerkt der Benutzer nicht einmal, wenn die
Verbindung getrennt wird.
Mobile Geräte
In diesem Artikel bezieht sich der Begriff mobiles Gerät auf beliebige Hardware, die auf der
Windows Mobile- oder Windows CE-Plattform ausgeführt wird. In Abbildung 1 wird verdeutlicht,
dass SQL Server 2005 Compact Edition die richtige Wahl für eine Anwendung darstellt, für die
ein lokaler Datenspeicher erforderlich ist und die auf ein mobiles Gerät abzielt.
Desktopdatenbanken
Der Begriff Desktopdatenbank bezieht sich in diesem Artikel auf eine nichtmobile
Windows Plattform einschließlich Windows XP, Windows Tablet PC, Windows 2000,
Windows Vista und Windows 2003 Server. Wenn für Ihre Anwendung ein lokaler Datenspeicher
erforderlich ist, der auf die Desktopplattform abzielt, können Sie die SQL Server 2005 Compact
Edition (die zur eingebetteten Datenbankfamilie gehört) oder die SQL Server 2005 Express
Edition wählen (diese gehört zur Datendienstproduktfamilie). Microsoft empfiehlt die SQL Server
Compact Edition als lokale Standarddatenbank. Wenn für Ihre Anwendung jedoch einige
Datendienstfunktionen erforderlich sind, könnte die Verwendung der SQL Server Express Edition
notwendig sein.
Im übrigen Teil dieses Artikels geht es um die Entscheidung, ob die SQL Server 2005
Compact Edition oder die SQL Server 2005 Express Edition die richtige Wahl für Ihren
lokalen Datenspeicher für Desktopanwendungen darstellt.
Vergleich lokaler Datenfunktionen
Die Liste mit Funktionen in Tabelle 1 zeigt, dass bei den Funktionen der SQL Server Compact
und Express Edition deren Hauptszenarios im Mittelpunkt stehen: lokaler Speicher
beziehungsweise Datendienste. Diese Liste mit Funktionen ist (insbesondere im Hinblick auf die
Funktionen der SQL Server Express Edition) nicht vollständig. Bei den aufgeführten Funktionen
handelt es sich um jene, die ausschließlich zum Vergleich der lokalen Datenspeicher erforderlich
sind. So kann beispielsweise SQL Server Express Edition bis zu 1 GB Arbeitsspeicher zur
Optimierung der Abfrageverarbeitung nutzen. Das ist wichtig für einen Datendienst, der
möglicherweise komplexe Abfragen von vielen Clients gleichzeitig verarbeiten muss. Bei einer
lokalen Datenbank besteht jedoch eine praktische Beschränkung bei der Datenmenge, die ein
Benutzer innerhalb eines bestimmten Zeitraums physisch eingeben oder mit einem
Barcodelesegerät einscannen kann.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
8
Funktion
SQL Server
Compact Edition
Bereitstellungs-/Installationsfeatures
Installationsgröße
1,7 MB Downloadgröße
1,8 MB bei Erweiterung auf
dem Datenträger
ClickOnce-Bereitstellung
Mit der Anwendung privat installiert
und eingebettet
Installationsoption ohne
Administratorrechte
Wird auf der Windows
Mobile-Plattform ausgeführt
Wird zentral mit einem MSI installiert
Wird prozessintern ausgeführt
64-Bit-Support
Wird als Dienst ausgeführt
Datendateifunktionen
Dateiformat
Datendateispeicher auf einer
Netzwerkfreigabe
Unterstützung verschiedener
Dateierweiterungen
Unterstützung der Datenbankgröße
XML-Speicher
SQL Server
Express Edition
53,8 MB Downloadgröße
Ca. 197 MB bei Erweiterung
auf dem Datenträger
Version 3.1
Windows on Windows
(WOW)
Systemeigene 64-BitAnwendung in der nächsten Version
Wird prozessintern mit der
Anwendung ausgeführt
N+1
Einzelne Datei
Mehrere Dateien
4 GB
4 GB
Gespeichert als nText
Codefrei, dokumentensicher,
Dateiformat
Programmierbarkeit
Transact-SQL
Häufige Abfragefunktionen
Verfahrensorientierte T SQL
„Select Case“, If, Funktionen
Remotedatenzugriff (Remote Data
Access, RDA)
ADO.NET Sync Framework
Mit Visual Studio Orcas
aktiviert
Geplanter Support für
zukünftige Version
Abonnent für
Zusammenführungsreplikation
Einfache Transaktionen
Verteilte Transaktionen
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
9
Funktion
SQL Server
Compact Edition
Bereitstellungs-/Installationsfeatures
Systemeigene XML, XQuery/QPath
Gespeicherte Verfahren, Ansichten,
Trigger
Rollenbasierte Sicherheit
Anzahl gleichzeitiger Verbindungen
256
SQL Server
Express Edition
Unbegrenzt
Tabelle 1: Funktionsvergleich zwischen der Compact Edition und der Express Edition.
Der Vergleich der Funktionen beider Datenbankmodule offenbart nicht alles. Es müssen eine
Reihe philosophischer und praktischer Fragen beantwortet werden, bevor man für die lokale
Datenspeicherung die richtige Wahl treffen kann. Einige wichtige Faktoren, die es bei der
Wahl Ihres lokalen Datenspeichers zu bedenken gilt, werden in den folgenden Abschnitten
erörtert.
Bereitstellung und Wartung
Wie die Entwicklung webbasierter Anwendungen gezeigt hat, ist die Bereitstellung einer der
kompliziertesten Aspekte für Clientanwendungen. Unabhängig davon, ob Ihre Anwendung
über das Internet bereitgestellt oder von einer CD installiert wird, haben die Installation und
Komplexität des Installationsvorgangs direkte Auswirkungen auf die Meinung des Benutzers
in Bezug auf das Produkt und die Direktkosten im Zusammenhang mit Supportanrufen.
Die Möglichkeit, eine Anwendung und ihre Abhängigkeiten leicht zu deinstallieren, kann
sich ebenfalls entscheidend auf die Supportkosten und die Benutzermeinung auswirken.
ClickOnce-Support
Sowohl die SQL Server Express als auch die SQL Server Compact Edition können in das
Setup Ihrer Anwendung integriert werden. ClickOnce kann beim Bereitstellen beider Module
als Voraussetzung für Ihre Anwendung helfen. Die SQL Server Express Edition, die als
Windows-Dienst ausgeführt wird, muss mit einem MSI installiert werden. Die SQL Server
Compact Edition verfügt über ein MSI-Bereitstellungsmodell zur zentralen Installation des
Moduls, wofür ebenfalls Administratorrechte erforderlich sind. Die SQL Server Compact
Edition kann jedoch als Satz von DLLs, die mit der Hostanwendung prozessintern ausgeführt
werden, auch privat mit der Anwendung bereitgestellt werden. Für die private Bereitstellung
sind keine Administratorrechte erforderlich.
Zentrale Wartung über Microsoft Update
Sowohl die SQL Server Express als auch die SQL Server Compact Edition können über
Microsoft Update gewartet werden, wenn sie mit dem MSI installiert wurden. Bei der privaten
Bereitstellung der SQL Server Compact Edition werden die DLLs nicht mit dem Applet
„Software“ registriert und von Microsoft Upgrade nicht gewartet. Einige Anbieter
von Anwendungen betrachten dies als Vorteil. Obwohl Service Packs und Hotfixes strenge
Abwärtskompatibilitätstests durchlaufen, können sich die dabei angesprochenen Probleme
dennoch auf den Betrieb einer Anwendung auswirken. Durch die private Bereitstellung der
SQL Server Compact Edition mit der Anwendung können die Anwendungsbesitzer die
Servicefreigabe testen und die aktualisierten Komponenten der SQL Server Compact Edition
dann mit einer aktualisierten und getesteten Version ihrer Anwendung bereitstellen. Bei einer
privaten Bereitstellung der SQL Server Compact Edition mit jeder Anwendung sind mehrere
Kopien des Moduls vorhanden. Da die gesamte Laufzeit nur ein paar digitale Bilder beträgt, ist
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
10
die Größe im Vergleich zum Vorteil der Wartung auf Anwendungsebene und der Möglichkeit,
die Anwendung und ihre Komponenten ohne Administratorrechte zu installieren, in der Regel
ein eher unbedeutender Aspekt.
Bereitstellung der SQL Server Express Edition
Als serverbasiertes Produkt mit einem umfassenden Satz an Datendienstfunktionen
beinhaltet die SQL Server Express Edition eine Reihe von Komponenten, die Sie während
der Installation möglicherweise konfigurieren möchten. Die SQL Server Express Edition
wurde standardmäßig sicher ausgelegt, und die Standardinstallation ist für das lokale
Datenspeicherungsszenario optimiert. Das Installationsprogramm für die SQL Server
Express Edition beinhaltet eine umfassende Befehlszeilenschnittstelle, die es Entwicklern
ermöglicht, SQL Server Express zu installieren und zu konfigurieren, wenn die
Standardinstallation nicht ihren Anforderungen entspricht.
Bereitstellen der SQL Server Compact Edition
Die SQL Server Compact Edition am anderen Ende des Spektrums wurde von ihrer
Einführung an so ausgelegt, dass sie klein und leicht bereitzustellen ist. Mobile Geräte, wie
z. B. der Pocket PC und das Smartphone, haben keine komplexen Installationsumgebungen
und auch nicht viele Ressourcen. Die SQL Server Compact Edition, die prozessintern mit der
Hostanwendung ausgeführt wird, hat keine Dienste oder anderen Optionen, die während der
Installation konfiguriert werden müssen. Die SQL Server Compact Edition stellt ihre
Konfigurationsoptionen innerhalb der Verbindungszeichenfolge bereit, sodass jede Instanz
Parameter angeben kann, die für das Verwendungsszenario der betreffenden Anwendung
spezifisch sind. Diese DLLs können mit einem MSI zentral auf dem Computer des Benutzers
installiert werden. Zur Verwendung des MSI sind jedoch Administratorrechte erforderlich,
um den verwalteten ADO.NET-Anbieter innerhalb des globalen Assemblycaches (GAC) zu
registrieren. Dieselben DLLs können auch privat innerhalb der Hostanwendung bereitgestellt
werden. Clientanwendungen, wie beispielsweise die mit ClickOnce bereitgestellten, werden
in der Regel in den Dokumenten- und Einstellungsordnern des Benutzers installiert, sodass
für den Installationsvorgang keine Administratorrechte erforderlich sind.
Ein weiterer Vorteil der privaten Bereitstellung ist die Nachverfolgung von Abhängigkeiten.
Falls ein Benutzer beschließt, Ihre Anwendung zu deinstallieren, sind keine zusätzlichen
Schritte für die vollständige Deinstallation der Anwendung und des Datenspeichers
erforderlich. Bei Verwendung des zentralen MSI-Bereitstellungsmodells ist es erforderlich,
dass Ihre Anwendung eine Referenzzählung der Nutzung des Datenbankmoduls durchführt,
oder der Benutzer weiß, dass die Umgebung durch Deinstallation des Produkts nicht in ihren
ursprünglichen Zustand zurückversetzt wird.
Programmierbarkeit und Datenzugriffsmodell
Programmierbarkeitsfunktionen und Prioritäten für eine lokale Datenbank können sich stark
von den in einem Datendienst verfügbaren unterscheiden. Die SQL Server Express Edition
bietet eine Reihe von Funktionen, die in der SQL Server Compact Edition nicht vorhanden
sind. Die SQL Server Compact Edition hingegen verfügt über ein einige Funktionen, die in
der SQL Server Express Edition nicht vorhanden und für ein lokales Programmiermodell
einzigartig sind.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
11
Datendienstmodulmodell
Klassische Datendienst-Datenbankmodule wie z. B. SQL Server 2005 sind so ausgelegt,
dass sie mehreren Benutzern und sogar mehreren Anwendungen gleichzeitig dienen. Daher
werden Datendienstmodule in der Regel optimiert, um Leistung, Abstraktion und komplexe
Rollenverwaltung bereitzustellen.
Eingebettetes Datenbankmodulmodell
Das eingebettete Datenbankmodul wurde für den einzelnen Benutzer und Daten entworfen,
die nicht direkt für andere Benutzer freigegeben werden. Die Leistung wird über alle
Anwendungen hinweg gemessen, die vom Benutzer ausgeführt werden könnten, und
die Daten werden in der Regel für jeden Benutzer partitioniert.
Gespeicherte Verfahren und Ansichten
Wenn Sie dasselbe Programmiermodell als Datendienst benötigen, könnte allein diese
Tatsache dazu führen, dass Sie sich für die Verwendung der SQL Server Express Edition
entscheiden. Sie bietet denselben Support für T-SQL und Verfahrenskonstrukte für
gespeicherte Verfahren wie für andere Datendiensteditionen. Die SQL Server Compact Edition
unterstützt keine gespeicherten Verfahren, Ansichten oder Trigger. Daher betrachten einige
Entwickler die SQL Server Compact Edition möglicherweise nicht als „echten“ Datenspeicher.
Man sollte jedoch einige Dinge bedenken, bevor man zu dieser Schlussfolgerung gelangt.
Wenn man übliche Praktiken in Betracht zieht, verfügen viele Unternehmen über Standards bei
der Verwendung gespeicherter Verfahren zum Zugriff auf Daten innerhalb der Datenbank, und
sie erwarten Support für gespeicherte Verfahren für ein gemeinsames Programmiermodell, das
für ihre lokale Datenbank und ihren Datendienst vorhanden ist. Manchmal sollte jedoch überlegt
werden, warum diese Standards erstellt wurden und ob sie weiterhin Gültigkeit haben.
Gespeicherte Verfahren können einfach oder komplex sein. Für Entwickler und DBAs gibt es
jedoch normalerweise drei Hauptgründe für die Standardisierung von gespeicherten Verfahren:
Leistung, Abstraktion und Sicherheit. Bedenken Sie, dass viele Dienstdatenbanken u. U. von
mehreren Anwendungen gleichzeitig verwendet werden. Wenn die Datenbank stärker genutzt
wird, werden Spalten und Tabellen den ständig wachsenden Datenanforderungen hinzugefügt.
Die Belastung der Datenbank kann an bestimmtem „Hotspots“ zunehmen, sodass der DBA
die Datenbank mit Schemaänderungen optimieren muss. Da ein Datendienst die individuellen
Anwendungen nicht immer „besitzt“ oder nicht einmal weiß, welche Anwendungen seine Daten
verwenden, müssen interne Änderungen am Schema von interagierenden Anwendungen
abstrahiert werden. Daher entfernen viele DBAs die Interaktion auf Tabellenebene und
aktivieren nur den Zugriff über gespeicherte Verfahren und Ansichten.
Entsprechend greifen viele verschiedene Benutzer und Benutzertypen gleichzeitig auf den
Datendienst zu. Die Benutzer können verschiedene Rollen haben und sollten daher über
verschiedene Zugriffsberechtigungen für die Daten verfügen. Gespeicherte Verfahren und
Ansichten bieten eine Sicherheitsschranke, um die Rolle eines Benutzers auf bestimmte
Datenvorgänge zu begrenzen. Die jeweilige Rolle erhält einen Satz an Berechtigungen für
verschiedene gespeicherte Verfahren und Ansichten.
Leistungsprobleme werden oft mit gespeicherten Verfahren zur Zwischenspeicherung
von Abfrageplänen und der Optimierung von Abfragen innerhalb gespeicherter Verfahren
verwaltet, damit keine Änderungen an der Anwendung vorgenommen werden müssen.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
12
Wenn man bedenkt, dass eine eingebettete Datenbank per Definition Teil der Anwendung
ist, gelten nicht unbedingt dieselben Regeln. Die Datenbank wird mit der Anwendung
versioniert, sodass keine Abstraktionsprobleme vorhanden sind und die Vorteile der
Erstellung und Verwaltung gespeicherter Verfahren nicht umgesetzt werden. Da die lokalen
Daten bereits entsprechend den Daten partitioniert sein sollten, die für die jeweilige
Benutzerrolle zulässig sind, gibt es auch nicht unbedingt Sicherheitsprobleme. Die Leistung
zwischengespeicherter Abfragepläne wird umgesetzt, wenn viele gleichzeitige Vorgänge
durch eine große Anzahl von Benutzern verursacht werden. Der Aufwand bei der Verwaltung
von Abfrageplänen ist kein Problem in einer Serverumgebung, da Server in den meisten
Fällen über größere dedizierte Speichermengen verfügen. Wenn sich Abfragepläne ändern,
kann ein DBA diese Abfragepläne auf dem Server optimieren.
Eine weitere Problemkategorie, die von gespeicherten Verfahren abgedeckt wird, bezieht sich
auf Verfahrensvorgänge. Diese können von der Verwaltung einer zuletzt bearbeiteten Spalte
über die Verwaltung einer Sternschematabelle bis zur Implementierung von Geschäftsregeln
reichen. Diese Vorgänge können durchaus noch innerhalb einer lokalen Datenbank vorhanden
sein. Wenn Sie jedoch die Wahl haben, möchten Sie Ihre Möglichkeiten wahrscheinlich nicht
darauf beschränken, Code nur in T-SQL zu schreiben, selbst wenn die T-SQL-Sprache
umfassend unterstützt wird. Stattdessen möchten Sie möglicherweise die ganze Palette Ihrer
bevorzugten, von .NET verwalteten Codesprachen nutzen. Zusätzliche Neuerungen wie z. B.
LINQ und das ADO.NET-Einheitsdatenmodell bieten Ihnen einen noch umfassenderen Satz an
Funktionen.
Delegierung und Mikroverwaltung
Wenn DBAs gespeicherte Verfahren zur Beschränkung des Datenbankzugriffs verwenden,
beschränken sie auch die Arten von Fragen, die eine Anwendung oder ein Benutzer an die
Daten stellen kann. In einer Clientserverumgebung kann es vorteilhaft sein, die komplexen
Fragen zu beschränken, die eine Anwendung an die Datenbank stellen kann. In einer
freigegebenen Datenbank ist Komplexität mit hohen Kosten gleichzusetzen, da
möglicherweise alle Benutzer „bestraft“ werden, wenn mehrere Benutzer gleichzeitig
komplexe und kostenintensive Fragen stellen. In einer lokalen Datenbank betreffen komplexe
Fragen nur den aktuellen Benutzer. Bei komplexen Fragen kann es sich auch um sehr wichtige
oder sinnvolle Fragen handeln, die gestellt werden müssen. Sie können aber durchaus den
richtigen Indexsatz erstellen, Ihre Datenbank auf Leistung auslegen und Abfragen hinsichtlich
Leistung schreiben. Wenn für eine Anwendung eine lokale Datenbank vorhanden ist, heißt das
einfach, dass der Entwickler sehr viel mehr Flexibilität zum Durchführen komplexer Abfragen
hat, die in einer Datendienstumgebung höchst problematisch wären, aber für den Benutzer
sehr produktiv und lehrreich sind. In einer lokalen Datenbank ist Komplexität nicht mehr mit
hohen Kosten sondern mit hohem Wert gleichzusetzen.
Das heißt, gespeicherte Verfahren können also durchaus auch lokal verwendet werden.
Die auf dem Server erstellten gespeicherten Verfahren würden wahrscheinlich nicht die
Arten von Abfragen darstellen, die Sie auf dem Client schreiben würden. Betrachten Sie ein
ähnliches Szenario, das Sie direkt betrifft. Wie verfahren Sie bei der Vorratshaltung, um
bestimmte Mahlzeiten für Ihre Familie vorzubereiten? Sie würden die Nahrungsmittel in Ihrer
Küche mit einem gefilterten Satz an Rohstoffen im Lebensmittelgeschäft synchronisieren.
Obwohl im örtlichen Supermarkt einige Fertigmahlzeiten erhältlich sind, kann es nicht alle
gewünschten Zutaten und Gewürze für jeden einzelnen Kunden geben. Ähnlich beantwortet
der Server möglicherweise viele spezifische Fragen nicht. Der Server stellt möglicherweise
einen Satz an gespeicherten Verfahren und Diensten zur Verfügung, damit die lokale
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
13
Datenbank mit dem Server synchronisiert bleibt. Die gespeicherten Verfahren geben Deltas
der Daten zurück, die lokal mit den Daten auf dem Server verglichen wurden, welcher die
Clientanwendung aktiviert, und der Anwendungsentwickler kann eine breite Palette an Fragen
bereitstellen, ohne dass ein DBA unbedingt jede Frage optimieren muss.
Spezifische Funktionen lokaler Datenbanken
Beim Datenzugriff auf einen Datendienst müssen Entwickler an Skalierbarkeit und Parallelität
denken. Entwickler, die erwarten, dass ihre Anwendung für Hunderte und Tausende von
gleichzeitigen Benutzern skaliert werden kann, würden nie eine offene Verbindung zur
Datenbank verwalten oder einen aktualisierbaren Cursor verwenden, mit dem der Benutzer
Daten anzeigen und bearbeiten kann. Von FoxPro- und Access-Entwicklern wurde dies als
„Mittagspausensperre“ bezeichnet. Ein Benutzer öffnet beispielsweise ein Formular, nimmt ein
paar Änderungen vor und geht zum Mittagessen. Vielleicht fährt er sogar in den Urlaub.
Andere Benutzer, die eine Änderung an diesen Daten vornehmen müssen, werden blockiert.
Um diese Blockierung aufzuheben, wird derjenige, bei dem das Kundenformular geöffnet ist,
ausgerufen, um es wieder zu schließen.
Bei der Datendienstprogrammierung müssen ein Snapshot der Daten abgerufen, eine Kopie
an den Client zurückgegeben und serverseitige Ressourcen freigegeben werden. Dies wird oft
als zustandsfreie oder getrennte Programmierung bezeichnet. Der Client bearbeitet die Kopie
der Daten und gibt die Änderungen an den Server mit den ursprünglichen Werten zurück. Der
Code, durch den die Änderungen angewendet werden, benutzt die ursprünglichen Werte, um
festzustellen, ob ein anderer Benutzer die Daten geändert hat, während der Benutzer mit der
getrennten Kopie gearbeitet hat. Dies wird oft als Parallelitätsprogrammierung bezeichnet.
Funktionen bei ADO.NET, wie z. B. das DataSet- und DataAdapter-Modell, ermöglichen dies
durch das Bereitstellen von nicht verbundenen Programmierungsmodelldiensten innerhalb des
DataSet. Andere objektrelationale Zuordnungstechnologien (O/R) müssen für eine skalierbare
Lösung ähnliche Dienste bereitstellen.
Wenn Anwendungen mit einer lokalen Datenbank arbeiten, kann die Datenbank selbst die
getrennte Kopie sein. Statt eine weitere getrennte Kopie mit einer DataSet- oder einer
anderen O/R-Technologie zu erstellen, ist es oft einfacher, eine Verbindung zu öffnen und
das Ergebnis einer aktualisierten Abfrage durch Datenbindung zur Verfügung zu stellen.
Da die Datenbank innerhalb der Anwendung eingebettet ist, muss kein komplexes
zustandsfreies Programmiermodell verwaltet werden. Die SQL Server Compact Edition
unterstützt mit dem SqlCeResultSet nicht nur einen aktualisierbaren, scrollfähigen Cursor,
sondern auch ISAM-ähnlichen Dateizugriff, der Indizes der Tabelle nutzt, um direkt eine
bestimmten Zeile aufzurufen.
Da die Änderungen am lokalen Speicher auf den Server angewendet werden, wird das
zustandsfreie Modell ein Faktor. Hier kommen erneut gespeicherte Verfahren, die das lokale
Datenschema im Vergleich zu den Serverschemas abstrahieren, ins Spiel.
Durch Verwendung des richtigen Tools für die entsprechende Aufgabe können Sie aus
gespeicherten Verfahren auf dem Server weiterhin Vorteile ziehen und gleichzeitig Funktionen
wie SqlCeResultSet oder Innovationen wie LINQ und das ADO.NET V3-Einheitsmodell nutzen.
Sichern Ihrer lokalen Daten
Sicherheit spielt bei der Anwendungsentwicklung immer eine wichtige Rolle. Die SQL Server
Express und SQL Server Compact Edition sind sichere Plattformen, die helfen, Ihre
vertraulichen Daten zu schützen. Die Art und Weise, in der die jeweilige Edition Sicherheit
verwaltet, ist unterschiedlich, und die Unterschiede sollten in Betracht gezogen werden, wenn
Sie Ihr Modul für die Datenspeicherung auswählen. Dieser Abschnitt enthält einen Überblick
über die Leitlinien für das Sicherheitsdesign für das jeweilige Modul. Im Anschluss daran wird
erläutert, wie sich das jeweilige Design auf verschiedene Sicherheitsbedrohungen auswirkt,
mit denen Ihr lokaler Datenspeicher u. U. konfrontiert wird.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
14
Physische Sicherheit
Beide Datenbankmodule, die hier erörtert werden, speichern Daten in einer oder mehreren
Dateien. Der beste Datenschutz besteht darin, den physischen Zugriff auf die Datei zu
beschränken, sodass nur Benutzer, die Zugriff auf die Daten benötigen, die Datei abrufen
können. Physische Sicherheit umfasst die Verwendung der entsprechenden Windowsbasierten Sicherheit, um den Zugriff auf die Datei auf dem Datenträger zu steuern, sowie
die Sicherheit der Einrichtung und Geräte, innerhalb derer sich die Datendatei befindet. Man
hört viel zu oft, dass vertrauliche Daten verloren gehen, weil Kriminelle unangemessenen
Zugang zu physischen Dateien oder zu den Geräten haben, auf denen die Dateien
gespeichert sind. Daher darf die physische Dateisicherheit keinesfalls ignoriert werden.
Sicherheitsdesignleitlinie der SQL Server Compact Edition
Bei der SQL Server Compact Edition ging man von Anfang an davon aus, dass der Benutzer
Zugriff auf die physische Datei haben würde. Ohne zusätzlichen Sicherheitsmechanismus
könnte der Benutzer Ihre Anwendung umgehen und Tools wie z. B. MSQuery verwenden,
um Rohdaten anzuzeigen und zu bearbeiten. Die SQL Server Compact Edition unterstützt
die Möglichkeit, die Datendatei durch ein Kennwort zu schützen und zu verschlüsseln,
wodurch der Zugriff auf Ihre Anwendung, in der das Kennwort eingebettet ist, beschränkt
wird. Der Kennwortschutz der Datenbankdatei fügt eine Schutzschicht hinzu, die der Datei
erhalten bleibt, sodass der Zugriff auf Daten schwieriger wird, falls ein nicht autorisierter
Benutzer die Datei in die Hände bekommt.
Bei der dateibasierten Sicherheit werden keine zusätzlichen Ebenen von Datenzugriff
angeboten. Ein einzelnes Kennwort ermöglicht umfassenden Zugriff auf die Datei. Doch
lokale Datendateien partitionieren Daten in der Regel, bevor sie auf dem Computer des
lokalen Benutzers eintreffen. Selbst wenn mehrere Personen Zugang zu einem bestimmten
Laptop haben, hat jeder Benutzer seine eigene lokale Datendatei mit seiner Datenpartition.
Genau wie bei jeder anderen Datei dient die Windows-Sicherheit zur Beschränkung des
Zugriffs der einzelnen Benutzer auf Datendateien. Wenn dem Benutzer seine Datei zur
Verfügung steht, warum sollte die Anwendung dann alle Kundenkontakte statt nur die
spezifischen Kontakte des Benutzers speichern? Warum sollten Sie Gehaltsinformationen
lokal speichern, wenn der Benutzer nicht berechtigt ist, sie anzuzeigen oder zu bearbeiten?
Neben den Sicherheitsaspekten ist dies auch eine Möglichkeit zur Partitionierung der lokal
verwalteten Datenmenge. Bei diesem Modell ist das Konzept der rollenbasierten Sicherheit
bedeutungslos. Statt einen komplexen Satz an Rollen lokal zu implementieren und zu
verwalten, würden die meisten Anwendungen ein rollenbasiertes Sicherheitsmodell auf dem
Server verwalten und die Rollen verwenden, um die entsprechenden Daten im lokalen
Datenspeicher des jeweiligen Benutzers zu synchronisieren.
Sicherheitsdesignleitlinie der SQL Server Express Edition
Die SQL Server Express Edition wurde als Teil der Datendienstfamilie so ausgelegt, dass die
Sicherheit an der Dienstgrenze angewendet wird. Beim Sichern von Daten auf Servern ist
physische Sicherheit die wichtigste Verteidigungslinie. Es gibt eine physische Tür und oft viele
hochtechnische Sicherheitsvorrichtungen zwischen Ihrem Feind und dem Computerraum, in
dem Ihre Datenserver untergebracht sind. Wenn es Ihrem Feind gelingt, unversehrt in den
Computerraum zu gelangen, muss er sich mit gültigen Anmeldeinformationen bei dem
Computer anmelden. Wenn der Benutzer Administratorrechte hat und Zugriff auf den
Server erhält, ist der Schutz Ihrer Daten nicht mehr gewährleistet. Wenn der Benutzer so
weit gekommen ist, ist es wahrscheinlich einfacher, das physische Laufwerk oder den ganzen
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
15
Computer mitzunehmen. SQL Server Express Edition verlässt sich genau wie die übrigen
Datendienst-SKUs stark auf physische Sicherheit, um zu verhindern, dass nicht berechtigte
Personen auf die Datenbankdatei zugreifen. Es ist nicht einfach, in einen Computerraum
einzubrechen, doch beim Herstellen einer Remoteverbindung zu einem Datendienst handelt
es sich um eine Funktion. Das Herstellen einer Remoteverbindung ist eine Funktion, die bei
der SQL Server Express Edition standardmäßig ausgeschaltet ist.
Die Datendienstfamilie der SQL-Serverprodukte implementiert rollenbasierte Sicherheit und
bietet mehrere Sicherheitsoptionen, die sich darauf beziehen, wie Verbindungen zum Server
hergestellt werden. Die Datendiensteditionen können Verschlüsselung auf Tabellen-,
Spalten- und Zeilenebene implementieren. Die Verbindung zur Datenbank muss autorisiert
werden, bevor Daten zurückgegeben werden können. Der Manager für das Personalwesen
kann berechtigt sein, Gehaltsinformationen anzuzeigen und zu bearbeiten, aber er kann die
Produktpreise nicht ändern. Das hört sich doch ziemlich sicher an. Und das ist es auch! Die
SQL Server-Datendienstproduktfamilie verfügt über einige der besten Sicherheitsfunktionen
der Branche, indem Daten vor und während der Übermittlung gesichert werden.
Berechtigungen in einem rollenbasierten Sicherheitsmodell werden in den
Datendiensteditionen von besonderen Benutzern einschließlich Systemadministratoren,
Datenbankadministratoren und Datenbankbesitzern zugewiesen. Für diese Benutzer mit
hohen Sicherheitsberechtigungen bestehen keine oder nur wenige Einschränkungen beim
Zugriff auf eine Datenbank, was bestimmte Implikationen hat, wenn die SQL Server Express
Edition als lokaler Datenspeicher verwendet wird. Ein Systemadministrator beispielsweise
hat vollständigen Zugriff auf jede beliebige SQL Server Express Edition-Datenbankdatei, die
er besitzt. Wenn die für den lokalen Speicher verwendete Datenbankdatei nicht physisch
geschützt wird und von einem Kriminellen gestohlen werden kann, könnte der Betreffende
auf Ihre Daten zugreifen, indem er die Datenbank an seine Kopie der SQL Server Express
Edition anhängt, bei der er Systemadministrator ist.
SQL Server Express Edition-Benutzerinstanzen – eine kleine Einführung
Eine vollständige Beschreibung der Benutzerinstanzen geht über den Rahmen dieses Artikels
hinaus. Ausführliche Informationen sind jedoch auf der MSDN-Website erhältlich. Hier geht
es nur um die Sicherheitsimplikationen von Benutzerinstanzen und deren Auswirkungen auf
die Auswahl eines lokalen Datenspeichers.
Eine Herausforderung, der Entwickler bei MSDE gegenüberstanden, war die Schwierigkeit, eine
Datenbank an eine der MSDE-Instanzen anzuhängen. Für das Anhängen einer Datenbank an
MSDE sind für den Benutzer, der die Anwendung ausführt, Datenbankbesitzerrechte
erforderlich. Dies erschwerte es den Entwicklern sehr, MSDE-Datenbankdateien bereitzustellen.
Auch das Verwalten ihrer lokalen Datenbankdateien mit ihren Projekten war schwierig.
Wie an anderer Stelle bereits beschrieben, erhalten Benutzer durch die Bereitstellung von
Konten auf allen Computern, sodass sie Datenbankdateien anhängen können, praktisch
Highlevel-Zugriff auf alle Datenbanken, die an die SQL Server Express Edition angehängt
sind. Durch eine derartige Benutzerkonfiguration wird die Möglichkeit eingeschränkt,
Benutzer daran zu hindern, auf die Daten eines anderen Benutzers zuzugreifen, der mit
demselben Server verbunden ist. Die Daten der einzelnen Benutzer getrennt zu halten,
ist oft eine wesentliche Anforderung an die lokale Datenspeicherung.
Um diese Trennung von Benutzerdaten zu implementieren und die Probleme im
Zusammenhang mit dem Anhängen von Datenbankdateien zu lösen, wurde 2005 bei der
SQL Server Express Edition eine neue Funktion eingeführt: die so genannten Benutzerinstanzen. Bei Benutzerinstanzen wird eine besondere Verbindungszeichenfolge verwendet,
wenn eine Anwendung eine Verbindung zur SQL Server Express Edition herstellt. Wenn die
Hauptinstanz diese besondere Verbindungszeichenfolge sieht, überprüft und/oder erstellt sie
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
16
eine neue Instanz von SQL Server Express im Kontext des Benutzers und hängt die
Datenbank an den neuen Prozess an. Dieser zusätzliche Prozess wird als zusätzlicher
Windows-Dienst unter den Anmeldeinformationen des Benutzers ausgeführt. Dieser neue
Windows-Dienst ist von der Hauptinstanz der SQL Server Express Edition völlig unabhängig
und verfügt über eigene Kopien der Systemdatenbanken (Stamm, TempDB und Modell).
Diese „Benutzerinstanz“-Datenbanken sind in spezifischen Ordnern des Benutzers vorhanden.
Da die Benutzerinstanz im Kontext des Benutzers ausgeführt wird, gilt dieser Benutzer als
Datenbankbesitzer und kann alle notwendigen Aufgaben im Zusammenhang mit der Arbeit
mit der Express Edition durchführen. Zusätzliche Benutzer auf dem gleichen Computer haben
keinen Zugriff auf andere Benutzerinstanzen, sondern nur auf ihre eigenen.
Benutzerinstanzen ermöglichen die Trennung der Benutzer, indem für jeden Benutzer eine
einmalige Instanz der Express Edition bereitgestellt wird. Der Benutzer erhält jedoch auch
die Kontrolle über die Datenbanken, die an die Benutzerinstanz angehängt sind. Wenn die
Datenbank ausgeführt wird, kann der Besitzer der Benutzerinstanz jeden Teil der Datenbank
einschließlich Schema, Daten und Funktionskonfiguration ohne Rücksicht auf Berechtigungen,
Kennwörter oder Verschlüsselung, die bei den Datenbankobjekten angewendet werden,
anzeigen und bearbeiten. Auch hier ist der Schutz der Datenbankdatei durch physische
Sicherheit wichtig. Bei lokalen Datenszenarios, in denen Laptops regelmäßig gestohlen
werden, ist es wichtig, sich vor Augen zu führen, dass Express Edition-Benutzerinstanzen eine
weitere Möglichkeit für nicht autorisierte Benutzer sein könnten, Zugriff auf Ihre Datenbank zu
erlangen, wenn sie die Datei in die Hände bekommen.
Andere Sicherheitsbedrohungen
Nicht autorisierte Benutzer daran zu hindern, sich mit Ihrer Datenbank zu verbinden, gehört
primär zum Aufgabenbereich der meisten Datenbankentwickler. Es gibt jedoch noch andere
Bedrohungen, die zu unerlaubtem Zugriff auf Ihre Daten führen können. Beispiele für diese
anderen Bedrohungen sind Medienangriffe, bei denen die Datenbankdatei zum Ausführen
von unerlaubtem Code auf Ihrem Computer verwendet wird, und gestohlene Hardware,
das heißt, der physische Computer mit Ihrer Datendatei wird gestohlen.
Phishing und Medienangriffe
In der Regel denken wir daran, Datendateien vor Diebstahl zu sichern. Ein anderer Aspekt der
Sicherheit besteht darin, wie Ihr Feind Informationen von Ihnen erhalten kann. Natürlich
könnte man Ihre Datenbank stehlen, worauf Sie sich vorbereitet haben, doch was passiert,
wenn Code in eine Datenbank eingefügt wird, die Sie zufällig öffnen? Sicherlich haben Sie
schon einmal eine E-Mail erhalten, in der Sie aufgefordert wurden, eine angehängte Datei zu
öffnen. Medienangriffe werden verübt, indem unerlaubter Code in eine Datei eingefügt und
der Benutzer davon überzeugt wird, dass die Datei von einer vertrauenswürdigen Quelle
stammt. Beim Öffnen der Datei wird der unerlaubte Code ausgeführt und führt die ihm
zugedachte Aufgabe aus. Ein Beispiel für einen Medienangriff ist ein Word-Makrovirus.
Die SQL Server Express Edition unterstützt ein umfassendes Ereignismodell, das es
Entwicklern ermöglicht, Anwendungen zu erstellen, die auf bestimmte Ereignisse innerhalb
der Datenbank reagieren. So können Sie beispielsweise jedes Mal, wenn der Datenbank
bestimmte Datentypen hinzugefügt werden, eine benutzerdefinierte Protokollierung
durchführen oder sogar ein gespeichertes Verfahren ausführen, wenn eine Datenbankdatei
angehängt ist. Die erweiterten Programmierungsfunktionen der SQL Server Express Edition
sorgen für erhebliche Leistungsstärke bei der Anwendungsentwicklung, doch sie können
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
17
auch zum Ausführen von unerlaubtem Code verwendet werden, der bestimmte Aktionen
durchführen und beispielsweise Daten an nicht autorisierte Personen senden kann.
Microsoft betrachtet die SQL Server MDF-Dateien als Sicherheitsentsprechung zu .EXE-Dateien.
Sie sollten daher mit demselben Misstrauen behandelt werden wie .EXE-Dateien von
unbekannten Quellen. Um die Möglichkeit der Ausführung von unerlaubtem Code zu verringern,
müssen SQL Server Express Edition-Datendateien immer eine MDF-Dateierweiterung haben.
Benutzer sollten keine Datenbankdateien von unbekannten Quellen anhängen. Zudem
sollten Sie sich nicht durch einen Trick dazu verleiten lassen anzunehmen, dass eine
Datenbankdatei von einer vertrauenswürdigen Quelle stammt.
SQL Server Compact Edition-Datendateien sind dokumentensicher
Da SQL Server Compact Edition-Datendateien keine gespeicherten Verfahren oder
anderen Code innerhalb der Datenbank unterstützen, gilt dieses codefreie Dateiformat
als dokumentensicher. Im Gegensatz zu den Datendienst-Dateiformaten hat die Compact
Edition keine „Funktion“, die es einem Benutzer ermöglicht, Code in die Datenbank zu
integrieren, der dann als Ergebnis eines Ereignisses ausgeführt wird. Dank des
dokumentensicheren Formats können Compact Edition-Datendateien jede beliebige
Dateierweiterung haben, sodass Sie einer Rezeptanwendung eine .recipe-Erweiterung
zuordnen können. Durch Doppelklicken auf Ihre .recipe-Datei könnte eine Rezeptanwendung
gestartet werden, ähnlich wie Sie ein Microsoft Office-Dokument öffnen können. SQL Server
Compact Edition-Dateien sind zwar nicht so leistungsstark wie Datendienstdateien, aber Sie
müssen keine Bedenken haben, dass in Ihrem Namen Code ausgeführt wird.
Sichern von Daten von einem gestohlenen Laptop
Wenn Daten im Außendienst verfügbar gemacht werden oder vorhanden sind, besteht
immer die Möglichkeit, dass sie in die falschen Hände gelangen. Dies gilt sowohl für
gedrucktes als auch elektronisches Material. Es ist schwieriger, gedruckte Daten mit
einem Kennwort zu schützen, aber elektronisches Material stellt eine größere Versuchung
für mögliche Feinde dar, da es normalerweise größere Datensets enthält und schnell gegen
Sie verwendet werden kann. Die lokale Speicherung von Daten erhöht die Chance, dass sie
in die Hände von Feinden gelangen. Daten können auch von einem zentralen Datendienst
gestohlen werden. Das Stehlen lokaler Daten ist für Ihren Feind möglicherweise weniger
von Interesse, da die lokal gespeicherten Daten wahrscheinlich eine Teilmenge der über
Ihren Datendienste verfügbaren Daten sind.
Sicherheit ist niemals absolut. Unternehmen, die Tresore verkaufen, garantieren nicht, dass
diese einbruchsicher oder feuerfest sind. Die Industrie bewertet Tresore anhand der Zeit,
die ein professioneller Einbrecher braucht, um ihn zu knacken. Bei ausreichender Zeit wird
ein professioneller Einbrecher es schaffen. Wenn ein professioneller Dieb die Datei in seine
Hände bekommt, wird er ebenfalls bei ausreichender Zeit an die Daten kommen. Doch wie
jeder Fan von TV-Krimis weiß, gibt es viele Kriminelle, die keine Profis sind und nicht sehr
weit kommen werden, wenn einige grundlegende Sicherheitsebenen vorhanden sind.
Ein Beispiel, das ich gerne anführe, ist „der Fallenfaktor“. Wenn ich einen 100-Euro-Schein
über das Wochenende mit Tesafilm an meine Bürotür kleben würde, gehe ich davon aus,
dass er gestohlen wird. Ich wäre enttäuscht, aber nicht überrascht und würde nicht viel
Sympathie von meinen Kollegen erwarten. Wenn ich denselben Geldschein jedoch in einen
Briefumschlag in meine verschlossene Schreibtischschublade legen würde, wären meine
Kollegen bei einem Diebstahl wahrscheinlich empört, und das für den Gebäudeschutz
verantwortliche Unternehmen würde dem Vorfall Beachtung schenken.
Die beste Möglichkeit zum Sichern Ihrer Daten besteht darin, niemandem Zugang zu
gewähren. Wie bei anderen „sicheren“ Richtlinien gilt es jedoch auch hier, die Realität
nicht aus den Augen zu verlieren. Die nächstbeste Möglichkeit besteht darin, Ihre Risiken
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
18
zu begrenzen, indem Sie die Datenmenge beschränken, auf die Ihre Feinde zugreifen
können. Banken und Geldautomaten werden auf der Grundlage des maximalen Geldbetrags
versichert, der dort vorhanden ist, wodurch die Risiken minimiert wird. Es wird der
Bargeldbetrag berechnet, der zur Aufrechterhaltung ihrer Geschäftstätigkeit erforderlich ist.
Wenn Sie die Datenmenge einschränken, die Ihre Benutzer benötigen, um produktiv zu
sein, verringern Sie Ihre Risiken. Benötigen Ihre Benutzer die Kreditkartennummern aller
Ihrer Kunden? Doch genau wie in einem Geldautomaten ein angemessener Bargeldbetrag
vorhanden sein muss, damit das Gerät Gewinn bringt, sollten Sie Ihre Benutzer nicht zu
sehr einschränken, da sie sonst weniger produktiv arbeiten und Ihrem Geschäft weniger
Gewinn bringen. Gewinnträchtige Unternehmen arbeiten am besten, wenn ihre Mitarbeiter
gewisse Vollmachten haben.
Die Nutzung der Sicherheitsfunktionen von Windows
Wenn Sie die richtigen Daten für jeden Client gefunden haben, müssen Sie diese Daten lokal
sichern. Es gibt zwei Kategorien zum Anzeigen von Daten. Die Daten können zum einen
über ihre Anwendung, zum anderen direkt als Rohdaten angezeigt werden. Die SQL Server
Compact Edition bietet hier einen kleinen Vorteil, da Sie die Datenbank mit einem Kennwort
schützen und die Datei verschlüsseln können. SQL Server Express Edition-Daten können
Kennwörter, die Sie für die Datenbank einrichten, durch Anhängen der Datenbank mit der
Benutzerinstanzfunktion umgehen.
Doch wie bei Tresoren stellt der Kennwortschutz von Datenbanken nicht sicher, dass Ihr
Feind nicht auf die Daten zugreifen kann – der Prozess wird lediglich verlangsamt.
Und an dieser Stelle können die Sicherheitsfunktionen von Windows wirksam eingesetzt
werden. Die Implementierung einer sicheren Kennwortrichtlinie ist dabei der Ausgangspunkt.
Wenn Ihre Benutzer ihren Laptop jedoch nicht sperren, muss sich der nicht autorisierte
Benutzer den Laptop nur schnappen, um sich dieselben Daten anzusehen, auf die Sie Zugriff
haben. Benutzer vergessen oft, ihren Computer zu sperren, wenn sie diesen unbeaufsichtigt
stehen lassen, doch Windows bietet zwei Möglichkeiten zum automatischen Sperren von
Computern. Verwenden Sie die Eigenschaften der Energieoptionen in der Systemsteuerung,
die Sie zur Eingabe eines Kennworts auffordern, wenn Ihr Laptop nach dem Standby die
Arbeit wieder aufnimmt. Diese Option ist in Abbildung 2 dargestellt.
Abbildung 2: Konfigurieren der Eigenschaften der Energieoptionen
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
19
Die zweite Windows-Sicherheitsfunktion nutzt die Bildschirmschonereigenschaften, um den
Laptop zu sperren, sobald der Bildschirmschoner läuft. Es kann jedoch ärgerlich sein, wenn
die Zeitschwelle niedrig eingestellt wird, da der Benutzer ständig sein Kennwort eingeben
muss. Viele neue Laptops verfügen über einen Fingerabdruckleser. Diese Methode ist zwar
nicht absolut sicher, gleicht jedoch die Sicherheitsanforderungen durch Benutzerfreundlichkeit
aus, indem nicht autorisierte Benutzer gebremst werden, während die Arbeit Ihrer Benutzer
erleichtert wird. Diese Option ist in Abbildung 3 dargestellt.
Abbildung 3: Konfigurieren der Bildschirmschonereigenschaften
Windows Encrypted File System (EFS)
Die letzte Sicherheitsfunktion, die es zu erwähnen lohnt, ist das Windows Encrypted
File System (EFS), das die Verschlüsselung Ihrer Datendatei auf Betriebssystemebene
ermöglicht. Sowohl die SQL Server Express als auch die SQL Server Compact Edition
können EFS nutzen.
Durch die Auswahl von Eigenschaften Ihrer Datendatei können Sie die erweiterten Features
auswählen und die Option zum Verschlüsseln der Datei auf Betriebssystemebene aktivieren.
SQL Server Compact-Edition-Datendateien werden immer prozessintern mit der
Hostanwendung geöffnet, die im Kontext des aktuellen Benutzers ausgeführt wird, sodass
EFS immer verfügbar ist. Die SQL Server Express Edition kann EFS nur verwenden, wenn
die Datei in Verbindung mit Benutzerinstanzen verwendet wird. Datenbankdateien, die mit
den Hauptinstanzen der SQL Server Express Edition verbunden sind, können EFS nicht
verwenden, da die Datei vom SQL Server Express Edition-Dienstkonto und nicht vom
aktuellen Benutzer geöffnet wird.
Bei der Verwendung von EFS kann der Benutzer die Datei nicht kopieren, ohne vorher zu
bestätigen, dass die Datendatei dann nicht mehr verschlüsselt werden kann. Windows EFS
hindert Benutzer auch daran, Dateien, die von anderen Benutzern verschlüsselt wurden, zu
öffnen und zu kopieren, und verhindert das Bereitstellen von Festplatten oder den Zugriff
über einen zufällig freigegebenen Ordner, der über Ihre drahtlose Netzwerkkarte verfügbar
ist. Abbildung 4 zeigt, wie EFS konfiguriert wird, und die Warnungen, die angezeigt werden.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
20
Abbildung 4: Konfigurieren von EFS
Die Kombination der Sicherheitsfunktionen der SQL Server Express oder SQL Server
Compact Edition mit den Sicherheitsfunktionen von Windows bietet eine höhere
Sicherheitsstufe als jeder Mechanismus für sich. Verbesserte Sicherheit ermöglicht die
wirksamere Nutzung der erhöhten Produktivität, die zur Verfügung steht, wenn Daten lokal
gespeichert werden und Benutzer nicht mit dem Netzwerk verbunden sein müssen, um auf
Daten zuzugreifen.
Leistungsmessung
Als Antwort auf die Frage, wie gut die Leistung einer Datenbank ist, wird meistens die
Anzahl der Transaktionen pro Sekunde genannt. Wie viele gleichzeitigen Abfragen,
Einfügungen, Aktualisierungen und Löschungen können in einem Ein-Sekunden-Intervall
durchgeführt werden? Bei einem lokalen Datenspeicher ist es wichtig, Ergebnisse schnell
zurückzugeben, doch der Benutzer hat nur eine bestimmte Tippgeschwindigkeit. Selbst beim
Verwenden eines Barcodescanners ist die Datenmenge begrenzt, die der Benutzer in einem
bestimmten Zeitraum eingeben kann. Und wie viele Fragen kann ein einzelner Benutzer an
seinen lokalen Datenspeicher stellen?
Lokale Datenspeicher sind Komponenten einer Gesamtanwendung: einer Anwendung, die
dieselben Ressourcen wie die Datenbank nutzt. Benutzer führen mehrere Aufgaben durch,
indem gleichzeitig mehrere Anwendungen ausgeführt werden. Bei einem typischen Benutzer
ist wahrscheinlich Outlook geöffnet, um E-Mails und Kalendereinträge zu überprüfen.
Möglicherweise bearbeitet er eine PowerPoint-Präsentation, wobei er Microsoft Word zum
Verfolgen seiner Notizen einsetzt. Instant Messenger und/oder Office Communicator werden
minimiert in ausgeführt und warten auf die Eingabe der neuesten Verkaufszahlen. Internet
Explorer aktualisiert ständig die aktuellen Datenverkehrsbedingungen, während Sie sich
Ihre Lieblingsmusik mit dem Windows Media Player anhören. Outlook erinnert Sie an eine
Besprechung mit Ihrem Partner im örtlichen Café. Dort wollen Sie schnell zeigen, welche
Fortschritte Sie mit der Präsentation gemacht haben, und Sie schließen daher Ihren Laptop,
der sich nun im Standbymodus oder Ruhezustand befindet, ohne dass die ausgeführten
Anwendungen geschlossen werden. Unterwegs vergessen Sie, wo sich das Café befindet.
Während Sie an einer Ampel warten, öffnen Sie den Laptop, um Ihre Anwendungen wieder
aufzunehmen und sich den Kalender anzeigen zu lassen.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
21
Können Sie sich die Reaktion Ihres DBA vorstellen, wenn Sie ihn bitten würden, die Datenbank
für diese Umgebung zu optimieren? In einer Clientumgebung messen Sie die Leistung anhand
der Gesamtproduktivität des Benutzers. Datendienste werden in der Regel auf dedizierten
Servern gehostet und angepasst, sodass sie Tausende von Vorgängen pro Sekunde
durchführen. Sie werden so optimiert, dass sie alle verfügbaren Ressourcen nutzen, ähnlich wie
Sattelzüge, die enorme Lasten an die verschiedensten Standorte transportieren. Sie brauchen
etwas länger, um anzufahren und zu halten, aber wenn sie erst einmal in Fahrt sind, sind sie
enorm leistungsfähig. Demgegenüber kann ein Motorrad in Sekundenschnelle starten und
anhalten. Es ist im Stadtverkehr flexibel, kann in der kleinsten Parklücke parken, und der Fahrer
kann Kuriersendungen innerhalb von Minuten ausliefern. Ein Sattelzug ist für das Ausliefern von
Kuriersendungen im Stadtverkehr wahrscheinlich nicht das geeignete Fahrzeug, aber dafür
kann er sehr viel mehr Material auf langen Strecken transportieren als ein Motorrad.
Die SQL Server Compact Edition wird prozessintern mit der Anwendung ausgeführt. Da diese
Edition für Geräte ausgelegt wurde, ist sie in Bezug auf Ressourcen sehr effizient und zwingt
Anwendungen beim Ausführen von Anfragen nicht zum Paging auf dem Datenträger. Da die
Compact Edition nicht als Dienst ausgeführt wird, verbraucht sie keine Ressourcen, wenn sie
nicht verwendet wird, was sich direkt auf die Zeit beim Starten, Herunterfahren, Unterbrechen
und Fortsetzen auswirkt.
Die SQL Server Express Edition wird heruntergefahren, wenn das Programm mehrere Minuten
lang nicht verwendet wird. Im Vergleich zu verwandten Programmen ist dieses Programm bei
der Reduzierung des aktiven Speichers auf ein erstaunlich kleines Workingset viel effizienter.
Da die SQL Server Express Edition jedoch für eine serverbasierte Umgebung entwickelt
wurde, wird bei jeder angehängten Datenbank eine Wiederherstellung ausgeführt, wenn das
Programm den Ruhezustand wieder aufnimmt. Wenn das Programm heraufgefahren wird,
verbraucht es mehr Speicher, da es darauf eingestellt ist, Tausende von Transaktionen und
mehrere Clients gleichzeitig zu verarbeiten. Beim Aufrufen des Ruhezustands muss ein Paging
des gesamten Speichers auf dem Datenträger durchgeführt werden, selbst wenn er zu diesem
Zeitpunkt nicht von Anwendungen verwendet wurde.
Schlussbemerkung
Es gibt keine Einheitsgröße. Die Auswahl des richtigen Tools für die entsprechende Aufgabe ist
bei der Auswahl eines lokalen Datenspeichermoduls wichtig. Sowohl die SQL Server 2005
Express Edition als auch die SQL Server 2005 Compact Edition sind kostenlos erhältlich. Bei der
SQL Server Compact Edition, die als lokaler Standarddatenspeicher für Clientanwendungen
ausgelegt ist, stehen Telefone, PDAs, Tablet PCs und Desktops im Mittelpunkt. Das Programm
bietet einzigartige Funktionen für die Clientbereitstellung und Sicherheit. Die als Datendienst für
Anwendungen ausgelegte SQL Server Express Edition stellt ein konsistentes Programmiermodell
als Datendienstfamilie bereit und bietet eine Überlappung von Szenarios für den lokalen
Speicher. Ziel dieses Artikels ist es, die Herausforderungen an die lokale Datenspeicherung und
die funktionalen Vorteile des jeweiligen Datenbankmodulmodells zu beschreiben und die Vorund Nachteile zu identifizieren, die bei der Wahl eines lokalen Datenspeichers beachtet werden
müssen.
Durch die Verwendung der Microsoft-Plattform werden Unternehmen und Entwickler in
die Lage versetzt, einsatzbereite Anwendungen für Mitarbeiter zu erstellen, bei denen
Geschäftsdaten jederzeit und überall genutzt werden können.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
22
Weitere Informationen:
http://www.microsoft.com/sql/
Die in diesem Dokument enthaltenen Informationen stellen die behandelten Themen aus der Sicht der Microsoft Corporation zum Zeitpunkt der
Veröffentlichung dar. Da Microsoft auf sich ändernde Marktanforderungen reagieren muss, stellt dies keine Verpflichtung seitens Microsoft dar,
und Microsoft kann die Richtigkeit der hier dargelegten Informationen nach dem Zeitpunkt der Veröffentlichung nicht garantieren.
Dieses Whitepaper dient nur zu Informationszwecken. MICROSOFT SCHLIESST FÜR DIESES DOKUMENT JEDE GARANTIE AUS, SEI SIE
AUSDRÜCKLICH ODER KONKLUDENT.
Die Benutzer/innen sind verpflichtet, sich an alle anwendbaren Urheberrechtsgesetze zu halten. Unabhängig von der Anwendbarkeit der
entsprechenden Urheberrechtsgesetze darf ohne ausdrückliche schriftliche Erlaubnis der Microsoft Corporation kein Teil dieses Dokuments für
irgendwelche Zwecke vervielfältigt oder in einem Datenempfangssystem gespeichert bzw. darin eingelesen oder übertragen werden, unabhängig
davon, auf welche Art und Weise oder mit welchen Mitteln (elektronisch, mechanisch, durch Fotokopieren, Aufzeichnen usw.) dies geschieht.
Microsoft kann Inhaber von Patenten bzw. Patentanträgen, von Marken, Urheberrechten oder anderem geistigen Eigentum sein, die den Inhalt dieses
Dokuments betreffen. Das Bereitstellen dieses Dokuments gibt Ihnen jedoch keinen Anspruch auf diese Patente, Marken, Urheberrechte oder auf
sonstiges geistiges Eigentum, es sei denn, dies wird ausdrücklich in den schriftlichen Lizenzverträgen von Microsoft eingeräumt.
© 2005 Microsoft Corporation. Alle Rechte vorbehalten.
Die in den Beispielen genannten Unternehmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse
sind frei erfunden. Jede Ähnlichkeit mit tatsächlichen Unternehmen, Organisationen, Produkten, Domänennamen, E-Mail-Adressen, Logos, Personen,
Orten oder Ereignissen ist rein zufällig.
Microsoft, Visual Basic, Visual Studio, Win32, Windows und Windows Server und SQL Server sind entweder eingetragene Marken oder
Marken der Microsoft Corporation in den USA und/oder anderen Ländern.
Alle anderen Marken sind Eigentum der jeweiligen Besitzer.
SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition – Welche Edition ist
die richtige für Sie?
23
Herunterladen