Share via


使用密碼保護資料庫

Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) Database Engine 可讓您強制執行在存取本機資料庫時,必須提供密碼的動作。在 SQL Server Compact Edition 中,會為受保護的資料庫建立一個密碼。但不會為資料庫的每一位使用者建立密碼。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 軟體開發套件 (SDK) 的 System.Data.SqlServerCe.SqlCeEngine 類別。

  • 使用 OLE DB
    若要使用 SQL Server Compact Edition 的 OLE DB 提供者建立加密資料庫,必須傳送提供者特定的屬性 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 協助