string str = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFileName=z:\ttt.mdf;User Instance=true";
其中User Instance=true參數不可少。
//http://www.cnblogs.com/yuanyuan/archive/2011/02/12/1951871.html
Integrated Security默認值是False,此時需要提供Uid和Pwd,即將以Sql Server 用戶身份登陸數據庫;如果設置為True,Yes 或 SSPI,這不能出現Uid和Pwd,將以Windows用戶省份登陸數據庫。強烈推薦用后一種形式,安全性更高。
User Instance
曾經,要運行 SQL Server 數據庫,就必須在實例下創建數據庫,不管是直接創建、還是附加、還是還原,總之都得在實例下創建,但這造成一個問題,我們的權限不夠高,無法將數據庫附加或還原到 SQL Server,我們只是有 .mdf、.ldf 文件。
從 SQL Server 2005 開始,有了新選擇
在連接字符串中使用 AttachDbFilename,可直接連接到一個數據庫文件。比如是這樣的:
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Data.mdf;Integrated Security=True;User Instance=True
這里 User Instance 就是用戶實例,為 True,表示使用用戶實例。