Verwaltung von 64-Bit-Datenbankanwendungen
SQL Server Compact ist eine In-Process-Datenbank. Dies bedeutet, dass Ressourcen für die Bereitstellung und Betriebssystemumgebung minimiert werden, um die Anforderungen eingebetteter Datenbanken in Anwendungen zu erfüllen. Da die Komponenten In-Process ausgeführt werden, müssen Sie in derselben 32- oder 64-Bit-Umgebung ausgeführt werden. Vor der Veröffentlichung der 64-Bit-Version von SQL Server Compact 3.5 Service Pack 1 (SP1) mussten Entwickler den WOW64-Modus verwenden, indem sie die Zielplattform auf x86 und nicht auf die Standardzielplattform AnyCPU festgelegt haben. Die Veröffentlichung der 64-Bit-Version von SQL Server Compact 3.5 SP1 bedeutet für Entwickler, dass sie WOW64 nicht mehr verwenden müssen. Das Format der Daten in der Datenbank wird durch die Verwendung einer 64-Bit-Laufzeit nicht beeinflusst. Die x64-Plattform wird unterstützt, Itanium 64 jedoch nicht.
Hinweis
WOW64 ist eine Emulationsebene, mit der 32-Bit-Anwendungen wie auf einer 32-Bit-Plattform ausgeführt werden können.
Auf von SQL Server Compact 3.5 SP1 64-Bit erstellte Datenbanken kann von einer 32-Bit-Laufzeit aus zugegriffen werden. Die Ausführung älterer Versionen auf 64-Bit-Plattformen wird durch die nicht systemeigene Ausführung von 32-Bit-Versionen im WOW64 (Windows 32-Bit On Windows 64-Bit)-Kompatibilitätsmodus erreicht.
Die einzigen SQL Server Compact-Installationen, die 64-Bit-Komponenten installieren, sind die SQL Server Compact-Laufzeiten (SSCERuntime-ENU.msi) und die Konfigurationskomponenten für die Mergereplikation (SSCEServerTools-ENU.msi). Die 64-Bit-Versionen der Installationsprogramme haben dieselben Namen wie die 32-Bit-Versionen. Weitere Informationen zum Erhalt von SQL Server Compact-Komponenten finden Sie in der Infodatei für Microsoft SQL Server Compact 3.5. Die aktuelle Version der Infodatei ist im Microsoft Download Center verfügbar.
Kompatibilität bei paralleler Ausführung
SQL Server Compact unterstützt parallele Laufzeitszenarien. Einige Versionen der SQL Server Compact-Laufzeiten können gleichzeitig mit anderen, auf demselben Computer installierten Versionen ausgeführt werden. Diese Unterstützung von Parallelität kann nützlich sein, wenn ältere Clients unterstützt werden müssen, die ältere Datenbankformate gemeinsam mit neueren Formaten verwenden. Verschiedene Versionen von Clientanwendungen können mithilfe der auf dem Server installierten kompatiblen SQL Server Compact-Laufzeiten synchronisiert werden.
SQL Server Compact 3.1-Laufzeiten können mit neueren Versionen von SQL Server Compact installiert werden, darunter 3.5, 3.5 SP1 und 3.5 64-Bit SP1. Wenn SQL Server Compact 3.5 SP1 auf einem Computer installiert wird, auf dem bereits SQL Server Compact 3.5 ausgeführt wird, wird die vorhandene Installation auf die neuere Version aktualisiert. Wenn die Laufzeitinstallation mit den vorhandenen Laufzeiten übereinstimmt, ist die Installationsoption nicht aktiviert.
Um Parallelitätsszenarien mit SQL Server Compact 3.5 und SQL Server Compact 3.5 SP1 64-Bit zu ermöglichen, installieren Sie die ältere Version zuletzt und vermeiden so die Aktualisierung der älteren Version. Parallelitätsunterstützung für WOW64 und das systemeigene SQL Server Compact 3.5 SP1 64-Bit ist möglich, wenn die WOW64-Instanz zuletzt installiert wird.
Verwenden von Datenbanken mit älteren Anwendungen
Damit von älteren Versionen von SQL Server Compact erstellte Datenbankdateien geöffnet werden können, verfügt SQL Server Compact 3.5 SP1 64-Bit über dieselbe Unterstützung von Datenbankdateiformaten wie die 3.5- und 3.5 SP1 32-Bit-Versionen. Das SQL Server Compact 3.1-Datenbankdateiformat ist nicht aufwärtskompatibel mit neueren Versionen von SQL Server Compact. Neuere Versionen, einschließlich SQL Server Compact 3.5 SP1 64-Bit, sind nicht abwärtskompatibel mit SQL Server Compact 3.1. Informationen über das Aktualisieren älterer Datenbankdateien finden Sie unter Aktualisieren von früheren Versionen (SQL Server Compact) und Upgrade.
Mit SQL Server Compact 3.5 SP1 64-Bit erstellte Datenbankdateien haben dasselbe Format wie von SQL Server Compact 3.5 und SQL Server Compact 3.5 SP1 32-Bit erstellte Dateien. Obwohl SQL Server Compact 3.5 SP1 64-Bit dasselbe Datenbankdateiformat wie SQL Server Compact 3.5 verwendet können nicht beide zur selben Zeit auf dieselbe Datei zugreifen. Weitere Informationen finden Sie im Abschnitt "Paralleler Zugriff auf Ressourcen" weiter unten in diesem Thema.
Kompatibilität bzgl. Mergereplikation
Die 64-Bit-Version von SQL Server Database Engine (Datenbankmodul) kann Daten mithilfe der SQL Server Compact 3.5 SP1 32-Bit-Laufzeiten und der 32-Bit-Replikationskomponenten von Internetinformationsdienste (IIS) replizieren. Dieses Szenario bleibt von 64-Bit-Laufzeitversionen unberührt. Alle vorhandenen Plattformszenarien, an denen 32-Bit-Laufzeiten beteiligt sind, werden auch unterstützt, wenn zu 64-Bit-Laufzeiten gewechselt wird.
SQL Server Management Studio
In diesem Abschnitt wird die 64-Bit-Kompatibilität für SQL Server Management Studio erläutert.
Laufzeitkompatibilität
SQL Server Management Studio 2008 wird auf 64-Bit-Clients im WOW64-Modus ausgeführt. Daher muss zur Verwendung der in SQL Server Management Studio verfügbaren Tools die 32-Bit-Version von SQL Server Compact installiert sein.
Datenbankdateikompatibilität
SQL Server Management Studio 2008 unterstützt SQL Server Compact 3.5 (einschließlich 3.5 SP1 und 3.5 SP1 64-Bit), kann jedoch keine SQL Server Compact 3.1-Dateien verarbeiten. SQL Server Management Studio 2005 unterstützt Funktionen für SQL Server Compact 3.1, kann jedoch keine Dateien von SQL Server Compact 3.5 und späteren Versionen verarbeiten. Sowohl Management Studio 2005 als auch 2008 können auf demselben Computer installiert werden. Damit wird die Unterstützung beider SQL Server Compact-Datenbankdateiformate ermöglicht. Wenn SQL Server Management Studio 2005 zum Öffnen von SQL Server Compact 3.5 oder neueren Versionen verwendet wird, wird die Fehlermeldung "Invalid database version" angezeigt
Visual Studio Server-Explorer
In diesem Abschnitt wird die 64-Bit-Kompatibilität für den Server-Explorer von Visual Studio erläutert.
Hinweis
Visual Studio 2010 ist die bevorzugte Umgebung zum Entwickeln von Desktopanwendungen. Visual Studio 2008 SP1 wird zum Entwickeln von Anwendungen für intelligente Geräte bevorzugt. Visual Studio 2010 bietet keine Unterstützung für die Entwicklung von Anwendungen für intelligente Geräte. Weitere Informationen finden Sie unter Installieren einer Entwicklungsumgebung.
Laufzeitkompatibilität
Visual Studio 2008 und Visual Studio 2010 werden auf 64-Bit-Clients im WOW64-Modus ausgeführt. Daher muss zur Verwendung der in Visual Studio 2008 und Visual Studio 2010 verfügbaren Tools die 32-Bit-Version von SQL Server Compact installiert sein.
Datenbankdateikompatibilität
Visual Studio 2008 und Visual Studio 2010 unterstützen SQL Server Compact 3.5 (einschließlich 3.5 SP1 und 3.5 SP1 64-Bit), können jedoch keine SQL Server Compact 3.1-Dateien verarbeiten. Visual Studio 2005 unterstützt Funktionen für SQL Server Compact 3.1, kann jedoch keine Dateien von SQL Server Compact 3.5 und neueren Versionen verarbeiten. Sowohl Visual Studio 2005 als auch Visual Studio 2008 oder Visual Studio 2010 können auf demselben Computer installiert werden. Damit wird die Unterstützung beider SQL Server Compact-Datenbankdateiformate ermöglicht. Wenn Visual Studio 2005 zum Öffnen von SQL Server Compact 3.5 oder höheren Versionen verwendet wird, wird eine Fehlermeldung zu einer ungültigen Datenbankversion angezeigt.
Paralleler Zugriff auf Ressourcen
SQL Server Compact stellt den Datenbankzugriff über mehrere Verbindungen bereit. Es werden nicht alle Szenarien unterstützt, in denen Anwendungen verschiedene Versionen von SQL Server Compact verwenden und mit derselben Datenbank verbunden sind.
Falls eine SQL Server Compact 3.5 SP1 64-Bit-Anwendung und eine SQL Server Compact 3.5-Anwendung versuchen, dieselbe Datenbankdatei zu öffnen, wird die Anwendung erfolgreich ausgeführt, die die Datenbank zuerst öffnet. Die Anwendung, die die Datenbank danach öffnet, schlägt mit der Fehlermeldung "Incompatible shared memory type" fehl.
Die 32-Bit-Version von SQL Server Compact 3.5 SP1 kann parallel mit der 64-Bit-Version von SQL Server Compact 3.5 SP1 ausgeführt werden. Die erste Version von SQL Server Compact 3.5 kann jedoch dieselbe Datenbank nicht parallel mit der 32- oder 64-Bit-Version von SQL Server Compact 3.5 SP1 öffnen.
Verwalten von Installationen und Bereitstellungen
Systemeigene 64-Bit SQL Server Compact-Laufzeiten sind nur im Internet verfügbar. URLs für 64-Bit-Laufzeiten sind in den folgenden Sprachen verfügbar:
Wenn alle Voraussetzungen privat bereitgestellt werden, indem die systemeigenen DLLs direkt dem Projekt hinzugefügt werden, müssen die Ressourcen in den Ordnern der obersten Ebene des Projekts platziert werden. Für jeden Prozessorarchitekturtyp, einschließlich x86 und AMD64, muss ein Ordner erstellt werden. Itanium 64 wird nicht unterstützt. Um den Prozessorarchitekturtyp eines bestimmten Computers anzuzeigen, öffnen Sie eine Eingabeaufforderung und führen den folgenden Befehl aus:
echo %PROCESSOR_ARCHITECTURE%
Um diese Information mit VBScript in einem Fenster anzuzeigen, führen Sie den folgenden Code aus:
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("SYSTEM")
WScript.Echo WshSysEnv("PROCESSOR_ARCHITECTURE")
Weitere Informationen über das Bereitstellen von 64-Bit-Anwendungen finden Sie in der Visual Studio-Dokumentation unter Bereitstellen von 64-Bit-Anwendungen. Weitere Informationen zum Bereitstellen von Desktopanwendungen, die mit SQL Server Compact erstellt wurden, finden Sie unter Bereitstellen von Desktopanwendungen.
Hinweis
Ab SQL Server Compact 3.5 Service Pack 2 ist die MSI der 64-Bit-Version der SQL Server Compact Runtime in die ClickOnce-Bereitstellung integriert. Wenn ein Benutzer eine Anwendung, die mit SQL Server Compact 3.5 SP2 erstellt wurde, unter Verwendung der ClickOnce-Technologie auf einem 64-Bit-System installiert und SQL Server Compact 3.5 SP2 vom Verleger als erforderliche Komponente für die Installation ausgewählt wurde, wird sowohl die 32-Bit-Version als auch die 64-Bit-Version der SQL Server Compact Runtime installiert. In früheren Versionen von SQL Server Compact 3.5 wurde nur die 32-Bit-Version der SQL Server Compact Runtime installiert.
Siehe auch
Andere Ressourcen
Unterstützung für die gleichzeitige Installation von SQL Server Compact-Versionen