使用MSSM管理工具登录LOCALDB

Posted MirrorSpace

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用MSSM管理工具登录LOCALDB相关的知识,希望对你有一定的参考价值。

关于LOCALDB的详细文档说明,包含安装,连接,共享连接等操作  https://technet.microsoft.com/zh-cn/hh510202

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-express-localdb?view=sql-server-ver15

目的:

  调试程序没有安装 sql server时,可以使用localdb.这是一个简易的sql server数据库,用于本地测试是很方便,省去安装SQL SERVER的工作

环境:

  安装了VS2013 VS2015 MSSM2016,但没有安装sql server.    W10系统

安装:localdb

     安装VS2015之后,就有了localdb2016 VS2013大概是2014 ,

   另外localdb2014有单独的安装包,而2016则没找到.VS2015的安装包里有LOCALDB2016的MSI文件,但是安装之后却无法使用.

     使用命令查看版本,如下:

  

使用:

  了解到localdb这个东西已经安装了,但一时不知道如何使用.网上找答案使用方式如下:

1.打开CMD,使用sqllocaldb.exe 这个命令

   sqllocaldb.exe i  // 查看已经有的localdb的实例

   sqllocaldb.exe v // 电脑上安装的localdb的所有版本

   sqllocaldb.exe s [实例名] // 启动这个实例

   sqllocaldb.exe -? // 这个命令的帮助信息 

2.如何使用MSSM连接这个实例:

   打开MSSM,服务器名称那里输入   (localdb)\\MSSQLLocalDB   // 括号里面是 localdb 这个可能是固定的,我没改 反扛后面就是实例的名字.

    然后就连接上了,可以建库建数据了

    

3.这个连接字符串的server值也要写成这种

   server=(localdb)\\MSSQLLocalDB

4.连接串:

         在ASP.NET程序中配置的连接字符串如下: 

   // 指定连接到这个数据库文件MDF

     Server=(LocalDB)\\MSSQLLocalDB; Integrated Security=true;AttachDbFileName=D:\\Data\\MyDB1.mdf

        // 不指定到MDF文件路径,指定默认数据库名

        Server=(LocalDB)\\MSSQLLocalDB; Integrated Security=true;Initial Catalog=MyDB1"

    // 类似第一种

        Data Source=(localdb)\\MSSQLLocalDB;Integrated Security=true;AttachDbFileName=D:\\Data\\MyDB1.mdf

    // 指定用户名和密码(目前使用这是这种,简单明了)

        server=(localdb)\\MSSQLLocalDB;uid=sa;pwd=123456;Initial Catalog=MyDB1

   使用这几种连接串在VS中使用IISEXPRESS调试时,没有问题,但是发布到IIS中,却连接不上数据库.因为访问权限的问题.细节请看文章第一行链接.

    解决办法是:

  1.将应用程序池的权限改为localsystem 这个投机的办法,比较省事.但是问题还是很多.

  2.打开LocalDB 实例共享:(这个总结起来就是,给LOCALDB开共享实例,给LOCALDB设定连接帐号,这是测试可行的办法)

            给LOCALDB开共享实例

            // MSSQLLocalDB:实例名 mylocaldb 为实例名取的共享实例别名,其它帐户连接时通过这个别名 (命令窗口要使用管理员权限那种)

            >sqllocaldb h "MSSQLLocalDB" "mylocaldb"

           // 使用MSSM连接工具连接时,也要使用管理员权限打开.实例名变成   (localdb)\\.\\mylocaldb   第一个\\后面的.\\mylocaldb 就是共享实例别名

               为什么上面的MSSM要使用管理员工具打开,因为下面的验证方式是帐号密码形式的,如果使用WINDOWS验证,则不需要.

      

 

     给LOCALDB设定连接帐号

               到这步之后,将WEB程序的连接字符串写成指定帐号和密码的这种,结果依然不能访问,还是没有权限,

                            server=(localdb)\\.\\mylocaldb;uid=sa;pwd=123456;AttachDbFileName=D:\\Data\\MyDB1.mdf

               查看数据库帐号,发现LOCALDB并没有SA这个帐号,于是加上它,并且给于 DB_OWNER

            

    最后,在浏览器中打开程序,发现连接成功,网页打开了..

   

以上是关于使用MSSM管理工具登录LOCALDB的主要内容,如果未能解决你的问题,请参考以下文章

自动段空间管理(ASSM)和 手动段空间管理(MSSM)

怎么卸载Microsoft SQL Server 2012LocalDB

SqlServer删除登录账户

SQL Server 2012 LocalDB 管理之旅(转)

LocalDB的使用方法

如何将 LocalDB 添加到 Visual Studio 2015 社区的 SQL Server 对象资源管理器?