Credenziali usate per accedere alla libreria client dei database elastici

La libreria client dei database elastici usa tre diversi tipi di credenziali per accedere al gestore delle mappe partizioni. A seconda delle esigenze, usare le credenziali con il minimo livello possibile di accesso.

  • Credenziali di gestione: per la creazione o la modifica di un gestore di mappa di partizionamento. (Vedere il glossario.)
  • Credenziali di accesso: per accedere a un gestore di mappa di partizione esistente per ottenere informazioni sulle partizioni.
  • Credenziali di connessione: per connettersi alle partizioni.

Vedere anche Gestione di database e account di accesso in database SQL di Azure.

Informazioni sulle credenziali di gestione

Le credenziali di gestione vengono usate per creare un oggetto ShardMapManager per applicazioni che modificano le mappe partizioni. Ad esempio, vedere Aggiunta di una partizione utilizzando gli strumenti di database elastici e Routing dipendente dei dati. L'utente della libreria client dei database elastici crea gli utenti e gli account di accesso SQL e garantisce che ad ognuno vengano concesse autorizzazioni di lettura/scrittura per il database della mappa globale partizioni, nonché per tutti i database delle partizioni. Queste credenziali vengono usate per la gestione della mappa globale partizioni e delle mappe locali partizioni quando si apportano modifiche alla mappa partizioni. Ad esempio, usare le credenziali di gestione per creare l'oggetto di gestione delle mappe partizioni usando GetSqlShardMapManager:

// Obtain a shard map manager. 
ShardMapManager shardMapManager = ShardMapManagerFactory.GetSqlShardMapManager( 
        smmAdminConnectionString, 
        ShardMapManagerLoadPolicy.Lazy 
); 

La variabile smmAdminConnectionString è una stringa di connessione che contiene le credenziali di gestione. L'ID utente e la password forniscono accesso in lettura/scrittura sia al database della mappa partizioni che alle singole partizioni. La stringa di connessione alla gestione include anche il nome del server e il nome del database per identificare il database della mappa globale partizioni. La seguente è una stringa di connessione tipica usata a tale scopo:

 "Server=<yourserver>.database.windows.net;Database=<yourdatabase>;User ID=<yourmgmtusername>;Password=<yourmgmtpassword>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;” 

Non usare valori nel formato "username@server"—instead, usare solo il valore "username". Infatti, le credenziali devono funzionare sia per il database del gestore mappe partizioni sia per le singole partizioni, che possono essere in server diversi.

Credenziali di accesso

Quando si crea un gestore mappe partizioni in un'applicazione che non amministra mappe partizioni, usare credenziali a cui sono assegnate autorizzazioni di sola lettura per la mappa globale partizioni. Le informazioni recuperate dalla mappa globale partizioni con queste credenziali vengono utilizzate per il routing dipendente dai dati e per popolare la cache della mappa di partizionamento orizzontale nel client. Le credenziali vengono fornite in base allo stesso modello di chiamata a GetSqlShardMapManager come illustrato in precedenza:

// Obtain shard map manager. 
ShardMapManager shardMapManager = ShardMapManagerFactory.GetSqlShardMapManager( 
        smmReadOnlyConnectionString, 
        ShardMapManagerLoadPolicy.Lazy
);  

Si noti l'uso di smmReadOnlyConnectionString per rispecchiare le diverse credenziali per questo accesso usate da utenti non amministratori. Queste credenziali non devono infatti fornire autorizzazioni di scrittura per la mappa globale partizioni.

Credenziali di connessione

Sono inoltre necessarie credenziali aggiuntive quando si usa il metodo OpenConnectionForKey per accedere a una partizione associata a una chiave di partizionamento orizzontale. Queste credenziali devono fornire autorizzazioni per l'accesso di sola lettura alle tabelle della mappa locale partizioni che risiedono nella partizione. Tale comportamento è necessario per eseguire la convalida della connessione per il routing dipendente dai dati nella partizione. Questo frammento di codice consente l'accesso ai dati nel contesto di routing dipendente dai dati:

using (SqlConnection conn = rangeMap.OpenConnectionForKey<int>( 
targetWarehouse, smmUserConnectionString, ConnectionOptions.Validate)) 

In questo esempio smmUserConnectionString contiene la stringa di connessione per le credenziali utente. Questa è invece una stringa di connessione tipica per le credenziali utente per il database SQL di Azure:

"User ID=<yourusername>; Password=<youruserpassword>; Trusted_Connection=False; Encrypt=True; Connection Timeout=30;”  

Come con le credenziali di amministratore, nessun valore sotto forma di "username@server". Usare invece solo "username". Si noti inoltre che la stringa di connessione non contiene un nome di server e un nome di database, in quando la chiamata a OpenConnectionForKey reindirizzerà automaticamente la connessione alla partizione corretta in base alla chiave. Di conseguenza, non vengono forniti il nome del database e il nome del server.

Vedere anche

Gestione di database e account di accesso in database SQL di Azure

Protezione del Database SQL

Introduzione ai processi di Database Elastici

Risorse aggiuntive

Se non si usano gli strumenti di database elastici, vedere la Guida introduttiva. Se ci sono domande, è possibile visitare il forum sul database SQL mentre è possibile inserire le richieste di nuove funzionalità nel forum relativo a commenti e suggerimenti sul database SQL.