關於LOCALDB的詳細文檔說明,包含安裝,鏈接,共享鏈接等操做 https://technet.microsoft.com/zh-cn/hh510202sql
目的:數據庫
調試程序沒有安裝 sql server時,可使用localdb.這是一個簡易的sql server數據庫,用於本地測試是很方便,省去安裝SQL SERVER的工做瀏覽器
環境:服務器
安裝了VS2013 VS2015 MSSM2016,但沒有安裝sql server. W10系統工具
安裝:localdb測試
安裝VS2015以後,就有了localdb2016 VS2013大概是2014 ,ui
另外localdb2014有單獨的安裝包,而2016則沒找到.VS2015的安裝包裏有LOCALDB2016的MSI文件,可是安裝以後卻沒法使用.spa
使用命令查看版本,以下:3d
使用:調試
瞭解到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
最後,在瀏覽器中打開程序,發現鏈接成功,網頁打開了..