Riferimento al database locale - API dell'istanza di SQL Server ExpressSQL Server Express LocalDB Reference - Instance APIs

QUESTO ARGOMENTO SI APPLICA A: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

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.In the traditional, service-based SQL Server world, individual SQL Server instances installed on a single computer are physically separated; that is, each instance must be installed and removed separately, has a separate set of binaries, and runs under a separate service process. Il nome dell'istanza di SQL Server viene utilizzato per specificare l'istanza di SQL Server a cui l'utente desidera effettuare la connessione.The SQL Server instance name is used to specify which SQL Server instance the user wants to connect to.

Nell'API dell'istanza del database locale di SQL Server Express viene utilizzato un modello di istanza semplificato e leggero.The SQL Server Express LocalDB instance API uses a simplified, “light” instance model. 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.Although individual LocalDB instances are separated on the disk and in the registry, they use the same set of shared LocalDB binaries. 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.Moreover, LocalDB does not use services; LocalDB instances are launched on demand through LocalDB instance API calls. Nel database locale il nome dell'istanza viene utilizzato per specificare quali delle istanze del database locale l'utente desideri utilizzare.In LocalDB, the instance name is used to specify which of the LocalDB instances the user wants to work with.

Un'istanza del database locale è sempre di proprietà di un solo utente ed è visibile e accessibile solo dal contesto di questo utente, a meno che non sia abilitata la condivisione dell'istanza.A LocalDB instance is always owned by a single user and is visible and accessible only from this user’s context, unless instance sharing is enabled.

Anche se tecnicamente le istanze del database locale non corrispondono a istanze di SQL Server tradizionali, l'utilizzo previsto è simile.Although technically LocalDB instances are not the same as traditional SQL Server instances, their intended use is similar. Vengono chiamati istanze per enfatizzare questa somiglianza e per renderle più intuitive agli utenti di SQL Server.They are called instances to emphasize this similarity and to make them more intuitive to SQL Server users.

Il database locale supporta due tipi di istanze, ovvero automatiche e denominate.LocalDB supports two kinds of instances: automatic instances (AI) and named instances (NI). L'identificatore per un'istanza del database locale è il nome dell'istanza.The identifier for a LocalDB instance is the instance name.

Istanze automatiche del database localeAutomatic LocalDB Instances

Le istanze automatiche del database locale sono "pubbliche". Vengono create e gestite automaticamente per l'utente e possono essere utilizzate da qualsiasi applicazione.Automatic LocalDB instances are “public”; they are created and managed automatically for the user and can be used by any application. Un'istanza automatica del database locale esiste per ogni versione del database locale installato nel computer dell'utente.One automatic LocalDB instance exists for every version of LocalDB that is installed on the user’s computer.

Le istanze automatiche del database locale forniscono una gestione continua dell'istanza.Automatic LocalDB instances provide seamless instance management. L'utente non deve creare l'istanza;The user does not need to create the instance. in questo modo egli può facilmente installare applicazioni ed eseguire la migrazione a computer diversi.This enables users to easily install applications and to migrate to different computers. 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.If the target computer has the specified version of LocalDB installed, the automatic LocalDB instance for that version is also available on that computer.

Gestione dell'istanza automaticaAutomatic Instance Management

Un utente non deve creare un'istanza automatica del database locale.A user does not need to create an automatic LocalDB instance. L'istanza viene creata al momento dell'utilizzo, purché la versione specificata del database locale sia disponibile nel computer dell'utente.The instance is lazily created the first time the instance is used, provided that the specified version of LocalDB is available on the user’s computer. Dal punto di vista dell'utente, l'istanza automatica è sempre presente se sono disponibili file binari del database locale.From the user’s point of view, the automatic instance is always present if the LocalDB binaries are present.

Per le istanze automatiche sono valide anche altre operazioni di gestione dell'istanza, quali eliminazione, condivisione e non condivisione.Other instance management operations, such as Delete, Share, and Unshare, also work for automatic instances. In particolare, l'eliminazione di un'istanza automatica consente di reimpostare in modo efficiente l'istanza, che verrà ricreata alla successiva operazione di avvio.In particular, deleting an automatic instance effectively resets the instance, which will be re-created on the next Start operation. L'eliminazione di un'istanza automatica può essere necessaria nel caso in cui i database di sistema siano danneggiati.Deleting an automatic instance may be required if the system databases become corrupted.

