Credenziali usate per accedere alla libreria client dei database elasticiCredentials used to access the Elastic Database client library

La libreria client dei database elastici usa tre diversi tipi di credenziali per accedere al gestore delle mappe partizioni.The Elastic Database client library uses three different kinds of credentials to access the shard map manager. A seconda delle esigenze, usare le credenziali con il minimo livello possibile di accesso.Depending on the need, use the credential with the lowest level of access possible.

  • Credenziali di gestione: per la creazione o la modifica di un gestore di mappa di partizionamento.Management credentials: for creating or manipulating a shard map manager. (Vedere il glossario.)(See the glossary.)
  • Credenziali di accesso: per accedere a un gestore di mappa di partizione esistente per ottenere informazioni sulle partizioni.Access credentials: to access an existing shard map manager to obtain information about shards.
  • Credenziali di connessione: per connettersi alle partizioni.Connection credentials: to connect to shards.

Vedere anche Gestione di database e account di accesso in database SQL di Azure.See also Managing databases and logins in Azure SQL Database.

Informazioni sulle credenziali di gestioneAbout management credentials

Le credenziali di gestione vengono usate per creare un oggetto ShardMapManager (Java, .NET) per applicazioni che modificano le mappe partizioni.Management credentials are used to create a ShardMapManager (Java, .NET) object for applications that manipulate shard maps. Ad esempio, vedere Aggiunta di una partizione usando gli strumenti di database elastici e Routing dipendente dai dati.(For example, see Adding a shard using Elastic Database tools and data-dependent routing). 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.The user of the elastic scale client library creates the SQL users and SQL logins and makes sure each is granted the read/write permissions on the global shard map database and all shard databases as well. Queste credenziali vengono usate per la gestione della mappa globale partizioni e delle mappe locali partizioni quando si apportano modifiche alla mappa partizioni.These credentials are used to maintain the global shard map and the local shard maps when changes to the shard map are performed. Ad esempio, usare le credenziali di gestione per creare l'oggetto di gestione delle mappe partizioni usando GetSqlShardMapManager (Java, .NET):For instance, use the management credentials to create the shard map manager object (using GetSqlShardMapManager (Java, .NET):

// 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.The variable smmAdminConnectionString is a connection string that contains the management credentials. L'ID utente e la password forniscono accesso in lettura/scrittura sia al database della mappa partizioni che alle singole partizioni.The user ID and password provide read/write access to both shard map database and individual shards. 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.The management connection string also includes the server name and database name to identify the global shard map database. La seguente è una stringa di connessione tipica usata a tale scopo:Here is a typical connection string for that purpose:

"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", ma usare solo il valore "username".Do not use values in the form of "username@server"—instead just use the "username" value. Infatti, le credenziali devono funzionare sia per il database del gestore mappe partizioni sia per le singole partizioni, che possono essere in server diversi.This is because credentials must work against both the shard map manager database and individual shards, which may be on different servers.

Credenziali di accessoAccess credentials

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.When creating a shard map manager in an application that does not administer shard maps, use credentials that have read-only permissions on the global shard map. Le informazioni recuperate dalla mappa globale partizioni con queste credenziali vengono usate per il routing dipendente dai dati e per popolare la cache della mappa di partizionamento orizzontale nel client.The information retrieved from the global shard map under these credentials is used for data-dependent routing and to populate the shard map cache on the client. Le credenziali vengono fornite in base allo stesso modello di chiamata a GetSqlShardMapManager:The credentials are provided through the same call pattern to GetSqlShardMapManager:

// 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.Note the use of the smmReadOnlyConnectionString to reflect the use of different credentials for this access on behalf of non-admin users: these credentials should not provide write permissions on the global shard map.

Credenziali di connessioneConnection credentials

Sono inoltre necessarie credenziali aggiuntive quando si usa il metodo OpenConnectionForKey (Java, .NET) per accedere a una partizione associata a una chiave di partizionamento orizzontale.Additional credentials are needed when using the OpenConnectionForKey (Java, .NET) method to access a shard associated with a sharding key. Queste credenziali devono fornire autorizzazioni per l'accesso di sola lettura alle tabelle della mappa locale partizioni che risiedono nella partizione.These credentials need to provide permissions for read-only access to the local shard map tables residing on the shard. Tale comportamento è necessario per eseguire la convalida della connessione per il routing dipendente dai dati nella partizione.This is needed to perform connection validation for data-dependent routing on the shard. Questo frammento di codice consente l'accesso ai dati nel contesto di routing dipendente dai dati:This code snippet allows data access in the context of data-dependent routing:

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

In questo esempio smmUserConnectionString contiene la stringa di connessione per le credenziali utente.In this example, smmUserConnectionString holds the connection string for the user credentials. Questa è invece una stringa di connessione tipica per le credenziali utente per il database SQL di Azure:For Azure SQL DB, here is a typical connection string for user credentials:

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

Come con le credenziali di amministratore, non usare valori nel formato "username@server".As with the admin credentials, do not use values in the form of "username@server". Usare invece solo "username".Instead, just use "username". Si noti inoltre che la stringa di connessione non contiene un nome di server e un nome di database,Also note that the connection string does not contain a server name and database name. in quando la chiamata a OpenConnectionForKey reindirizzerà automaticamente la connessione alla partizione corretta in base alla chiave.That is because the OpenConnectionForKey call automatically directs the connection to the correct shard based on the key. Di conseguenza, non vengono forniti il nome del database e il nome del server.Hence, the database name and server name are not provided.

Vedere ancheSee also

Gestione di database e account di accesso in database SQL di AzureManaging databases and logins in Azure SQL Database

Protezione del Database SQLSecuring your SQL Database

Introduzione ai processi di Database ElasticiGetting started with Elastic Database jobs

Risorse aggiuntiveAdditional resources

Se non si usano gli strumenti di database elastici,Not using elastic database tools yet? vedere la Guida introduttiva.Check out our Getting Started Guide. 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.For questions, please reach out to us on the SQL Database forum and for feature requests, please add them to the SQL Database feedback forum.