Dela via


SQL Server Express LocalDB-instans-API:er

Applies to:SQL Server

I den traditionella, tjänstbaserade SQL Server-världen separeras enskilda SQL Server-instanser som är installerade på en enda dator fysiskt åtskilda. Varje instans måste installeras och tas bort separat, har en separat uppsättning binärfiler och körs under en separat tjänstprocess. SQL Server-instansnamnet används för att ange vilken SQL Server-instans användaren vill ansluta till.

SQL Server Express LocalDB-instans-API:et använder en förenklad, ljus instansmodell. Även om enskilda LocalDB-instanser är avgränsade på disken och i registret använder de samma uppsättning delade LocalDB-binärfiler. Dessutom använder LocalDB inte tjänster. LocalDB-instanser startas på begäran via LOCALDB-instans-API-anrop. I LocalDB används instansnamnet för att ange vilken av de LocalDB-instanser som användaren vill arbeta med.

En LocalDB-instans ägs alltid av en enskild användare och är endast synlig och tillgänglig från den här användarens kontext, såvida inte instansdelning är aktiverat.

Även om localDB-instanser tekniskt sett inte är samma som traditionella SQL Server-instanser, är deras avsedda användning liknande. They are called instances to emphasize this similarity and to make them more intuitive to SQL Server users.

LocalDB stöder två typer av instanser: automatiska instanser (AI) och namngivna instanser (NI). Identifieraren för en LocalDB-instans är instansnamnet.

Automatiska LocalDB-instanser

Automatic LocalDB instances are public; they are created and managed automatically for the user and can be used by any application. En automatisk LocalDB-instans finns för varje version av LocalDB som är installerad på användarens dator.

Automatiska LocalDB-instanser ger sömlös instanshantering. Användaren behöver inte skapa instansen. På så sätt kan användarna enkelt installera program och migrera till olika datorer. Om måldatorn har den angivna versionen av LocalDB installerad är den automatiska LocalDB-instansen för den versionen också tillgänglig på den datorn.

Automatisk instanshantering

En användare behöver inte skapa en automatisk LocalDB-instans. Instansen skapas lazily första gången instansen används, så länge den angivna versionen av LocalDB är tillgänglig på användarens dator. Från användarens synvinkel är den automatiska instansen alltid närvarande om LocalDB-binärfilerna finns.

Andra instanshanteringsåtgärder, till exempel Ta bort, Dela och Ta bort delning, fungerar också för automatiska instanser. I synnerhet återställer borttagning av en automatisk instans effektivt instansen, som återskapas vid nästa startåtgärd. Det kan krävas att du tar bort en automatisk instans om systemdatabaserna blir skadade.

Namngivningsregler för automatisk instans

Automatiska LocalDB-instanser har ett särskilt mönster för instansnamnet som tillhör ett reserverat namnområde. Detta är nödvändigt för att förhindra namnkonflikter med namngivna LocalDB-instanser.

Det automatiska instansnamnet är versionsnumret för LocalDB-baslinjen föregås av ett enda v tecken. Det här ser ut som v plus två tal med en punkt mellan dem, v11.0 till exempel eller V12.00.

Exempel på otillåtna automatiska instansnamn är:

  • 11.0 (saknar v tecknet i början)
  • v11 (saknar en period och det andra numret i versionen)
  • v11. (det andra numret i versionen saknas)
  • v11.0.1.2 (versionsnumret har fler än två delar)

Namngivna LocalDB-instanser

Named LocalDB instances are private; an instance is owned by a single application that is responsible for creating and managing the instance. Namngivna LocalDB-instanser ger isolering och förbättrar prestanda.

Skapa namngiven instans

Användaren måste skapa namngivna instanser explicit via LocalDB-hanterings-API:et app.config , eller implicit via filen för ett hanterat program. Ett hanterat program kan också använda API:et.

Varje namngiven instans har en associerad LocalDB-version. Det pekar alltså på en angiven uppsättning LocalDB-binärfiler. Versionen för den namngivna instansen anges när instansen skapas.

Namngivna namngivningsregler för instanser

A LocalDB instance name can have up to a total of 128 characters (the limit is imposed by the sysname data type). Det här är en betydande skillnad jämfört med traditionella SQL Server-instansnamn, som är begränsade till NetBIOS-namn med 16 ASCII-tecken. Anledningen till den här skillnaden är att LocalDB behandlar databaser som filer och därför innebär filbaserad semantik, så det är intuitivt för användarna att ha större frihet att välja instansnamn.

Ett LocalDB-instansnamn kan innehålla alla Unicode-tecken som är lagliga i filnamnskomponenten. Ogiltiga tecken i en filnamnskomponent innehåller vanligtvis följande tecken: ASCII/Unicode-tecken 1 till 31 och citattecken ("), mindre än (<), större än (>), pipe (|), backspace (\b), tab (\t), kolon (:), asterisk (*), frågetecken (?), omvänt snedstreck (\) och snedstreck (/). Null-tecknet (\0) tillåts eftersom det används för strängavslutning. Allt efter det första null-tecknet ignoreras.

Note

Listan över otillåtna tecken kan bero på operativsystemet och kan komma att ändras i framtida versioner.

Inledande och avslutande blanksteg i instansnamn ignoreras och trimmas.

För att undvika namngivningskonflikter kan namngivna LocalDB-instanser inte ha ett namn som följer namngivningsmönstret för automatiska instanser, enligt beskrivningen tidigare i avsnittet Namngivningsregler för automatisk instans . Ett försök att skapa en namngiven instans med ett namn som följer det automatiska instansnamngivningsmönstret skapar effektivt en standardinstans.

Article Description
SQL Server Express LocalDB-huvud och versionsinformation Innehåller rubrikfilinformation och registernycklar för att hitta LocalDB-instans-API:et.
Command-Line Hanteringsverktyg: SqlLocalDB.exe Beskriver SqlLocalDB.exe, ett verktyg för att hantera LocalDB-instanser från kommandoraden.
LocalDBCreateInstance Function Beskriver funktionen för att skapa en ny LocalDB-instans.
LocalDBDeleteInstance Function Beskriver funktionen för att ta bort en LocalDB-instans.
LocalDBFormatMessage Function Beskriver funktionen för att returnera den lokaliserade beskrivningen för ett LocalDB-fel.
LocalDBGetInstanceInfo Function Beskriver funktionen för att hämta information för en LocalDB-instans, till exempel om den finns, versionsinformation, om den körs och så vidare.
LocalDBGetInstances Function Beskriver funktionen för att returnera alla LocalDB-instanser med en angiven version.
LocalDBGetVersionInfo Function Beskriver funktionen för att returnera information för en angiven LocalDB-version.
LocalDBGetVersions Function Beskriver funktionen för att returnera alla LocalDB-versioner som är tillgängliga på en dator.
LocalDBShareInstance Function Beskriver funktionen för att dela en angiven LocalDB-instans.
LocalDBStartInstance Function Beskriver funktionen för att starta en angiven LocalDB-instans.
LocalDBStartTracing Function Beskriver funktionen för att aktivera API-spårning för en användare.
LocalDBStopInstance Function Beskriver funktionen för att stoppa en angiven LocalDB-instans från att köras.
LocalDBStopTracing Function Beskriver funktionen för att inaktivera API-spårning för en användare.
LocalDBUnshareInstance Function Beskriver funktionen för att sluta dela en angiven LocalDB-instans.