Informazioni di riferimento su SQL Server Express LocalDB - API dell'istanza

Si applica a:SQL Server

In SQL Server basato su servizi, tradizionale, le singole istanze di SQL Server installate in un solo computer sono separate fisicamente; ovvero, ogni istanza deve essere installata e rimossa separatamente. Inoltre, ciascuna istanza dispone di un set separato di file binari e si esegue in un processo del servizio separato. Il nome dell'istanza di SQL Server viene utilizzato per specificare l'istanza di SQL Server a cui l'utente desidera effettuare la connessione.

L'API dell'istanza di SQL Server Express LocalDB usa un modello di istanza "light" semplificato. Anche se le istanze del database locale singole sono separate sul disco e nel Registro di sistema, in esse viene utilizzato lo stesso set di file binari condivisi del database locale. Inoltre, nel database locale non vengono utilizzati servizi. Le istanze del database locale vengono avviate su richiesta tramite le chiamate API dell'istanza del database locale. Nel database locale il nome dell'istanza viene utilizzato per specificare quali delle istanze del database locale l'utente desideri utilizzare.

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 del database locale non corrispondono a istanze di SQL Server tradizionali, l'utilizzo previsto è simile. Vengono chiamate istanze per evidenziare questa somiglianza e renderle più intuitive per gli utenti di SQL Server.

Il database locale supporta due tipi di istanze, ovvero automatiche e denominate. L'identificatore per un'istanza del database locale è il nome dell'istanza.

Istanze automatiche del database locale

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 del database locale forniscono una gestione continua dell'istanza. L'utente non deve creare l'istanza; in questo modo egli può facilmente installare applicazioni ed eseguire la migrazione a computer diversi. Se nel computer di destinazione è installata la versione specificata del database locale, l'istanza automatica di tale database per quella versione è disponibile anche su quel computer.

Gestione dell'istanza automatica

Un utente non deve creare un'istanza automatica del database locale. 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.

Per le istanze automatiche sono valide anche altre operazioni di gestione dell'istanza, quali eliminazione, condivisione e non condivisione. In particolare, l'eliminazione di un'istanza automatica consente di reimpostare in modo efficiente l'istanza, che verrà ricreata alla successiva operazione di avvio. L'eliminazione di un'istanza automatica può essere necessaria nel caso in cui i database di sistema siano danneggiati.

Regole di denominazione dell'istanza automatica

Le istanze automatiche del database locale dispongono di un modello speciale per il nome dell'istanza che appartiene a uno spazio dei nomi riservato. È necessario evitare conflitti di nomi con le istanze denominate del database locale.

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 consentiti sono:

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

  • v11 (punto e secondo numero della versione mancanti)

  • v11. (secondo numero di versione mancante)

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

Istanze denominate del database locale

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 denominate del database locale forniscono isolamento e migliorano le prestazioni.

Creazione di istanze denominate

L'utente deve creare istanze denominate in modo esplicito tramite l'API di gestione del database locale o in modo implicito tramite il file app.config per un'applicazione gestita. È possibile che in un'applicazione gestita venga utilizzata anche l'API.

Ogni istanza denominata dispone di una versione associata del database locale, ovvero che punta a un set specificato di file binari del database locale. La versione per l'istanza denominata viene impostata durante il processo di creazione dell'istanza.

Regole di denominazione dell'istanza denominata

Un nome di istanza di LocalDB può avere fino a un totale di 128 caratteri (il limite viene imposto dal tipo di dati sysname ). Si tratta di una differenza significativa rispetto ai nomi di istanze di SQL Server tradizionali, che sono limitati a 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.

Nel nome di un'istanza del database locale può essere incluso qualsiasi carattere Unicode che sia valido all'interno del componente del nome del 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é utilizzato per la chiusura della stringa. Tutti i caratteri successivi al primo carattere Null verranno ignorati.

Nota

L'elenco di caratteri non consentiti può dipendere dal sistema operativo e può essere modificato nelle versioni successive.

Gli spazi vuoti iniziali e finali nei nomi dell'istanza vengono ignorati e saranno 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 al database locale di SQL Server Express

Informazioni sulla versione e intestazione di SQL Server Express LocalDB
Vengono fornite informazioni sul file di intestazione e le chiavi del Registro di sistema per l'individuazione dell'API dell'istanza del database locale.

Strumento di gestione della riga di comando: SqlLocalDB.exe
Viene descritto SqlLocalDB.exe, uno strumento per la gestione delle istanze del database locale dalla riga di comando.

Funzione LocalDBCreateInstance
Viene descritta la funzione per creare una nuova istanza del database locale.

Funzione LocalDBDeleteInstance
Viene descritta la funzione per rimuovere un'istanza del database locale.

Funzione LocalDBFormatMessage
Viene descritta la funzione per restituire la descrizione localizzata di un errore del database locale.

Funzione LocalDBGetInstanceInfo
Viene descritta la funzione per ottenere informazioni per un'istanza del database locale, ad esempio se è disponibile, le informazioni sulla versione, se l'istanza è in esecuzione e così via.

Funzione LocalDBGetInstances
Viene descritta la funzione per restituire tutte le istanze del database locale con una versione specificata.

Funzione LocalDBGetVersionInfo
Viene descritta la funzione per restituire le informazioni per una versione specificata del database locale.

Funzione LocalDBGetVersions
Viene descritta la funzione per restituire tutte le versioni del database locale disponibili in un computer.

Funzione LocalDBShareInstance
Viene descritta la funzione per condividere un'istanza specificata del database locale.

Funzione LocalDBStartInstance
Viene descritta la funzione per avviare un'istanza specificata del database locale.

Funzione LocalDBStartTracing
Viene descritta la funzione per abilitare la traccia API per un utente.

Funzione LocalDBStopInstance
Viene descritta la funzione per arrestare l'esecuzione di un'istanza specificata del database locale.

Funzione LocalDBStopTracing
Viene descritta la funzione per disabilitare la traccia API per un utente.

Funzione LocalDBUnshareInstance
Viene descritta la funzione per arrestare la condivisione di un'istanza specificata del database locale.