日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

LocalDB的使用详解

發(fā)布時(shí)間:2023/12/8 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LocalDB的使用详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

LocalDB是什么

我們知道微軟有一個(gè)SQL Server的免費(fèi)版本SQL Server Express,它是作為學(xué)習(xí)以及構(gòu)建桌面或小型服務(wù)器應(yīng)用的入門(mén)級(jí)的免費(fèi)數(shù)據(jù)庫(kù)。但是作為編程人員,還是覺(jué)得體積過(guò)大。所以微軟為開(kāi)發(fā)者量身定制了一款專門(mén)用于編程開(kāi)發(fā)的小數(shù)據(jù)庫(kù)SQL Server Express LocalDB(實(shí)際上就是從SQL Server Express中抽離出來(lái)的)。

下載和安裝LocalDB

如果你使用Visual Studio開(kāi)發(fā),那么恭喜你Visual Studio從2012版本開(kāi)始就自帶了LocalDB。

比如我的VS2017中就帶了LocalDB。

如果你覺(jué)得Visual Studio體積太大了(吃了我好幾個(gè)G),不想安裝這個(gè)巨無(wú)霸,那么可以從https://www.microsoft.com/en-us/sql-server/sql-server-downloads下載一個(gè)Express版本的下載器:!

選擇LocalDB單獨(dú)下載

下載完成后只有一個(gè)44M的安裝包(很小(⊙o⊙)哦)。

安裝過(guò)程很簡(jiǎn)單這里就不演示了。

注意:

安裝完成后,LocalDB就可以創(chuàng)建并打開(kāi)數(shù)據(jù)庫(kù)了,系統(tǒng)默認(rèn)的數(shù)據(jù)庫(kù)文件會(huì)存儲(chǔ)在用戶的AppData下,比如C:\Users\Administrator\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances,該目錄下是數(shù)據(jù)庫(kù)實(shí)例,我們可以用SqlLocalDB命令行工具類(lèi)管理數(shù)據(jù)庫(kù)實(shí)例。

sqllocaldb工具的參考文檔:https://docs.microsoft.com/en-us/sql/tools/sqllocaldb-utility

使用sqllocaldb命令行工具管理數(shù)據(jù)庫(kù)實(shí)例

命令行工具很好用,所有的文檔都是中文的:

C:\>sqllocaldb /? Microsoft (R) SQL Server Express LocalDB 命令行工具 版本 13.0.1601.5 版權(quán)所有(C) Microsoft Corporation。保留所有權(quán)利。用法: SqlLocalDB 操作 [parameters...]操作:-?打印此信息create|c ["instance name" [version-number] [-s]]使用指定的名稱和版本創(chuàng)建新的 LocalDB 實(shí)例如果忽略 [version-number] 參數(shù),則它默認(rèn)為系統(tǒng)中安裝的最新 LocalDB 版本。-s 創(chuàng)建后啟動(dòng)新的 LocalDB 實(shí)例delete|d ["instance name"]刪除具有指定名稱的 LocalDB 實(shí)例start|s ["instance name"]啟動(dòng)具有指定名稱的 LocalDB 實(shí)例stop|p ["instance name" [-i|-k]]當(dāng)前查詢完成后,停止具有指定名稱的 LocalDB 實(shí)例-i 使用 NOWAIT 選項(xiàng)請(qǐng)求關(guān)閉 LocalDB 實(shí)例-k 在不與之聯(lián)系的情況下終止 LocalDB 實(shí)例進(jìn)程share|h ["owner SID or account"] "專用名稱" "共享名稱"使用指定的共享名稱共享指定的專用實(shí)例。如果省略了用戶 SID 或帳戶名稱,它將默認(rèn)為當(dāng)前用戶。unshare|u ["shared name"]停止共享指定的共享 LocalDB 實(shí)例。info|i列出當(dāng)前用戶所擁有的所有現(xiàn)有 LocalDB 實(shí)例以及所有共享的 LocalDB 實(shí)例。info|i "實(shí)例名稱"打印有關(guān)指定的 LocalDB 實(shí)例的信息。versions|v列出在計(jì)算機(jī)上安裝的所有 LocalDB 版本。trace|t on|off打開(kāi)或關(guān)閉跟蹤SqlLocalDB 將空格作為分隔符處理。需要用引號(hào)將 包含空格和特殊字符的實(shí)例名稱引起來(lái)。 例如:SqlLocalDB create "My LocalDB Instance"如上所述,有時(shí)可以省略實(shí)例名稱,或者 將其指定為 ""。在這種情況下,引用的是默認(rèn)的 LocalDB 實(shí)例 "MSSQLLocalDB"

