Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Microsoft SQL Server Express LocalDB är en funktion i SQL Server Express som riktar sig till utvecklare. Den är tillgänglig i SQL Server Express Edition med Advanced Services.
LocalDB-installationen kopierar en minimal uppsättning filer som krävs för att starta SQL Server Database Engine. När LocalDB har installerats kan du initiera en anslutning med hjälp av en särskild anslutningssträng. När du ansluter skapas och startas den nödvändiga SQL Server-infrastrukturen automatiskt, vilket gör att programmet kan använda databasen utan komplexa konfigurationsuppgifter. Utvecklarverktyg kan ge utvecklare en SQL Server Database Engine som gör att de kan skriva och testa Transact-SQL kod utan att behöva hantera en fullständig serverinstans av SQL Server.
Installationsmedium
LocalDB är en funktion som du väljer under SQL Server Express-installationen och är tillgänglig när du laddar ned mediet. Om du laddar ned mediet väljer du Antingen Express Advanced eller LocalDB-paketet .
- SQL Server 2022 Express Edition
- SQL Server 2019 Express Edition
- SQL Server 2017 Express Edition
- SQL Server 2016 Express Edition
Kunder som använder Visual Studio 2019 och Visual Studio 2022 bör installera SQL Server 2019 Express Edition.
Installationsprogrammet SqlLocalDB.msi för LocalDB är tillgängligt i installationsmediet för alla utgåvor förutom Express Core. Den finns i mappen <installation_media_root>\<LCID>_ENU_LP\x64\Setup\x64. LCID är ett språkidentifierare eller lokaliseringskod. Till exempel refererar ett LCID-värde på 1033 till en-US nationella inställningar.
Du kan också installera LocalDB via Visual Studio Installer som en del av arbetsbelastningen Data Storage och Processing , arbetsbelastningen ASP.NET och webbutveckling eller som en enskild komponent.
Installera LocalDB
Installera LocalDB via installationsguiden eller med hjälp SqlLocalDB.msi av programmet. LocalDB är ett alternativ när du installerar SQL Server Express LocalDB.
Välj LocalDB på sidan Funktionsval/Delade funktioner under installationen. Det kan bara finnas en installation av LocalDB-binära filer för varje större SQL Server Database Engine-version. Flera databasmotorprocesser kan startas och alla använder samma binärfiler. En instans av SQL Server Database Engine som startades som LocalDB har samma begränsningar som SQL Server Express.
En instans av SQL Server Express LocalDB hanteras med hjälp SqlLocalDB.exe av verktyget. SQL Server Express LocalDB ska användas i stället för SQL Server Express-användarinstansfunktionen, som har avvecklats.
Beskrivning
Installationsprogrammet för LocalDB använder SqlLocalDB.msi programmet för att installera nödvändiga filer på datorn. När localDB har installerats är det en instans av SQL Server Express som kan skapa och öppna SQL Server-databaser. Systemdatabasfilerna för databasen lagras i den lokala AppData sökvägen, som normalt är dold. Till exempel C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. Användardatabasfiler lagras där användaren anger, vanligtvis någonstans i C:\Users\<user>\Documents\ mappen.
Mer information om hur du inkluderar LocalDB i ett program finns i Översikt över lokala data i Visual Studio, Skapa en databas och lägga till tabeller i Visual Studio.
Mer information om LocalDB-API:et finns i SQL Server Express LocalDB-referens.
Verktyget SqlLocalDB kan skapa nya instanser av LocalDB, starta och stoppa en instans av LocalDB och innehåller alternativ som hjälper dig att hantera LocalDB. Mer information om verktyget finns i SqlLocalDBVerktyget SqlLocalDB.
Instanssortering för LocalDB är inställd på SQL_Latin1_General_CP1_CI_AS och kan inte ändras. Sortering på databasnivå, kolumnnivå och uttrycksnivå stöds normalt. Inneslutna databaser följer reglerna för metadata och tempdb sorteringsordningar som definieras av Inneslutna databasers sorteringsordningar.
Begränsningar
LocalDB kan inte fjärrhanteras via SQL Server Management Studio.
LocalDB kan inte vara en sammanslagningsreplikeringsprenumerant.
LocalDB stöder inte FILESTREAM.
LocalDB tillåter endast lokala köer för Service Broker.
En instans av LocalDB som ägs av de inbyggda kontona, såsom
NT AUTHORITY\SYSTEM, kan stöta på hanteringsproblem på grund av omdirigering av filsystemet i Windows. Använd i stället ett normalt Windows-konto som ägare.
Automatiska och namngivna instanser
LocalDB stöder två typer av instanser: automatiska instanser och namngivna instanser. Olika användare av en dator kan ha instanser med samma namn. Varje instans körs som respektive användare i sin egen process.
Automatiska instanser
Automatiska instanser av LocalDB är offentliga. De skapas och hanteras automatiskt för användaren och kan användas av alla program. Det finns en automatisk instans av LocalDB för varje version av LocalDB som är installerad på användarens dator. Automatiska instanser av LocalDB ger sömlös instanshantering. Du behöver inte skapa instansen. det fungerar bara. Den här funktionen möjliggör enkel programinstallation och migrering till en annan dator. Om måldatorn har den angivna versionen av LocalDB installerad är även den automatiska instansen av LocalDB för den versionen tillgänglig på måldatorn. Automatiska instanser av LocalDB har ett särskilt mönster för instansnamnet som tillhör ett reserverat namnområde. Automatiska instanser förhindrar namnkonflikter med namngivna instanser av LocalDB. Namnet på den automatiska instansen är MSSQLLocalDB.
Namngivna instanser
Namngivna instanser av LocalDB är privata. De ägs av ett enda program som ansvarar för att skapa och hantera instansen. Namngivna instanser ger isolering från andra instanser och kan förbättra prestanda genom att minska resurskonkurreringen med andra databasanvändare. Du måste skapa namngivna instanser explicit via LocalDB-hanterings-API:et app.config , eller implicit via filen för ett hanterat program (även om det hanterade programmet också kan använda API:et om så önskas). Varje namngiven instans av LocalDB har en associerad LocalDB-version som pekar på respektive uppsättning LocalDB-binärfiler. Instansnamnet för en LocalDB är datatypen sysname och kan innehålla upp till 128 tecken. (Det här instansnamnet skiljer sig från vanliga namngivna instanser av SQL Server, som begränsar namn till vanliga NetBIOS-namn med 15 ASCII-tecken.) Namnet på en instans av LocalDB kan innehålla alla Unicode-tecken som är lagliga i ett filnamn. En namngiven instans som använder ett automatiskt instansnamn blir en automatisk instans.
Delade instanser av LocalDB
För att stödja scenarier där flera användare av datorn behöver ansluta till en enda instans av LocalDB stöder LocalDB instansdelning. En instansägare kan välja att tillåta att de andra användarna på datorn ansluter instansen. Både automatiska och namngivna instanser av LocalDB kan delas. Om du vill dela en instans av LocalDB väljer en användare ett delat namn (alias) för den. Eftersom det delade namnet är synligt för alla användare av datorn måste det delade namnet vara unikt på datorn. Det delade namnet för en instans av LocalDB har samma format som den namngivna instansen av LocalDB.
Endast en administratör på datorn kan skapa en delad instans av LocalDB. En delad instans av LocalDB kan göras icke-delad av en administratör eller av ägaren till den delade instansen av LocalDB. Om du vill dela och ta bort delning av en instans av LocalDB använder du LocalDBShareInstance- och LocalDBUnShareInstance-metoderna i LocalDB API:et, eller delnings- och borttagningsalternativen i SqlLocalDB-verktyget.
Starta LocalDB och anslut till LocalDB
I det här avsnittet beskrivs hur du ansluter till en automatisk instans, en namngiven instans eller en delad instans.
Ansluta till den automatiska instansen
Det enklaste sättet att använda LocalDB är att ansluta till den automatiska instans som ägs av den aktuella användaren med hjälp av anslutningssträngen Server=(localdb)\MSSQLLocalDB;Integrated Security=true. Om du vill ansluta till en specifik databas med hjälp av filnamnet ansluter du med en anslutningssträng som liknar Server=(LocalDB)\MSSQLLocalDB;Integrated Security=true;AttachDbFileName=D:\Data\MyDB1.mdf.
Anmärkning
Första gången en användare på en dator försöker ansluta till LocalDB måste den automatiska instansen både skapas och startas. Den extra tiden för att skapa instansen kan orsaka att anslutningsförsöket misslyckas med ett timeout-meddelande. När detta händer väntar du några sekunder så att skapandeprocessen slutförs och ansluter sedan igen.
Skapa och ansluta till en namngiven instans
Förutom den automatiska instansen stöder LocalDB även namngivna instanser. Använd programmet för att skapa, starta och stoppa en namngiven SqlLocalDB.exe instans av LocalDB. Mer information om SqlLocalDB.exefinns i SqlLocalDB-verktyget.
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
Den sista raden i föregående kodexempel returnerar information som liknar följande tabell.
| Kategori | Värde |
|---|---|
| Namn | LocalDBApp1 |
| Version: | <Current version> |
| Delat namn | "" |
| Ägare | <Your Windows user> |
| Skapa automatiskt | No |
| Tillstånd | Running |
| Senaste starttid | <Date and time> |
| Instanspipens namn | np:\\.\pipe\LOCALDB#F365A78E\tsql\query |
Anmärkning
Om ditt program använder en version av .NET Framework före 4.0.2 måste du ansluta direkt till det namngivna röret i LocalDB. Värdet av instansens pipenamn är den namngivna pipe som instansen av LocalDB lyssnar på. Den del av instanspipsnamnet som kommer efter LOCALDB# ändras varje gång instansen av LocalDB startas. Om du vill ansluta till instansen av LocalDB med hjälp av SQL Server Management Studio skriver du instanspipenamnet i rutan Servernamn i dialogrutan Anslut till databasmotor . Från ditt anpassade program kan du upprätta en anslutning till instansen av LocalDB med en anslutningssträng som liknar SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");
Ansluta till en delad instans av LocalDB
Om du vill ansluta till en delad instans av LocalDB lägger du till \.\ (omvänt snedstreck + punkt + omvänt snedstreck) i anslutningssträngen för att referera till namnområdet som är reserverat för delade instanser. Om du till exempel vill ansluta till en delad instans av LocalDB med namnet AppData, använder du en anslutningssträng som (localdb)\.\AppData som en del av anslutningssträngen. En användare som ansluter till en delad instans av LocalDB som de inte äger måste ha en Inloggning med Windows-autentisering eller SQL Server-autentisering.
Felsökning
Information om hur du felsöker LocalDB finns i Kända problem med konfiguration och migrering av SQL Server 2012.
Behörigheter
En instans av SQL Server Express LocalDB är en instans som skapats av en användare för deras användning. Alla användare på datorn kan skapa en databas med hjälp av en instans av LocalDB, lagra filer under användarprofilen och köra processen under sina autentiseringsuppgifter. Som standard är åtkomsten till instansen av LocalDB begränsad till dess ägare. Data som finns i LocalDB skyddas av filsystemets åtkomst till databasfilerna. Om användardatabasfiler lagras på en delad plats kan databasen öppnas av alla som har filsystemåtkomst till den platsen med hjälp av en instans av LocalDB som de äger. Om databasfilerna finns på en skyddad plats, till exempel användardatamappen, kan endast den användaren och administratörer med åtkomst till den mappen öppna databasen. LocalDB-filerna kan bara öppnas av en instans av LocalDB i taget.
LocalDB körs alltid under användarens säkerhetskontext. LocalDB körs aldrig med autentiseringsuppgifter från den lokala administratörsgruppen. Det innebär att alla databasfiler som används av en LocalDB-instans måste vara tillgängliga med den ägande användarens Windows-konto, utan att överväga medlemskap i den lokala gruppen Administratörer.