问题背景:VS2012默认用的数据库是localdb。最近的一段时间里做了许多的asp.net mvc的练习,尤其是在用mvc3(mvc4)的internet模版创建项目的时候是默认带了一个账号注册登录功能的,里面的用户数据存在于localdb当中。外加上自己创建的许多带数据库的项目,这样一来在localdb里面就会慢慢积攒很多很多的数据库。当然自己创建的项目或许只是些Demo而已,我觉的没用的就删掉了,有的则集中保存已备后用。这就产生了两种情况:一是mdf文件删除,而是mdf文件路径改变。今天我在项目中创建数据库连接,服务器依旧是(localdb)\v11.0。当选择具体的数据库的时候发现下拉列表下展示了太多的可选数据库,好多都是很久以前废弃的,实在很碍眼。
第一步: 进入localdb的命令行工具,我试图查看localdb下存在的所有的数据库然后再把没用的删除掉(关于cmd下操作localdb的基本使用)。在cmd下使用的是sqllocaldb.exe工具。通过查看帮助(sqllocaldb /?),发现根本没几个可用的方法。创建实例,删除实例,查看当前实例的状态信息,就这几个还比较常用的命令。甚至当前实例下的数据库也没法查看,更别说删除了。
第二步: 使用命令行工具我实在是找不到办法进行数据库的操作了,希望有办法的朋友能指点一下。我有尝试用了Database4.exe,用以连接我的localdb然后试着进行一些操作。在里面我能图形化的找到localdb上的所有的数据库,其实这个工具跟在vs2012里面建立一个数据库连接是一样的,只是简化了一下操作而已。就像前面所说的,很多我已经删除的,或者改变路径的数据库名称都会展示出来,当然如果你要打开,就会弹出警告说找不到数据库文件。在这里面所做的操作只能是对数据库级别一下的对象进行操作,创建表或删除表之类的,依旧是没法对那些残余的数据库(应该是数据库引用更恰当一些)进行删除操作。
没办法了,希望院子里的大牛能指点一二。为了能把问题跟后面的解决方案统一起来,还是决定写个文章。我还在查找答案,希望能尽快解决....
---------------------------后续更新----------------------------
今天晚上趁Boss空闲,问了一下上面的问题,结果轻松解决。
归根结底还是没有找对工具啊,下载一个sqlserver 2012 express,安装后里面有一个SQL Server Management Studio工具。在里面便可以随便的删除前面所产生的数据库连接的信息。