Sdílet prostřednictvím


SQL Server Express LocalDB

platí pro:SQL Server

Microsoft SQL Server Express LocalDB je funkce SQL Serveru Express určená pro vývojáře. Je k dispozici v edici SQL Server Express s pokročilými službami. V SQL Serveru 2025 (17.x) a novějších verzích je k dispozici v edici SQL Server Express.

Instalace LocalDB zkopíruje minimální sadu souborů potřebných ke spuštění databázového stroje SQL Serveru. Po instalaci LocalDB můžete zahájit připojení pomocí speciálního připojovacího řetězce. Po připojení se automaticky vytvoří a spustí nezbytná infrastruktura SQL Serveru, která aplikaci umožní používat databázi bez složitých úloh konfigurace. Vývojářské nástroje můžou vývojářům poskytnout databázový stroj SQL Serveru, který jim umožňuje psát a testovat Transact-SQL kód, aniž by museli spravovat úplnou instanci serveru SQL Serveru.

Instalační médium

LocalDB je funkce, kterou vyberete během instalace SQL Serveru Express a je k dispozici při stahování média. Pokud médium stáhnete, zvolte Express Advanced, nebo balíček LocalDB.

Zákazníci používající sadu Visual Studio 2019 a Visual Studio 2022 by měli nainstalovat edici SQL Server 2019 Express.

Instalační program SqlLocalDB.msi LocalDB je k dispozici v instalačním médiu pro všechny edice s výjimkou Express Core. Nachází se ve <installation_media_root>\<LCID>_ENU_LP\x64\Setup\x64 složce. LCID je identifikátor národního prostředí nebo kód jazyka. Například hodnota LCID 1033 odkazuje na en-US národní prostředí.

Alternativně můžete nainstalovat LocalDB prostřednictvím instalačního programu sady Visual Studio v rámci úlohy ukládání a zpracování dat , úlohy ASP.NET a vývoje webu nebo jako jednotlivé komponenty.

Nainstalujte LocalDB

Nainstalujte LocalDB prostřednictvím průvodce instalací nebo pomocí SqlLocalDB.msi programu. LocalDB je možnost při instalaci SQL Server Express LocalDB.

Během instalace vyberte LocalDB na stránce Výběr funkcí nebo Sdílené funkce . Pro každou hlavní verzi databázového stroje SQL Serveru může existovat pouze jedna instalace binárních souborů LocalDB. Je možné spustit více procesů databázového stroje a všechny používají stejné binární soubory. Instance databázového stroje SQL Serveru spuštěná jako LocalDB má stejná omezení jako SQL Server Express.

Instance SQL Server Express LocalDB je spravována pomocí SqlLocalDB.exe nástroje. SQL Server Express LocalDB by se měl používat místo funkce instance uživatele SQL Server Express, která byla zastaralá.

Popis

Instalační program LocalDB používá SqlLocalDB.msi program k instalaci potřebných souborů do počítače. Po instalaci je LocalDB instancí SQL Serveru Express, která může vytvářet a otevírat databáze SQL Serveru. Systémové soubory pro databázi jsou uloženy na místní cestě AppData, která je obvykle skrytá. Například: C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. Soubory uživatelské databáze se ukládají tam, kde uživatel určí, obvykle někde ve C:\Users\<user>\Documents\ složce.

Další informace o zahrnutí LocalDB do aplikace naleznete v tématu Přehled místních dat sady Visual Studio, Vytvoření databáze a přidání tabulek v sadě Visual Studio.

Další informace o rozhraní LocalDB API naleznete v tématu SQL Server Express LocalDB reference.

Nástroj SqlLocalDB může vytvořit nové instance LocalDB, spustit a zastavit instanci LocalDB a obsahuje možnosti, které vám pomůžou spravovat LocalDB. Další informace o SqlLocalDB nástroji naleznete v nástroji SqlLocalDB.

Kolace instance pro LocalDB je nastavená SQL_Latin1_General_CP1_CI_AS a nelze ji změnit. Kolace na úrovni databáze, sloupců a výrazů se podporují běžně. Databáze s omezením se řídí pravidly metadat a tempdb kolace definovanými kolacemi databáze s omezením.

