以擴展情況為例。應用程序在收銀機上部署了 100 個 SQL Server Express 實例。它們正連接到后端的非 SQL Server Express 服務器上。只要后端服務器涉及所有對話框,就會發生這種情況。SQL Server Express 實例無法在不經過后端服務器的情況下成功進行會話。
用戶實例
用戶實例是 SQL Server Express 中的新功能,可以像處理文件一樣處理數據庫,F在,本地數據庫可以隨應用程序一起移動、復制或通過電子郵件傳送。在新的位置,不需要進行額外配置就可以使其正常運行。用于在 SQL Server Express 中啟用應用程序用戶實例支持的主要功能有三個:連接字符串中的 AttachDBFilename 選項、不需要指定邏輯數據庫名稱和“用戶實例”選項。
在用戶實例支持中,暗含著幾個假設。假設實例名為 SQLEXPRESS 的 SQL Server Express 已安裝在計算機上。還假設它是一個僅托管堆棧解決方案,您必須使用 .NET SQL Server 數據訪問接口開發可部署的 XCopy 應用程序。也就是說,不能使用 SQL Native Client 或 MDAC 來開發可用于用戶實例的應用程序。
通常,應用程序開發人員僅將用戶數據庫和日志文件隨應用程序一起復制。但是,在 SQL Server 中,一個特定數據庫(稱為 master 數據庫)中存在多個配置條目。依賴于 master 數據庫中的條目的功能包括 SQL 身份驗證(建議您盡可能使用 Windows 身份驗證)。如果您的應用程序依賴于 master 數據庫中的任何條目,則應用程序開發人員必須確保將這些配置條目復制到目標系統中。一個方法是:當將運行的應用程序安裝到目標計算機上時,要隨之包括一個 SMO、DMO 或 T-SQL 配置腳本。對于大多數使用 Windows 身份驗證運行的應用程序,從 master 數據庫復制信息并不難。
AttachDBFileName
您可以為 AttachDBFileName 連接字符串條目指定相對文件路徑或絕對文件路徑。當打開連接時,將附著指定的數據庫文件,此數據庫用作該連接的默認數據庫。如果調用 AttachDBFileName 時該數據庫已附著,則附著操作不會產生任何影響。此關鍵字支持稱為 |DataDirectory| 的特定字符串,該字符串在運行時指向存儲數據庫文件的應用程序的數據目錄。此特定字符串應位于文件路徑的起始處,僅對本地文件系統有效,并且會檢查 \..\ 語法以便該文件路徑不高于替換字符串指向的目錄。
使用 AttachDBFileName 時,日志文件的用法有些變化。日志文件名的格式必須為:<database-File-Name>_log.ldf,并且在使用 AttachDBFileName 時,沒有用于指定日志文件名的選項。例如,如果數據庫文件名為 myDb.mdf 且位于 c:\myApp,則日志文件名應為 myDb_log.ldf。如果 SQL 在數據庫文件所在的目錄中找不到此文件,則在附著過程中將創建一個新的日志文件。這意味著,在使用 AttachDBFileName 時,不支持用戶定義的日志文件名。
SQL Server 支持對一個數據庫使用多個數據和日志文件,這些文件可以分布在多個文件組中。AttachDBFileName 語法不支持此功能,也不支持網路共享、HTTP 路徑或通用命名約定 (UNC) 遠程數據庫。
邏輯數據庫名稱
如果在連接字符串中未指定邏輯數據庫名稱,則將為要附著的數據庫自動生成一個名稱。該名稱是基于 .mdf 文件的相對文件路徑生成的。例如,如果文件位于 c:\myDocuments\Myapp\myDB.mdf,則邏輯數據庫名稱將基于完整路徑。如果文件路徑的字符多于 128 個,則此功能將使用現有路徑和一個哈希來生成邏輯數據庫名稱。這是 SQL Server Express 中的新功能,因為在 SQL Server 2000 中不指定數據庫名稱將導致出現錯誤。支持的語法包括 database=; 或 initial catalog=;,或者用戶也可以在連接字符串中完全省略它們。
在同一臺計算機上移動或復制數據庫時,此功能非常有用,因為基于文件路徑的邏輯名稱是唯一的。如果沒有此功能,則在使用同一個邏輯名稱打開兩個不同目錄中的數據庫時,SQL Server 中將會發生命名沖突。計算機之間還支持應用程序 XCopy。
文章來源于領測軟件測試網 http://www.kjueaiud.com/