Regole di denominazione dell'istanza automaticaAutomatic Instance Naming Rules

Le istanze automatiche del database locale dispongono di un modello speciale per il nome dell'istanza che appartiene a uno spazio dei nomi riservato.Automatic LocalDB instances have a special pattern for the instance name that belongs to a reserved namespace. È necessario evitare conflitti di nomi con le istanze denominate del database locale.This is necessary to prevent name conflicts with named LocalDB instances.

Il nome dell'istanza automatica è il numero di versione di rilascio di base del database locale preceduto da un solo carattere "v",The automatic instance name is the LocalDB baseline release version number preceded by a single “v” character. simile a "v" più due numeri con un punto tra loro; ad esempio, v11.0 o V12.00.This looks like “v” plus two numbers with a period between them; for example, v11.0 or V12.00.

Esempi di nomi di istanze automatiche non consentiti sono:Examples of illegal automatic instance names are:

  • 11.0 (carattere "v" mancante all'inizio)11.0 (missing the “v” character at the beginning)

  • v11 (punto e secondo numero della versione mancanti)v11 (missing a period and the second number of the version)

  • v11.v11. (secondo numero di versione mancante)(missing the second number of the version)

  • v11.0.1.2 (numero di versione con più di due parti)v11.0.1.2 (version number has more than two parts)

Istanze denominate del database localeNamed LocalDB Instances

Le istanze denominate del database locale sono "private", ovvero un'istanza è di proprietà di una sola applicazione, responsabile della creazione e della gestione dell'istanza.Named LocalDB instances are “private”; an instance is owned by a single application that is responsible for creating and managing the instance. Le istanze denominate del database locale forniscono isolamento e migliorano le prestazioni.Named LocalDB instances provide isolation and improve performance.

Creazione di istanze denominateNamed Instance Creation

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.The user must create named instances explicitly through the LocalDB management API, or implicitly through the app.config file for a managed application. È possibile che in un'applicazione gestita venga utilizzata anche l'API.A managed application may also use the 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.Each named instance has an associated LocalDB version; that is, it points to a specified set of LocalDB binaries. La versione per l'istanza denominata viene impostata durante il processo di creazione dell'istanza.The version for the named instance is set during the instance creation process.

Regole di denominazione dell'istanza denominataNamed Instance Naming Rules

Un nome di istanza del database locale può essere composto da un massimo di 128 caratteri (il limite viene imposto dal sysname tipo di dati).A LocalDB instance name can have up to a total of 128 characters (the limit is imposed by the sysname data type). 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.This is a significant difference compared to traditional SQL Server instance names, which are limited to NetBIOS names of 16 ASCII characters. Il motivo di questa differenza è che i database vengono trattati dal database locale come file, pertanto viene applicata una semantica basata su file, in modo che sia intuitiva per gli utenti affinché abbiano più libertà nella scelta di nomi dell'istanza.The reason for this difference is that LocalDB treats databases as files, and therefore implies file-based semantics, so it’s intuitive for users to have more freedom in choosing instance names.

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.A LocalDB instance name can contain any Unicode characters that are legal within the filename component. Caratteri non validi in un componente del nome è in genere includono i seguenti caratteri: caratteri ASCII/Unicode 1 31 tramite, nonché virgolette ("), minore di (<), maggiore di (>), barra verticale (|), backspace (\b), tabulazione (\t), due punti (:), asterisco (*) punto interrogativo (?), barra rovesciata (\) e barra (/).Illegal characters in a filename component generally include the following characters: ASCII/Unicode characters 1 through 31, as well as quote ("), less than (<), greater than (>), pipe (|), backspace (\b), tab (\t), colon (:), asterisk (*), question mark (?), backslash (\), and forward slash (/). 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.Note that the null character (\0) is allowed because it is used for string termination; everything after the first null character will be ignored.

Nota

L'elenco di caratteri non consentiti può dipendere dal sistema operativo e può essere modificato nelle versioni successive.The list of illegal characters may depend on the operating system and may change in future releases.

Gli spazi vuoti iniziali e finali nei nomi dell'istanza vengono ignorati e saranno tagliati.Leading and trailing white spaces in instance names are ignored and will be trimmed.

Per evitare conflitti di denominazione, denominati LocalDB istanze non possono avere un nome che segue il modello di denominazione per le istanze automatiche, come descritto in precedenza in "Regole di automatica dei nomi di istanza".To avoid naming conflicts, named LocalDB instances cannot have a name that follows the naming pattern for automatic instances, as described earlier in “Automatic Instance Naming Rules.” Un tentativo di creare un'istanza denominata con un nome che segue il modello di denominazione istanza automatica in modo efficace crea un'istanza predefinita.An attempt to create a named instance with a name that follows the automatic instance naming pattern effectively creates a default instance.

Argomenti di riferimento al database locale di SQL Server ExpressSQL Server Express LocalDB Reference Topics

Informazioni sulla versione e intestazione di SQL Server Express LocalDBSQL Server Express LocalDB Header and Version Information
Vengono fornite informazioni sul file di intestazione e le chiavi del Registro di sistema per l'individuazione dell'API dell'istanza del database locale.Provides header file information and registry keys for finding the LocalDB instance API.

Strumento di gestione della riga di comando: SqlLocalDB.exeCommand-Line Management Tool: SqlLocalDB.exe
Viene descritto SqlLocalDB.exe, uno strumento per la gestione delle istanze del database locale dalla riga di comando.Describes SqlLocalDB.exe, a tool for managing LocalDB instances from the command line.

Funzione LocalDBCreateInstanceLocalDBCreateInstance Function
Viene descritta la funzione per creare una nuova istanza del database locale.Describes the function to create a new LocalDB instance.

Funzione LocalDBDeleteInstanceLocalDBDeleteInstance Function
Viene descritta la funzione per rimuovere un'istanza del database locale.Describes the function to remove a LocalDB instance.

Funzione LocalDBFormatMessageLocalDBFormatMessage Function
Viene descritta la funzione per restituire la descrizione localizzata di un errore del database locale.Describes the function to return the localized description for a LocalDB error.

Funzione LocalDBGetInstanceInfoLocalDBGetInstanceInfo Function
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.Describes the function to get information for a LocalDB instance, such as whether it exists, version information, whether it is running, and so on.

Funzione LocalDBGetInstancesLocalDBGetInstances Function
Viene descritta la funzione per restituire tutte le istanze del database locale con una versione specificata.Describes the function to return all the LocalDB instances with a specified version.

Funzione LocalDBGetVersionInfoLocalDBGetVersionInfo Function
Viene descritta la funzione per restituire le informazioni per una versione specificata del database locale.Describes the function to return information for a specified LocalDB version.

Funzione LocalDBGetVersionsLocalDBGetVersions Function
Viene descritta la funzione per restituire tutte le versioni del database locale disponibili in un computer.Describes the function to return all LocalDB versions available on a computer.

Funzione LocalDBShareInstanceLocalDBShareInstance Function
Viene descritta la funzione per condividere un'istanza specificata del database locale.Describes the function to share a specified LocalDB instance.

Funzione LocalDBStartInstanceLocalDBStartInstance Function
Viene descritta la funzione per avviare un'istanza specificata del database locale.Describes the function to start a specified LocalDB instance.

Funzione LocalDBStartTracingLocalDBStartTracing Function
Viene descritta la funzione per abilitare la traccia API per un utente.Describes the function to enable API tracing for a user.

Funzione LocalDBStopInstanceLocalDBStopInstance Function
Viene descritta la funzione per arrestare l'esecuzione di un'istanza specificata del database locale.Describes the function to stop a specified LocalDB instance from running.

Funzione LocalDBStopTracingLocalDBStopTracing Function
Viene descritta la funzione per disabilitare la traccia API per un utente.Describes the function to disable API tracing for a user.

Funzione LocalDBUnshareInstanceLocalDBUnshareInstance Function
Viene descritta la funzione per arrestare la condivisione di un'istanza specificata del database locale.Describes the function to stop sharing a specified LocalDB instance.