Condividi tramite


Riferimento API per l'istanza di SQL Server Express LocalDB

Nel mondo di SQL Server tradizionale basato sul servizio, le singole istanze di SQL Server installate in un singolo computer sono separate fisicamente; ovvero, ogni istanza deve essere installata e rimossa separatamente, ha un set separato di file binari ed è in esecuzione in un processo di servizio separato. Il nome dell'istanza di SQL Server viene usato per specificare l'istanza di SQL Server a cui l'utente vuole connettersi.

L'API dell'istanza di SQL Server Express LocalDB usa un modello di istanza "light" semplificato. Anche se le singole istanze di LocalDB sono separate sul disco e nel Registro di sistema, usano lo stesso set di file binari localDB condivisi. Inoltre, LocalDB non utilizza servizi; Le istanze di LocalDB vengono avviate su richiesta tramite chiamate API dell'istanza di LocalDB. In LocalDB il nome dell'istanza viene usato per specificare con quali istanze di LocalDB l'utente vuole usare.

Un'istanza di LocalDB è sempre di proprietà di un singolo utente ed è visibile e accessibile solo dal contesto dell'utente, a meno che la condivisione dell'istanza non sia abilitata.

Anche se tecnicamente le istanze di LocalDB non corrispondono alle istanze tradizionali di SQL Server, l'uso previsto è simile. Vengono chiamate istanze per evidenziare questa somiglianza e renderle più intuitive per gli utenti di SQL Server.

LocalDB supporta due tipi di istanze: istanze automatiche (IA) e istanze denominate (NI). L'identificatore per un'istanza di LocalDB è il nome dell'istanza.

Istanze automatiche di LocalDB

Le istanze automatiche di LocalDB sono "pubbliche"; vengono creati e gestiti automaticamente per l'utente e possono essere usati da qualsiasi applicazione. Esiste un'istanza automatica di LocalDB per ogni versione di LocalDB installata nel computer dell'utente.

Le istanze automatiche di LocalDB offrono una gestione semplice delle istanze. L'utente non deve creare l'istanza. Ciò consente agli utenti di installare facilmente le applicazioni e di eseguire la migrazione a computer diversi. Se nel computer di destinazione è installata la versione specificata di LocalDB, è disponibile anche l'istanza automatica localDB per tale versione.

Gestione automatica delle istanze

Un utente non deve creare un'istanza automatica di LocalDB. L'istanza viene creata in modo differire la prima volta che viene usata l'istanza, purché la versione specificata di LocalDB sia disponibile nel computer dell'utente. Dal punto di vista dell'utente, l'istanza automatica è sempre presente se sono presenti i file binari localDB.

Altre operazioni di gestione delle istanze, ad esempio Delete, Share e Unshare, funzionano anche per le istanze automatiche. In particolare, l'eliminazione di un'istanza automatica reimposta l'istanza, che verrà ricreata nella successiva operazione di avvio. L'eliminazione di un'istanza automatica può essere necessaria se i database di sistema vengono danneggiati.

Regole di denominazione automatiche dell'istanza

Le istanze di LocalDB automatiche hanno un modello speciale per il nome dell'istanza che appartiene a uno spazio dei nomi riservato. Questa operazione è necessaria per evitare conflitti di nomi con istanze denominate di LocalDB.

Il nome dell'istanza automatica è il numero di versione della versione di base di LocalDB preceduto da un singolo carattere "v". Questo aspetto è simile a "v" più due numeri con un punto tra di essi; ad esempio v11.0 o V12.00.

