求助:无法从Visual Studio 2017连接本地SQL Server 2014
解决VS2017连接SQL Server 2014 Express数据库的问题
结合你描述的情况——能在SQL Server对象资源管理器连接PCname\SQLEXPRESS,但在VS的数据连接或添加本地数据库时出错,我给你整理了几个针对性的排查和解决步骤:
1. 先排查LocalDB的问题
你用(LocalDB)\MSSQLLocalDB连接时出错,大概率是这个LocalDB实例状态异常或者没正确安装:
- 打开命令提示符(以管理员身份),运行:
如果返回“实例不存在”,就创建它:sqllocaldb info MSSQLLocalDB
如果状态是sqllocaldb create MSSQLLocalDBStopped,就启动它:sqllocaldb start MSSQLLocalDB - 另外,SQL Server 2014对应的LocalDB版本是12.0,你可以用
sqllocaldb versions确认版本是否匹配,不匹配的话可能需要单独下载安装对应版本的LocalDB。
2. 确认数据连接的身份验证方式
你在SQL Server对象资源管理器能连PCname\SQLEXPRESS,但数据连接里不行,很可能是身份验证方式不一致:
- 打开VS的「工具>连接到数据库」,选择
PCname\SQLEXPRESS作为服务器名称后,一定要选「Windows身份验证」——SQL Server Express默认是禁用SQL Server身份验证的,如果你选错了就会报错。
3. 启用SQL Server的TCP/IP协议
有时候即使是本地连接,TCP/IP未启用也会导致VS的数据连接工具无法识别:
- 打开SQL Server配置管理器(在开始菜单搜索就能找到),展开「SQL Server网络配置」,找到「SQLEXPRESS的协议」;
- 右键「TCP/IP」,选择「启用」;
- 双击「TCP/IP」打开属性,切换到「IP地址」标签,拉到最下面的「IPALL」,把「TCP端口」设为
1433; - 重启「SQL Server(SQLEXPRESS)」服务(在「SQL Server服务」里找到它,右键重启)。
4. 手动配置连接字符串替代自动添加
如果在App_Data添加数据库文件始终失败,不如换个思路:
- 先在SQL Server对象资源管理器里,通过
PCname\SQLEXPRESS创建你需要的数据库; - 打开项目的
web.config(Web项目)或app.config(桌面项目),手动添加连接字符串:<connectionStrings> <add name="YourDBConnection" connectionString="Data Source=PCname\SQLEXPRESS;Initial Catalog=你的数据库名称;Integrated Security=True;" providerName="System.Data.SqlClient" /> </connectionStrings> - 之后在项目里直接引用这个连接字符串即可,不用再走「添加>新建项>SQL Server数据库」的流程。
5. 更新VS2017的相关组件
你虽然修复了VS,但可能组件不是最新的:
- 打开VS2017,点击「工具>扩展和更新」,切换到「更新」标签,安装所有可用的更新,尤其是SQL Server工具相关的更新。
6. 检查App_Data文件夹的权限
如果是Web项目,添加数据库到App_Data时权限不足也会报错:
- 右键项目里的App_Data文件夹,选择「属性>安全」;
- 给当前登录用户添加「完全控制」权限(至少要有读写权限),然后应用设置。
先从前面2个简单的步骤开始试,不行再往下走,应该能解决你的问题。
内容的提问来源于stack exchange,提问作者SANM2009
相关产品推荐
相关产品推荐

