MS在SQL Server產品族裡面提供兩個免費的版本SQL Server Express和SQL Server Compact。使用者可以免費下載,開發和部署這這兩個版本,因此這是資料庫方案的不錯選擇。
使用這兩個資料庫的目的
使用SQL Server Express可以節省成本,由於SQL Server Express相容SQL Server Standard和SQL Server Enterprise在資料處理上的所有功能,例如資料存放區,Tlog,預存程序等等,在開發上可以無縫升級到Standard和Enterprise的版本。推薦使用在WEB應用上。
SQL Server Compact可以免費應用到行動裝置,傳統型程式,甚至WEB應用裡面,由於SQL Server Compact是In-process的資料庫引擎,無需額外的安裝和維護。SQL Server Compact和Microsoft SQL Server產品族共用通用的API,在.NET開發上可以使用通用的ADO.NET APIs, 同時支援LINQ and Entity Framework。SQL Server Compact不支援預存程序,但是支援T-SQL的子集,在案頭應用可以替代Access,為升級為SQL Server其他版本提供便利。
SQL Server Express下載和安裝
SQL Server Express 2005 的是http://www.microsoft.com/express/2005/sql/download/default.aspx
主要下載的兩個組件,第一個為資料庫服務(SQL Server 2005 Express Edition),第二個為管理工具(SQL Server Management Studio Express)。
Microsoft SQL Server 2005 Express Edition
SQL Server Management Studio Express
安裝過程中選擇 Mix Authorizaiton模式,這樣方便開發的時候可以使用sa使用者進行登入。
SQL Server Compact 下載和安裝
SQL Server Compact內建於Visual Studio裡面,VS2005內建SQL Server Compact 3.0,而VS2008內建SQL Server Compact 3.5版本,同時SQL Server Compact 3.5可以在下面地址下載, SQL Server Compact Downloads 。SQL Server Compact是In-Process的資料庫,所以不需要安裝,只要拷貝到目標目錄就能使用。
SQL Server Express的.NET開發
SQL Server Express 使用System.Data.SqlClient命名空間訪問ADO.net,和Standard以及Enterprise 沒有區別。基於SQL Server Express開放的應用可以直接升級到Standard以及Enterprise 使用。
SQL Server Compact的.NET開發
SQL Server Compact使用System.Data.SqlServerCe命名空間訪問ADO.net,需要注意的是不同的SQL Server Compact版本使用不用的DLL版本. SQL Server Compact 3.5的庫一般對應以下的目錄 C:\Program Files\Microsoft SQL Server Compact Edition\v3.5 ADO.net DLL,而SQL Server Compact 3.0的庫一般對應以下的目錄 C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile,彼此不相相容。
如果把SQL Server Compact使用與ASP.NET應用在進行串連之前需要把SQLServerCompactEditionUnderWebHosting屬性設為true。
AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true);
同時修改這個資料庫檔案的目錄屬性。把IUSR_*和IWAM_*設成Full Control的許可權。
IUSR_*(Built-in account for anonymous access to Internet Information Services)
IWAM_*(Built-in account for Internet Information Services to start out of process applications)
Have fun with free SQL Server.
參考文獻
Microsoft SQL Server Compact 3.5 Books Online and Samples
Compare SQL Server 3.5 Compact and SQL Server Express Edition Features