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,表示使用用户实例。