Omezení

  • LocalDB nejde spravovat vzdáleně přes SQL Server Management Studio.

  • LocalDB nemůže být předplatitelem replikace sloučení.

  • LocalDB nepodporuje FILESTREAM.

  • LocalDB umožňuje pouze místní fronty pro Service Broker.

  • Instance služby LocalDB vlastněná integrovanými účty, například NT AUTHORITY\SYSTEM, může mít problémy s možnostmi správy kvůli přesměrování souborového systému Windows. Místo toho jako vlastníka použijte normální účet Systému Windows.

Automatické a pojmenované instance

LocalDB podporuje dva druhy instancí: automatické instance a pojmenované instance. Různí uživatelé počítače můžou mít instance se stejným názvem. Každá instance se spouští jako příslušný uživatel ve vlastním procesu.

Automatické instance

Automatické instance LocalDB jsou veřejné. Automaticky se vytvářejí a spravují pro uživatele a můžou je používat libovolná aplikace. Jedna automatická instance LocalDB existuje pro každou verzi LocalDB nainstalovanou na počítači uživatele. Automatické instance LocalDB poskytují bezproblémovou správu instancí. Není nutné vytvořit instanci; to prostě funguje. Tato funkce umožňuje snadnou instalaci a migraci aplikací do jiného počítače. Pokud má cílový počítač nainstalovanou zadanou verzi LocalDB, je automatická instance LocalDB pro danou verzi dostupná i na cílovém počítači. Automatické instance LocalDB mají speciální vzor pro název instance, který patří do vyhrazeného oboru názvů. Automatické instance brání konfliktům názvů s pojmenovanými instancemi LocalDB. Název automatické instance je MSSQLLocalDB.

Pojmenované instance

Pojmenované instance LocalDB jsou privátní. Vlastníkem je jedna aplikace, která zodpovídá za vytváření a správu instance. Pojmenované instance poskytují izolaci od jiných instancí a můžou zlepšit výkon snížením kolize prostředků s jinými uživateli databáze. Pojmenované instance musíte vytvořit explicitně prostřednictvím rozhraní API pro správu LocalDB nebo implicitně prostřednictvím app.config souboru pro spravovanou aplikaci (i když spravovaná aplikace může v případě potřeby rozhraní API používat). Každá pojmenovaná instance LocalDB má přidruženou verzi LocalDB, která odkazuje na příslušnou sadu binárních souborů LocalDB. Název instance localDB je datový typ sysname a může mít až 128 znaků. (Tento název instance se liší od běžných pojmenovaných instancí SQL Serveru, což omezuje názvy na běžné názvy rozhraní NetBIOS s 15 znaky ASCII.) Název instance LocalDB může obsahovat všechny znaky Unicode, které jsou v názvu souboru právní. Pojmenovaná instance, která používá automatický název instance, se stane automatickou instancí.

Sdílené instance LocalDB

Pro podporu scénářů, kdy se k jedné instanci LocalDB musí připojit více uživatelů počítače, podporuje LocalDB sdílení instancí. Vlastník instance může zvolit, aby ostatní uživatelé v počítači mohli instanci připojit. Automatické i pojmenované instance LocalDB je možné sdílet. Pokud chcete sdílet instanci LocalDB, uživatel pro ni vybere sdílený název (alias). Vzhledem k tomu, že sdílený název je viditelný pro všechny uživatele počítače, musí být tento sdílený název v počítači jedinečný. Sdílený název instance LocalDB má stejný formát jako pojmenovaná instance LocalDB.

Sdílenou instanci LocalDB může vytvořit pouze správce v počítači. Sdílenou instanci LocalDB může zrušit správce nebo vlastník sdílené instance LocalDB. Pokud chcete sdílet a zrušit sdílení instance LocalDB, použijte LocalDBShareInstance a LocalDBUnShareInstance metody rozhraní LocalDB API nebo sdílené a nesdílené možnosti SqlLocalDB nástroje.

Spusťte LocalDB a připojte se k LocalDB.

Tato část popisuje, jak se připojit k automatické instanci, pojmenované instanci nebo sdílené instanci.

Připojte se k automatické instanci