創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例

C:\>sqllocaldb create MyLocalDB 已使用版本 13.1.4001.0 創(chuàng)建 LocalDB 實(shí)例“MyLocalDB”。

如果你電腦里裝了多個(gè)版本的LocalDB那你還需要指定LocalDB的版本

命令執(zhí)行完成后就會(huì)在C:\Users\Administrator\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances創(chuàng)建一個(gè)文件夾保存該實(shí)例的數(shù)據(jù)庫(kù)文件。

啟動(dòng)并查看數(shù)據(jù)庫(kù)實(shí)例信息

C:\>sqllocaldb create MyLocalDB 已使用版本 13.1.4001.0 創(chuàng)建 LocalDB 實(shí)例“MyLocalDB”。C:\>sqllocaldb start MyLocalDB LocalDB 實(shí)例“MyLocalDB”已啟動(dòng)。C:\>sqllocaldb info MyLocalDB 名稱: MyLocalDB 版本: 13.1.4001.0 共享名稱: 所有者: DESKTOP-DQJB4BI\Holmofy 自動(dòng)創(chuàng)建: 否 狀態(tài): 正在運(yùn)行 上次啟動(dòng)時(shí)間: 2017/9/9 17:23:40 實(shí)例管道名稱: np:\\.\pipe\LOCALDB#BC6488BE\tsql\query C:\>tasklist | find "sql" sqlwriter.exe 15488 Services 0 7,364 K sqlservr.exe 13680 Console 1 170,684 K

這里的sqlservr進(jìn)程就是LocalDB的后臺(tái)進(jìn)程,這個(gè)exe文件就在LocalDB的安裝目錄下:C:\Program Files\Microsoft SQL Server\130\LocalDB\Binn。

共享數(shù)據(jù)庫(kù)實(shí)例

為了支持多個(gè)計(jì)算機(jī)用戶連接到單個(gè)LocalDB實(shí)例,可以使用sqllocaldb share命令選擇允許計(jì)算機(jī)上的其他用戶連接到該實(shí)例,注意不是將實(shí)例共享給其他計(jì)算機(jī)(跟網(wǎng)絡(luò)沒(méi)啥關(guān)系),所以這個(gè)功能很雞肋。

連接LocalDB

1、 客戶端應(yīng)用連接

使用sqlcmd命令行(前身是osql)工具連接。

1、 安裝:如果你使用VS,這個(gè)工具又可以不用安裝了,VS自帶(SQLServer Manager Studio中也自帶了)。

如果你追求簡(jiǎn)潔,這里也有sqlcmd的下載地址:https://www.microsoft.com/en-us/download/details.aspx?id=53591,只有3M不到放心的下吧

不過(guò)這個(gè)軟件還依賴于odbc驅(qū)動(dòng),下載鏈接:https://www.microsoft.com/en-us/download/details.aspx?id=53339,這個(gè)也不超過(guò)4M。

安裝完成后可以使用了:

C:\>sqlcmd /? Microsoft (R) SQL Server Command Line Tool Version 13.1.811.168 NT Copyright (c) 2015 Microsoft. All rights reserved.usage: Sqlcmd [-U login id] [-P password][-S server] [-H hostname] [-E trusted connection][-N Encrypt Connection][-C Trust Server Certificate][-d use database name] [-l login timeout] [-t query timeout][-h headers] [-s colseparator] [-w screen width][-a packetsize] [-e echo input] [-I Enable Quoted Identifiers][-c cmdend] [-L[c] list servers[clean output]][-q "cmdline query"] [-Q "cmdline query" and exit][-m errorlevel] [-V severitylevel] [-W remove trailing spaces][-u unicode output] [-r[0|1] msgs to stderr][-i inputfile] [-o outputfile] [-z new password][-f <codepage> | i:<codepage>[,o:<codepage>]] [-Z new password and exit][-k[1|2] remove[replace] control characters][-y variable length type display width][-Y fixed length type display width][-p[1] print statistics[colon format]][-R use client regional setting][-K application intent][-M multisubnet failover][-b On error batch abort][-v var = "value"...] [-A dedicated admin connection][-X[1] disable commands, startup script, environment variables [and exit]][-x disable variable substitution][-j Print raw error messages][-g enable column encryption][-G use Azure Active Directory for authentication][-? show syntax summary]

使用sqlcmd連接MyLocalDB:

C:\>sqllocaldb start MyLocalDB LocalDB 實(shí)例“MyLocalDB”已啟動(dòng)。C:\>sqlcmd -S (localdb)\MyLocalDB 1> :help :!! [<command>]- Executes a command in the Windows command shell. :connect server[\instance] [-l timeout] [-U user [-P password]]- Connects to a SQL Server instance. :ed- Edits the current or last executed statement cache. :error <dest>- Redirects error output to a file, stderr, or stdout. :exit- Quits sqlcmd immediately. :exit()- Execute statement cache; quit with no return value. :exit(<query>)- Execute the specified query; returns numeric result. go [<n>]- Executes the statement cache (n times). :help- Shows this list of commands. :list- Prints the content of the statement cache. :listvar- Lists the set sqlcmd scripting variables. :on error [exit|ignore]- Action for batch or sqlcmd command errors. :out <filename>|stderr|stdout- Redirects query output to a file, stderr, or stdout. :perftrace <filename>|stderr|stdout- Redirects timing output to a file, stderr, or stdout. :quit- Quits sqlcmd immediately. :r <filename>- Append file contents to the statement cache. :reset- Discards the statement cache. :serverlist- Lists local and SQL Servers on the network. :setvar {variable}- Removes a sqlcmd scripting variable. :setvar <variable> <value>- Sets a sqlcmd scripting variable.

sqlcmd中除了可以輸入T-SQL語(yǔ)句,還有很多內(nèi)建命令:

GO [count]:List
[:] RESET:Error
[:] ED:Out
[:] !!:Perftrace
[:] QUIT:Connect
[:] EXIT:On Error
:r:Help
:ServerList:XML [ON | OFF]
:Setvar:Listvar

其中除 GO 以外,所有 sqlcmd 命令必須以冒號(hào) (:) 為前綴。

不過(guò)為了保持現(xiàn)有 osql 腳本的向后兼容性,有些命令會(huì)被視為不帶冒號(hào)。 這由 [:] 指示。

更多命令的詳細(xì)參考可以參考官方文檔:https://docs.microsoft.com/zh-cn/sql/tools/sqlcmd-utility

使用navicat連接

如果你喜歡圖形界面,可能會(huì)首先想到微軟自己的推出的SQL Server Management Studio,SSMS集成了一大堆的工具,包括配置、監(jiān)控、管理SQLServer實(shí)例等等(上面說(shuō)的sqlcmd也包括在內(nèi)),但是八百多兆的安裝包,你實(shí)際用到的功能少得可憐。個(gè)人推薦使用navicat premium,首先就是因?yàn)樗梢赃B接各種數(shù)據(jù)庫(kù),不單單局限于SQLServer,navicat premium下載百度一下隨處都有。不過(guò)SSMS下載鏈接我也扔這了,你自己選擇,https://docs.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms

不過(guò)使用navicat等圖形界面客戶端需要Native Client依賴庫(kù),不過(guò)在官網(wǎng)找了一下,發(fā)現(xiàn)SQLServer 2016等版本都是使用SQLServer2012的Native Client依賴庫(kù),所以下載時(shí)候不要因?yàn)榘姹静灰粯佣惺裁匆蓱]。sqlncli.msi依賴:https://www.microsoft.com/zh-cn/download/details.aspx?id=50402。

創(chuàng)建數(shù)據(jù)庫(kù)

這部分就屬于T-SQL語(yǔ)言的部分了,忘記了趕快翻大學(xué)課本回憶一下:

CREATE DATABASE [MyFirstDB] ON PRIMARY (NAME = 'MyFirstDB',FILENAME = 'C:\Users\Administrator\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MyLocalDB\MyFirstDB.ndf',SIZE = 8192KB,MAXSIZE = UNLIMITED,FILEGROWTH = 65536KB ) LOG ON (NAME = 'MyFirstDB_log',FILENAME = 'C:\Users\Administrator\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MyLocalDB\MyFirstDB_log.ldf',SIZE = 8192KB,MAXSIZE = UNLIMITED,FILEGROWTH = 65536KB )

需要注意的是SQLServer在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候不能和model database有任何連接,不然就會(huì)創(chuàng)建數(shù)據(jù)庫(kù)失敗。model database是其他數(shù)據(jù)庫(kù)創(chuàng)建的模板,這里有對(duì)model database的詳細(xì)介紹:https://docs.microsoft.com/en-us/sql/relational-databases/databases/model-database

最后貼一個(gè)微軟官方在Github上提供的各語(yǔ)言的SQLServer連接的Demo:

https://github.com/Azure/azure-sql-database-samples

參考鏈接 :

MSDN:

  • https://docs.microsoft.com/zh-cn/sql/sql-server/editions-and-components-of-sql-server-2016
  • https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-2016-express-localdb

總結(jié)

以上是生活随笔為你收集整理的LocalDB的使用详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。