Esempi di nomi di istanze automatiche non valide sono:

  • 11.0 (senza il carattere "v" all'inizio)

  • v11 (manca un punto e il secondo numero della versione)

  • v11. (manca il secondo numero della versione)

  • v11.0.1.2 (numero di versione ha più di due parti)

Istanze di LocalDB denominate

Le istanze di LocalDB denominate sono "private"; un'istanza è di proprietà di una singola applicazione responsabile della creazione e della gestione dell'istanza. Le istanze di LocalDB denominate offrono isolamento e migliorano le prestazioni.

Creazione di istanze denominate

L'utente deve creare istanze denominate in modo esplicito tramite l'API di gestione di LocalDB o in modo implicito tramite il file app.config per un'applicazione gestita. Un'applicazione gestita può anche usare l'API.

Ogni istanza denominata ha una versione di LocalDB associata; ovvero punta a un set specificato di file binari localDB. La versione per l'istanza denominata viene impostata durante il processo di creazione dell'istanza.

Regole di denominazione delle istanze denominate

Un nome di istanza di LocalDB può avere fino a un totale di 128 caratteri (il limite viene imposto dal sysname tipo di dati). Si tratta di una differenza significativa rispetto ai nomi delle istanze tradizionali di SQL Server, che sono limitati ai nomi NetBIOS di 16 caratteri ASCII. Il motivo di questa differenza è che LocalDB considera i database come file e pertanto implica semantica basata su file, quindi è intuitivo per gli utenti avere maggiore libertà nella scelta dei nomi di istanza.

Un nome di istanza di LocalDB può contenere qualsiasi carattere Unicode valido all'interno del componente del nome file. I caratteri non validi in un componente nome file in genere includono i caratteri ASCII/Unicode da 1 a 31, nonché virgolette ("), minori di (<), maggiore di (>), pipe (|), backspace (\b), tab (\t), due punti (:), asterisco (*), punto interrogativo (?), barra rovesciata (\) e barra (/). Si noti che il carattere Null (\0) è consentito perché viene usato per la terminazione della stringa; tutto dopo il primo carattere Null verrà ignorato.

Annotazioni

L'elenco di caratteri non validi può dipendere dal sistema operativo e può cambiare nelle versioni future.

Gli spazi vuoti iniziali e finali nei nomi delle istanze vengono ignorati e verranno tagliati.

Per evitare conflitti di denominazione, le istanze di LocalDB denominate non possono avere un nome che segue il modello di denominazione per le istanze automatiche, come descritto in precedenza in "Regole di denominazione delle istanze automatiche". Un tentativo di creare un'istanza denominata con un nome che segue il modello di denominazione automatico dell'istanza crea in modo efficace un'istanza predefinita.

Argomenti di riferimento su SQL Server Express LocalDB

Informazioni sull'intestazione e sulla versione di SQL Server Express LocalDB
Fornisce informazioni sul file di intestazione e chiavi del Registro di sistema per trovare l'API dell'istanza di LocalDB.

Strumento di gestioneCommand-Line: SqlLocalDB.exe
Descrive SqlLocalDB.exe, uno strumento per la gestione delle istanze di LocalDB dalla riga di comando.

Funzione LocalDBCreateInstance
Descrive la funzione per creare una nuova istanza di LocalDB.

Funzione LocalDBDeleteInstance
Descrive la funzione per rimuovere un'istanza di LocalDB.

Funzione LocalDBFormatMessage
Descrive la funzione per restituire la descrizione localizzata per un errore localDB.

Funzione LocalDBGetInstanceInfo
Descrive la funzione per ottenere informazioni per un'istanza di LocalDB, ad esempio se esiste, informazioni sulla versione, se è in esecuzione e così via.

Funzione LocalDBGetInstances
Descrive la funzione per restituire tutte le istanze di LocalDB con una versione specificata.

Funzione LocalDBGetVersionInfo
Descrive la funzione per restituire informazioni per una versione di LocalDB specificata.

Funzione LocalDBGetVersions
Descrive la funzione per restituire tutte le versioni di LocalDB disponibili in un computer.

Funzione LocalDBShareInstance
Descrive la funzione per condividere un'istanza di LocalDB specificata.

Funzione LocalDBStartInstance
Descrive la funzione per avviare un'istanza di LocalDB specificata.

Funzione LocalDBStartTracing
Descrive la funzione per abilitare la traccia API per un utente.

Funzione LocalDBStopInstance
Descrive la funzione per arrestare l'esecuzione di un'istanza di LocalDB specificata.

Funzione LocalDBStopTracing
Descrive la funzione per disabilitare la traccia API per un utente.

Funzione LocalDBUnshareInstance
Descrive la funzione per interrompere la condivisione di un'istanza di LocalDB specificata.