Nejjednodušší způsob, jak použít LocalDB, je připojit se k automatické instanci vlastněné aktuálním uživatelem pomocí připojovacího řetězce Server=(localdb)\MSSQLLocalDB;Integrated Security=true. Pokud se chcete připojit ke konkrétní databázi pomocí názvu souboru, připojte se pomocí připojovacího řetězce podobného Server=(LocalDB)\MSSQLLocalDB;Integrated Security=true;AttachDbFileName=D:\Data\MyDB1.mdf.

Poznámka:

Při prvním pokusu uživatele v počítači o připojení k LocalDB musí být automatická instance vytvořena i spuštěna. Dodatečný čas vytvoření instance může způsobit selhání pokusu o připojení se zprávou o vypršení časového limitu. Když k tomu dojde, počkejte několik sekund, aby se proces vytvoření dokončil, a pak se znovu připojte.

Vytvoření a připojení k pojmenované instanci

Kromě automatické instance podporuje LocalDB také pojmenované instance. SqlLocalDB.exe Pomocí programu můžete vytvořit, spustit a zastavit pojmenovanou instanci LocalDB. Další informace o SqlLocalDB.exenástroji SqlLocalDB.

REM Create an instance of LocalDB
"C:\Program Files\Microsoft SQL Server\160\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1
REM Start the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\160\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1
REM Gather information about the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\160\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1

Poslední řádek v předchozí ukázce kódu vrátí informace podobné následující tabulce.

Kategorie Hodnota
název LocalDBApp1
Verze <Current version>
Sdílený název ""
Vlastník <Your Windows user>
Automatické vytvoření No
Kraj Running
Čas posledního spuštění <Date and time>
Název kanálu instance np:\\.\pipe\LOCALDB#F365A78E\tsql\query

Poznámka:

Pokud vaše aplikace používá verzi rozhraní .NET Framework před 4.0.2, musíte se připojit přímo k pojmenované kanálu LocalDB. Hodnota názvu kanálu instance je pojmenovaný kanál, na který naslouchá instance LocalDB. Část názvu potrubí instance za LOCALDB# se změní při každém spuštění instance LocalDB. Pokud se chcete připojit k instanci LocalDB pomocí aplikace SQL Server Management Studio, zadejte název kanálu instance do pole Název serveru dialogového okna Připojit k databázovému stroji . Z vlastního programu můžete navázat připojení k instanci LocalDB pomocí připojovacího řetězce podobného SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");

Připojení ke sdílené instanci LocalDB

Pokud se chcete připojit ke sdílené instanci LocalDB, přidejte \.\ do připojovacího řetězce (zpětné lomítko + tečka + zpětné lomítko) a odkazujte na obor názvů vyhrazený pro sdílené instance. Pokud se například chcete připojit ke sdílené instanci LocalDB s názvem AppData, použijte připojovací řetězec, například (localdb)\.\AppData jako součást připojovacího řetězce. Uživatel, který se připojuje ke sdílené instanci LocalDB, kterou nevlastní, musí mít přihlášení k ověřování systému Windows nebo ověřování SQL Serveru.

Řešení problémů

Informace o řešení potíží s LocalDB najdete v tématu Známé problémy s instalací a migrací SQL Serveru 2012.

Povolení

Instance SQL Server Express LocalDB je instance vytvořená uživatelem pro jejich použití. Každý uživatel v počítači může vytvořit databázi pomocí instance LocalDB, uložit soubory ve svém profilu uživatele a spustit proces pod svými přihlašovacími údaji. Ve výchozím nastavení je přístup k instanci LocalDB omezen na jeho vlastníka. Data obsažená v LocalDB jsou chráněna přístupem systému souborů k databázovým souborům. Pokud jsou soubory uživatelské databáze uloženy ve sdíleném umístění, může ji otevřít kdokoli, kdo má k danému umístění přístup systému souborů, pomocí instance LocalDB, kterou vlastní. Pokud jsou soubory databáze v chráněném umístění, jako je například složka dat uživatelů, pouze tento uživatel a všichni správci s přístupem k této složce, mohou databázi otevřít. Soubory LocalDB lze otevřít pouze jednou instancí LocalDB najednou.

LocalDB se vždy spouští v kontextu zabezpečení uživatele. LocalDB se nikdy nespustí s přihlašovacími údaji ze skupiny místního správce. To znamená, že všechny soubory databáze používané instancí LocalDB musí být přístupné pomocí účtu Windows vlastníka uživatele bez ohledu na členství v místní skupině Administrators.