解决sql server 2008 r2无法打开登录所请求的数据库“xxx”,用户sa登录失败

        我之前在一台机器装了sql server 2008,使用混合登陆,完全没问题。

        新买了台电脑后,有版本强迫症,装了sql server 2008 r2,我记得我装的时候选择的是混合登陆,可是安装完后,用户sa是禁止的,于是将我之前所做的项目搬到新机器后一连接后就出现了标题中的错误。

        网上查了开启sa的方法,毫无遗漏地试过了几遍还是不行,最后找到了解决方法,就是连接信息格式改成:

        connectionString="Data Source=.\\sqlexpress;Initial Catalog=数据库;uid=sa;pwd=123456";

        可我原来是这么写的:    

        connectionString="server=localhost;database=数据库;uid=sa;pwd=123456");

        而且,为了不让sql server开机启动服务占我电脑资源,我把它的一些服务都禁止开机启动。原来的当我想要使用sql server 2008的时候,我是开启这个服务:MSSQLSERVER

        现在我需要启动的是这个服务:

        后来我发现可以这么写:SQLEXPRESS

        connectionString="server=localhost\\sqlexpress;database=数据库;uid=sa;pwd=123456");

        现在,可以彻底解决疑惑了,原来这两个服务的区别是,一个是默认实例服务,另一个是命名实例服务,默认实例的连接服务名称可以写local、localhostip地址,而命名实例则必须在后面加多一个\(在字符串中注意要转义)本机器名或者实例名,而导致我现在得那么写正式因为我使用了命名实例。


你可能感兴趣的:(解决sql server 2008 r2无法打开登录所请求的数据库“xxx”,用户sa登录失败)