LOCALDB安裝和連線
關於LOCALDB的詳細文件說明,包含安裝,連線,共享連線等操作 https://technet.microsoft.com/zh-cn/hh510202
目的:
除錯程式沒有安裝 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
最後,在瀏覽器中開啟程式,發現連線成功,網頁打開了..