Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Microsoft SQL Server 2014 Express LocalDB è una modalità di esecuzione di SQL Server Express destinata agli sviluppatori di programmi.
LocalDB l'installazione copia un set minimo di file necessari per avviare il motore di database di SQL Server. Dopo LocalDB l'installazione, gli sviluppatori avviano una connessione usando una stringa di connessione speciale. Quando ci si connette, l'infrastruttura DI SQL Server necessaria viene creata e avviata automaticamente, consentendo all'applicazione di usare il database senza attività di configurazione complesse o dispendiose in termini di tempo. Gli strumenti di sviluppo possono offrire agli sviluppatori un motore di database di SQL Server che consente di scrivere e testare Transact-SQL codice senza dover gestire un'istanza completa del server di SQL Server. Un'istanza di SQL Server ExpressLocalDB viene gestita tramite l'utilità SqlLocalDB.exe . SQL Server ExpressLocalDB deve essere usato al posto della funzionalità dell'istanza utente di SQL Server Express deprecata.
Installazione di LocalDB
Il metodo principale di installazione di LocalDB è utilizzare il programma SqlLocalDB.msi.
LocalDB è un'opzione quando si installa uno SKU di SQL Server 2014 Express. Selezionare LocalDB nella pagina Selezione funzionalità durante l'installazione di SQL Server Express. È possibile installare solo un file binario per ogni versione principale del LocalDB motore di database di SQL Server. È possibile avviare più processi del motore di database e usare tutti gli stessi file binari. Un'istanza del motore di database di SQL Server avviata come LocalDB ha le stesse limitazioni di SQL Server Express.
Descrizione
Il LocalDB programma di installazione usa il programma di SqlLocalDB.msi per installare i file necessari nel computer. Dopo l'installazione, LocalDB è un'istanza di SQL Server Express in grado di creare e aprire database di SQL Server. I file della banca dati del sistema sono memorizzati nel percorso locale AppData degli utenti, che di norma è nascosto. Ad esempio C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. I file di database utente vengono archiviati in cui l'utente designa, in genere in un punto qualsiasi della cartella C:\Users\<user>\Documents\ .
Per altre informazioni sull'inclusione LocalDB in un'applicazione, vedere la documentazione di Visual Studio Panoramica dei dati locali, Procedura dettagliata: Creazione di un database localDB di SQL Server e Procedura dettagliata: Connessione ai dati in un database localDB di SQL Server (Windows Form).
Per altre informazioni sull'API LocalDB di SQL Server Express, vedere Guida di riferimento all'API dell'istanza di LocalDB e Funzione LocalDBStartInstance.
L'utilità SqlLocalDb può creare nuove istanze di LocalDB, avviare e arrestare un'istanza di LocalDBe include opzioni che consentono di gestire LocalDB. Per altre informazioni sull'utilità SqlLocalDb, vedere Utilità SqlLocalDB.
Le regole di confronto dell'istanza per LocalDB sono impostate su SQL_Latin1_General_CP1_CI_AS e non possono essere modificate. Le collazioni a livello di database, di colonna e di espressione sono normalmente supportate. I database contenuti seguono le regole di confronto di metadati e tempdb definite da Confronti del database contenuto.
Restrizioni
LocalDB non può essere un sottoscrittore di replica di tipo merge.
LocalDB non supporta FILESTREAM.
LocalDB consente solo l'uso di code locali per Service Broker.
Un'istanza LocalDB di proprietà degli account predefiniti, ad esempio NT AUTHORITY\SYSTEM, può avere problemi di gestibilità a causa del reindirizzamento del file system di Windows. Utilizzare invece un normale account di Windows come proprietario.
Istanze automatiche e denominate
LocalDB supporta due tipi di istanze: istanze automatiche e istanze denominate.
Le istanze automatiche di
LocalDBsono pubbliche. Vengono creati e gestiti automaticamente per l'utente e possono essere usati da qualsiasi applicazione. Esiste un'istanza automatica diLocalDBper ogni versione diLocalDBinstallata nel computer dell'utente. Le istanze automatiche diLocalDBforniscono una gestione senza soluzione di continuità delle istanze. Non è necessario creare l'istanza; funziona solo. In questo modo è possibile eseguire facilmente l'installazione e la migrazione di applicazioni a un computer diverso. Se nel computer di destinazione è installata la versione specificata diLocalDB, è disponibile anche l'istanza automatica diLocalDBper quella versione. Le istanze automatiche diLocalDBhanno un modello speciale per il nome che appartiene a uno spazio dei nomi riservato. In questo modo si evitano conflitti di nomi con istanze denominate diLocalDB. Il nome dell'istanza automatica è MSSQLLocalDB.Le istanze denominate di
LocalDBsono private. Sono di proprietà di una singola applicazione responsabile della creazione e della gestione dell'istanza. Le istanze denominate forniscono l'isolamento da altre istanze e possono migliorare le prestazioni riducendo la contesa delle risorse con altri utenti del database. Le istanze denominate devono essere create in modo esplicito dall'utente tramite l'APILocalDBdi gestione o in modo implicito tramite il file di app.config per un'applicazione gestita (anche se l'applicazione gestita può usare l'API, se necessario). Ogni istanza denominata diLocalDBha una versione associataLocalDBche fa riferimento al rispettivo insieme di file binariLocalDB. Il nome dell'istanza di unLocalDBè del tipo di datisysnamee può contenere fino a 128 caratteri. Questo comportamento è diverso dalle normali istanze denominate di SQL Server, che limita i nomi ai nomi NetBIOS regolari di 16 caratteri ASCII. Il nome di un'istanza diLocalDBpuò contenere qualsiasi carattere Unicode valido all'interno di un nome file. Un'istanza denominata che usa un nome di istanza automatica diventa un'istanza automatica.
Utenti diversi di un computer possono avere istanze con lo stesso nome. Ogni istanza è un processo diverso in esecuzione come utente diverso.
Istanze condivise di LocalDB
Per supportare scenari in cui più utenti del computer devono connettersi a una singola istanza di LocalDB, LocalDB supporta la condivisione delle istanze. Un proprietario dell'istanza può scegliere di consentire agli altri utenti del computer di connettersi all'istanza. È possibile condividere sia istanze automatiche che denominate di LocalDB . Per condividere un'istanza di LocalDB un utente seleziona un nome condiviso (alias) per tale istanza. Poiché il nome condiviso è visibile a tutti gli utenti del computer, questo nome condiviso deve essere univoco nel computer. Il nome condiviso per un'istanza di LocalDB ha lo stesso formato dell'istanza denominata di LocalDB.
Solo un amministratore nel computer può creare un'istanza condivisa di LocalDB. Un'istanza condivisa di LocalDB può essere annullata da un amministratore o dal proprietario dell'istanza condivisa di LocalDB. Per condividere e annullare la condivisione di un'istanza di LocalDB, usare i LocalDBShareInstance metodi e LocalDBUnShareInstance dell'API LocalDB oppure le opzioni di condivisione e annullamento della condivisione dell'utilità SqlLocalDb.
Avvio di LocalDB e connessione a LocalDB
Connessione all'istanza automatica
Il modo più semplice per usare LocalDB consiste nel connettersi all'istanza automatica di proprietà dell'utente corrente usando la stringa di connessione "Server=(localdb)\MSSQLLocalDB; Integrated Security=true". Per connettersi a un database specifico usando il nome file, connettersi usando una stringa di connessione simile a "Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ; AttachDbFileName=D:\Data\MyDB1.mdf".
Annotazioni
La prima volta che un utente in un computer tenta di connettersi a LocalDB, l'istanza automatica deve essere creata e avviata. Il tempo aggiuntivo per la creazione dell'istanza può causare l'esito negativo del tentativo di connessione con un messaggio di timeout. In questo caso, attendere alcuni secondi per consentire il completamento del processo di creazione e quindi connettersi di nuovo.
Creazione e collegamento a istanze denominate
Oltre all'istanza automatica, LocalDB supporta anche istanze denominate. Usare il programma SqlLocalDB.exe per creare, avviare e arrestare un'istanza denominata di LocalDB. Per altre informazioni su SqlLocalDB.exe, vedere Utilità SqlLocalDB.
REM Create an instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1
REM Start the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1
REM Gather information about the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1
L'ultima riga precedente restituisce informazioni simili alle seguenti.
| Nome | "LocalDBApp1" |
| Versione | <Versione corrente> |
| Nome condiviso | "" |
| Proprietario | "<Il tuo utente> di Windows" |
| Creazione automatica | NO |
| stato | corsa |
| Ora dell'ultimo inizio | <Data e ora> |
| Nome pipe dell'istanza | np:\\.\pipe\LOCALDB#F365A78E\tsql\query |
Annotazioni
Se l'applicazione usa una versione di .NET precedente alla versione 4.0.2, è necessario connettersi direttamente alla named pipe di LocalDB. Il valore del nome della pipe dell'istanza è la pipe nominata su cui l'istanza di LocalDB è in ascolto. La parte del nome del percorso (pipe) dell'istanza dopo LOCALDB# cambierà ogni volta che si avvia l'istanza di LocalDB. Per connettersi all'istanza di LocalDB tramite SQL Server Management Studio, digitare il nome della pipe dell'istanza nella casella Nome server della finestra di dialogo Connetti al motore di database . Dal tuo programma personalizzato, puoi stabilire una connessione all'istanza di LocalDB usando una stringa di connessione simile a SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");
Connessione a un'istanza condivisa di LocalDB
Per connettersi a un'istanza condivisa di LocalDB aggiungere .\ (punto + barra rovesciata) alla stringa di connessione per fare riferimento allo spazio dei nomi riservato per le istanze condivise. Ad esempio, per connettersi a un'istanza condivisa di LocalDB denominata AppData, usare una stringa di connessione come (localdb)\.\AppData come parte della stringa di connessione. Un utente che si connette a un'istanza condivisa di LocalDB cui non è proprietario deve disporre di un account di accesso con autenticazione di Windows o autenticazione di SQL Server.
Risoluzione dei problemi
Per informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi relativi a SQL Server 2012 Express LocalDB.LocalDB
Autorizzazioni
Un'istanza di SQL Server 2014 ExpressLocalDB è un'istanza creata da un utente per l'uso. Qualsiasi utente nel computer può creare un database usando un'istanza di LocalDB, archiviando i file nel profilo utente ed eseguendo il processo con le proprie credenziali. Per impostazione predefinita, l'accesso all'istanza di LocalDB è limitato al proprietario. I dati contenuti nel LocalDB sono protetti dall'accesso al file system ai file di database. Se i file di database utente vengono archiviati in un percorso condiviso, il database può essere aperto da chiunque disponga dell'accesso al file system a tale percorso usando un'istanza di LocalDB che possiede. Se i file di database si trovano in un percorso protetto, ad esempio la cartella dei dati degli utenti, solo tale utente e qualsiasi amministratore con accesso a tale cartella, può aprire il database. I LocalDB file possono essere aperti solo da un'istanza di LocalDB alla volta.
Annotazioni
LocalDB viene sempre eseguito nel contesto di sicurezza degli utenti; ovvero non LocalDB viene mai eseguito con le credenziali del gruppo dell'amministratore locale. Ciò significa che tutti i file di database usati da un'istanza LocalDB devono essere accessibili usando l'account di Windows dell'utente proprietario, senza considerare l'appartenenza al gruppo Administrators locale.