パスワードによるデータベースの保護

Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) データベース エンジン を使用して、ローカル データベースにアクセスするユーザーに対してパスワードの入力を求めることができます。SQL Server Compact Edition では、セキュリティで保護されるデータベースに対してパスワードが 1 つ作成されます。データベースを使用する各ユーザーにパスワードが割り当てられるのではありません。SQL Server Compact Edition データベースのパスワードには、以下の特徴があります。

  • 最大 40 文字まで指定できます。
  • 文字、記号、数字、またはこれらの組み合わせを指定できます。
  • 復元できません。
メモ :
パスワードを設定しても、クリア テキストとしてデータベース ファイルが開かれてしまうと、そのデータの閲覧を防ぐことはできません。暗号化とパスワードの両方を使用すると、データを暗号化形式で格納し、プログラムによるデータベースへのアクセスを制限することができます。

パスワードで保護されたデータベースの作成

パスワードで保護されたデータベースを作成するには、データベースの作成時にパスワード プロパティを設定します。このデータベースを作成するいくつかの方法を以下に示します。

  • SQL 構文を使用する方法
    パスワードで保護されたデータベースを SQL 構文を使用して作成するには、CREATE DATABASE ステートメントでデータベース パスワードを指定します。DATABASEPASSWORD キーワードの後に、パスワードを単一引用符で囲んで指定する必要があります。以下に例を示します。

    CREATE DATABASE "secure.sdf" DATABASEPASSWORD '<myPassword>'
    
  • ADO .NET を使用する方法
    パスワードで保護されたデータベースを SqlCeEngine.CreateDatabase メソッドを使用して作成するには、接続文字列にパスワード プロパティを指定する必要があります。以下に例を示します。

    "data source=\ssce.sdf; password=<myPassword>"
    

    詳細については、Microsoft Visual Studio 2005 の Microsoft .NET Compact Framework Software Development Kit (SDK) に含まれる System.Data.SqlServerCe.SqlCeEngine クラスに関する情報を参照してください。

  • OLE DB を使用する方法
    OLE DB Provider for SQL Server Compact Edition を使用して暗号化されたデータベースを作成するには、プロバイダ固有のプロパティ DBPROP_SSCE_ENCRYPTDATABASE を VARIANT_TRUE として渡し、プロバイダ固有のプロパティ DBPROP_SSCE_DBPASSWORD を使用してパスワードを指定する必要があります。

パスワードで保護されたデータベースへのアクセス

パスワードで保護されたデータベースを開くには、パスワードを入力する必要があります。このデータベースにアクセスするいくつかの方法を以下に示します。

  • SQL Server Compact Edition のデータ プロバイダを使用する方法
    パスワードで保護されたデータベースに SqlCeConnection.Open メソッドを使用してアクセスするには、接続文字列にパスワード プロパティを指定する必要があります。以下に例を示します。

    "data source=\ssce.sdf; password=<myPassword>"
    

    詳細については、Visual Studio 2005 の .NET Compact Framework SDK にある System.Data.SqlServerCe.SqlCeConnection クラスに関する情報を参照してください。

  • OLE DB を使用する方法
    SQL Server Compact Edition では、ファイル レベルのアクセス制御メカニズムをサポートしています。このメカニズムでは、パスワードで保護された SQL Server Compact Edition データベースにアクセスする際にパスワードが必要です。このパスワードは、データベースを開くたびに渡す必要があります。パスワードを指定するには、プロバイダ固有のプロパティ セット DBPROPSET_SSCE_DBINIT の DBPROP_SSCE_DBPASSWORD プロパティを使用します。データベースの作成時には、このプロパティを使用して新しいデータベースのデータベース パスワードを指定できます。暗号化されたデータベースは、常にパスワードで保護されます。

参照

ヘルプおよび情報

SQL Server Compact Edition のサポートについて