LocalDB导致Sql Server远程过程调用失败

问题:当安装完Visual Studio 2012之后,打开Sql Server Configruation Manager (Sql Server 配置管理器),会发现原先用于显示所有已经安装的Sql 实例的“Sql Server服务”一栏显示的却是“远程过程调用失败”。


原因:Visual Studio 2012的安装过程会附带安装SqlLocalDB(Sql Server 2012中推出的一个新的轻量级开发数据库,VS 2012新的体系架构图就是用了这个数据库),这个和原先的Sql Server 版本会有一点冲突(目前除了发现Configuration Manager显示不正常外,其它问题暂时没遇到)。

图 1:Configuration Manager显示远程过程调用失败


图 2:VS 2012中的“添加新关系图”功能


图 3:VS 2012中根据项目结构自动生成的关系图



解决方案:如果你暂时不使用VS 2012来生成体系架构图,那么可以通过控制面板 ->“程序和功能”-> 卸载LocalDB的方式。卸载后直接刷新Configuration Manager的界面就可以显示正常。

图 4:卸载LocalDB


图 5:Sql Server 服务恢复正常



事情并没有结束,伴随着LocalDB的卸载,VS 2012根据项目自动生成体系架构图的功能将无法再使用。你将会看到错误提示说:

无法连接到指定的数据库。


尝试使用以下连接字符串连接数据库时出现异常:

 Data Source=(LocalDB)\v11.0;AttachDbFilename=;Initial Catalog=master;Integrated Security=True;Enlist=False;Asynchronous Processing=True;MultipleActiveResultSets=True;Connect Timeout=30。


请检查指定的 SQL Server 实例是否存在,且服务是否在运行。


图 6:生成架构图时出错,提示无法连接到指定的数据库


如果想要重新启用架构图,那只要重新安装LocalDB就行了(选择CHS\x64\SqlLocalDB.MSI即可)。


可惜的是,目前还没有找到让鱼与熊掌兼得的办法,如果您有办法,请不吝赐教~

文章索引

[隐 藏]

本站采用知识共享署名 3.0 中国大陆许可协议进行许可。 ©2014 Charley Box | 关于本站 | 浙ICP备13014059号