zl程序教程

您现在的位置是:首页 >  其他

当前栏目

LOCALDB安装和连接

2023-09-27 14:25:26 时间

原文: https://www.cnblogs.com/mirrortom/p/5946817.html

目的:

  调试程序没有安装 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

            

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

 


使用sqllocaldb命令行工具管理数据库实例

LocalDb是SqlServer Express版本的轻量级版本,用于植入到visual studio应用程序中去。
调试程序没有安装 sql server时,可以使用localdb.这是一个简易的sql server数据库,用于本地测试是很方便,省去安装SQL SERVER的工作。

LocalDB数据库实例查找

安装好LocalDB后,默认有个实例名注意vs2015前默认实例名“v11.0”,之后为“mssqllocaldb”
查看LocalDB实例存放的位置%Localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances,其下的每个文件加都是一个LocalDB实例,
如mssqllocaldb文件夹下主要包含:系统数据文档(master、model、msdb、tempdb)、错误记录、记录追踪、加密密钥等
注意这里不包含用户数据库
用户数据可以放在任意位置,如果在创建时为指定路径默认创建在%userprofile%目录下

连接LocalDB

LocalDB连接的服务器名称为(localdb)\实例名称,可以使用sql server的“windows 身份验证”连接服务。
在.net网站下设置web.config的connectionstring可为:
Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\EShop.mdf;Integrated Security=SSPI;"
注意最好指明AttachDbFilename,如果指明Initial Catalog(数据库名称)则创建的数据库在%userprofile%目录下增加麻烦

管理LocalDB

通过SqlLocalDB.exe管理LocalDB;可以在cmd下通过where sqllocaldb.exe搜索路径

命令 作用
sqllocaldb.exe start 实例名 启动数据库实例
sqllocaldb.exe info 实例名 查询数据库实例信息
sqllocaldb.exe stop 实例名 关闭数据库实例
sqllocaldb.exe create 实例名 创建数据库实例
sqllocaldb.exe info 列出所有数据库实例
sqllocaldb.exe delete 实例名 删除数据库实例