64 ビット データベース アプリケーションの管理
SQL Server Compact はインプロセス データベースです。そのため、アプリケーション内に埋め込まれるデータベースのニーズに合わせて配置/運用環境のリソースが最小限に抑えられています。コンポーネントはインプロセスであるため、同じ 32 ビットまたは 64 ビットの環境で実行される必要があります。これまでは、TargetPlatform を既定の AnyCPU ではなく x86 に設定して WOW64 モードを使用しなければなりませんでしたが、SQL Server Compact 3.5 SP1 の 64 ビット リリースが登場したことにより、WOW64 を使用する必要はなくなりました。64 ビット ランタイムを使用しても、データベースのデータ形式への影響はありません。x64 プラットフォームはサポートされていますが、Itanium 64 はサポートされていません。
注意
WOW64 は、32 ビット アプリケーションを 32 ビット プラットフォーム上で実行する場合と同じように実行できるエミュレーション層です。
SQL Server Compact 3.5 SP1 64 ビットで作成したデータベースには、32 ビット ランタイムからアクセスできます。64 ビット プラットフォームで以前のバージョンを実行するには、32 ビット エディションを WOW64 (Windows 32-bit on Windows 64-bit) 互換モードで非ネイティブで実行します。
SQL Server Compact のインストールで 64 ビット コンポーネントをインストールするのは、SQL Server Compact ランタイム (SSCERuntime-ENU.msi) とマージ レプリケーション構成コンポーネント (SSCEServerTools-ENU.msi) だけです。64 ビット版のインストーラは、32 ビット版と同じ名前です。SQL Server Compact コンポーネントの入手方法については、Microsoft SQL Server Compact 3.5 の Readme ファイルを参照してください。最新版の Readme ファイルは、Microsoft ダウンロード センターから入手できます。
サイド バイ サイドの互換性
SQL Server Compact では、サイド バイ サイド ランタイムのシナリオがサポートされており、SQL Server Compact ランタイムの一部のバージョンを、同じコンピュータにインストールされている他のバージョンと同時に実行することができます。サイド バイ サイドのサポートは、古いデータベース形式を使用する古いクライアントを新しい形式と共にサポートする必要がある場合に便利です。互換性のある SQL Server Compact ランタイムをサーバーにインストールすることにより、複数のバージョンのクライアント アプリケーションの同期が可能になります。
SQL Server Compact の新しいリリース (3.5、3.5 SP1、3.5 SP1 64 ビットなど) がインストールされているコンピュータに SQL Server Compact 3.1 ランタイムをインストールすることができます。既に SQL Server Compact 3.5 を実行しているコンピュータに SQL Server Compact 3.5 SP1 をインストールした場合は、既存のインストールが新しいバージョンにアップグレードされます。インストールするランタイムが既存のランタイムと同じ場合は、インストーラのインストール オプションが有効になりません。
SQL Server Compact 3.5 と SQL Server Compact 3.5 SP1 64 ビットのサイド バイ サイドのシナリオを実現するには、古いバージョンがアップグレードされないように、古い方のバージョンを最後にインストールします。WOW64 とネイティブの SQL Server Compact 3.5 SP1 64 ビットのサイド バイ サイドをサポートするには、WOW64 のインスタンスを最後にインストールします。
レガシ アプリケーションでのデータベースの使用
古いバージョンの SQL Server Compact で作成したデータベース ファイルを開く場合に、SQL Server Compact 3.5 SP1 64 ビットでサポートされるデータベース ファイル形式は、3.5 リリースや 3.5 SP1 32 ビット リリースでサポートされる形式と同じです。SQL Server Compact 3.1 データベース ファイル形式には SQL Server Compact の新しいリリースとの上位互換性はなく、新しいバージョン (SQL Server Compact 3.5 SP1 64 ビットを含む) には SQL Server Compact 3.1 との下位互換性はありません。古いデータベース ファイルのアップグレードの詳細については、「以前のバージョンからのアップグレード (SQL Server Compact)」または「Upgrade」を参照してください。
SQL Server Compact 3.5 SP1 64 ビットで作成したデータベース ファイルの形式は、SQL Server Compact 3.5 や SQL Server Compact 3.5 SP1 32 ビットで作成したファイルと同じです。SQL Server Compact 3.5 SP1 64 ビットと SQL Server Compact 3.5 では、生成されるデータベース ファイルの形式は同じですが、同じファイルに同時にアクセスすることはできません。詳細については、このトピックの後半の「Accessing Resources Concurrently」を参照してください。
マージ レプリケーションの互換性
64 ビットの SQL Server データベース エンジンでは、SQL Server Compact 3.5 SP1 32 ビット ランタイムと 32 ビット レプリケーション コンポーネントを使用して、インターネット インフォメーション サービス (IIS) のデータをレプリケートできます。ネイティブ 64 ビット ランタイムのリリースによるこのシナリオへの影響はありません。32 ビット ランタイムを含む既存のプラットフォームのシナリオは、64 ビット ランタイムに変更してもすべてサポートされます。
SQL Server Management Studio
ここでは、SQL Server Management Studio の 64 ビット互換性について説明します。
ランタイムの互換性
SQL Server Management Studio 2008 は、64 ビット クライアントでは WOW64 モードで実行されます。このため、SQL Server Management Studio 内で使用可能なツールを使用するには 32 ビット版の SQL Server Compact がインストールされている必要があります。
データベース ファイルの互換性
SQL Server Management Studio 2008 では、SQL Server Compact 3.5 (3.5 SP1 および 3.5 SP1 64 ビットを含む) はサポートされていますが、SQL Server Compact 3.1 のファイルは使用できません。SQL Server Management Studio 2005 では、SQL Server Compact 3.1 はサポートされていますが、SQL Server Compact 3.5 以降のファイルは使用できません。同じコンピュータに Management Studio 2005 と 2008 の両方をインストールすると、両方の SQL Server Compact データベース ファイル形式を使用できるようになります。SQL Server Management Studio 2005 を使用して SQL Server Compact 3.5 以降のデータベースを開くと、"データベースのバージョンが無効です" というエラー メッセージが表示されます。
Visual Studio サーバー エクスプローラ
ここでは、Visual Studio サーバー エクスプローラの 64 ビット互換性について説明します。
ランタイムの互換性
Visual Studio 2008 は、64 ビット クライアントでは WOW64 モードで実行されます。このため、Visual Studio 2008 内で使用可能なツールを使用するには 32 ビット版の SQL Server Compact がインストールされている必要があります。
データベース ファイルの互換性
Visual Studio 2008 では、SQL Server Compact 3.5 (3.5 SP1 および 3.5 SP1 64 ビットを含む) はサポートされていますが、SQL Server Compact 3.1 のファイルは使用できません。Visual Studio 2005 では、SQL Server Compact 3.1 はサポートされていますが、SQL Server Compact 3.5 以降のファイルは使用できません。同じコンピュータに Visual Studio 2005 と Visual Studio 2008 の両方をインストールすると、両方の SQL Server Compact データベース ファイル形式を使用できるようになります。Visual Studio 2005 を使用して SQL Server Compact 3.5 以降のデータベースを開くと、"データベースのバージョンが無効です" というエラー メッセージが表示されます。
リソースへの同時アクセス
SQL Server Compact では、複数の接続を使用してデータベースにアクセスすることができます。ただし、異なるバージョンの SQL Server Compact を使用するアプリケーションが同じデータベースに接続する場合、すべてのシナリオがサポートされるわけではありません。
SQL Server Compact 3.5 SP1 64 ビット アプリケーションと SQL Server Compact 3.5 アプリケーションが同じデータベース ファイルを開こうとするシナリオでは、先にデータベースを開いたアプリケーションが成功します。後からデータベースを開こうとしたアプリケーションは、"互換性のない共有メモリの種類です" というエラーが表示されて失敗します。
SQL Server Compact 3.5 SP1 の 32 ビット リリースと SQL Server Compact 3.5 SP1 の 64 ビット リリースでは同じデータベースを同時に使用できますが、SQL Server Compact 3.5 の最初のリリースでは、SQL Server Compact 3.5 SP1 の 32 ビット リリースや 64 ビット リリースと同じデータベースを同時に開くことはできません。
インストールと配置の管理
ネイティブ 64 ビットの SQL Server Compact ランタイムは、インターネットからのみ入手できます。次の言語の URL が用意されています。
ネイティブ DLL を直接プロジェクトに含めることによってすべての必要なリソースを自分で配置する場合は、それらのリソースをプロジェクトの最上位フォルダに配置する必要があります。プロセッサ アーキテクチャ タイプ (x86 や AMD64 など) ごとにフォルダを作成してください。Itanium 64 はサポートされていません。特定のコンピュータのプロセッサ アーキテクチャ タイプを表示するには、コマンド プロンプトを開いて次のコマンドを実行します。
echo %PROCESSOR_ARCHITECTURE%
VBScript を使用して同じ情報をウィンドウに表示するには、次のコードを実行します。
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("SYSTEM")
WScript.Echo WshSysEnv("PROCESSOR_ARCHITECTURE")
64 ビット アプリケーションの配置の詳細については、Visual Studio ドキュメントの「64 ビット アプリケーションの配置」を参照してください。
参照
概念
SQL Server Compact バージョンのサイド バイ サイド サポート
その他のリソース
ODBC 64-Bit Information
OLE DB 64-Bit Information
64-Bit Integer Structures