Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:Azure SQL Database
Belangrijk
Elastische query in de shardmapbeheermodus (horizontale partitionering), met behulp van EXTERNAL DATA SOURCE type SHARD_MAP_MANAGER, bereikt het einde van de ondersteuning op 31 maart 2027. Na deze datum blijven bestaande workloads functioneren, maar krijgen ze geen ondersteuning meer en is het maken van nieuwe externe gegevensbronnen van het type SHARD_MAP_MANAGER niet meer mogelijk. Zie de migratiehandleiding van de modus van de Elastic Query Shard Map Manager.
Het bouwen van schaalbare clouddatabases maakt gebruik van drie verschillende soorten referenties voor toegang tot de shard map manager. Gebruik, afhankelijk van de behoefte, de referentie met het laagste toegangsniveau dat mogelijk is.
- Beheerreferenties: voor het maken of veranderen van een shard map manager. (Zie de woordenlijst.)
- Toegangsreferenties: om toegang te krijgen tot een bestaande shard-kaartbeheerder om informatie over shards te verkrijgen.
- Verbindingsgegevens: verbinding maken met shards.
Zie Databasetoegang tot Azure SQL Database autoriseren voor meer informatie.
Over beheerreferenties
Beheerreferenties worden gebruikt om een ShardMapManager (Java, .NET)-object te maken voor toepassingen die shard-toewijzingen bewerken. (Zie bijvoorbeeld Het toevoegen van een shard met behulp van hulpprogramma's voor Elastic Database en gegevensafhankelijke routering). De gebruiker van de elastische-schaalclientbibliotheek maakt de SQL-gebruikers en SQL-aanmeldingen en zorgt ervoor dat aan elk ervan de lees-/schrijfmachtigingen worden verleend voor de globale shard-toewijzingsdatabase en alle sharddatabases. Deze referenties worden gebruikt voor het onderhouden van de globale shard-toewijzing en de lokale shard-toewijzingen wanneer wijzigingen in de shard-toewijzing worden uitgevoerd. Gebruik bijvoorbeeld de beheerreferenties om het shard-toewijzingsbeheerobject te maken (met behulp van GetSqlShardMapManager (Java, .NET):
// Obtain a shard map manager.
ShardMapManager shardMapManager = ShardMapManagerFactory.GetSqlShardMapManager(smmAdminConnectionString,ShardMapManagerLoadPolicy.Lazy);
De variabele smmAdminConnectionString is een verbindingsreeks die de beheerreferenties bevat. De gebruikers-id en het wachtwoord bieden lees-/schrijftoegang tot zowel de shard map database als afzonderlijke shards. De beheerverbindingsreeks bevat ook de servernaam en databasenaam om de globale sharding-database te identificeren. Hier volgt een typische verbindingsreeks voor dat doel:
"Server=<yourserver>.database.windows.net;Database=<yourdatabase>;User ID=<yourmgmtusername>;Password=<yourmgmtpassword>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
Gebruik geen waarden in de vorm van 'username@server'. Gebruik in plaats daarvan alleen de waarde 'gebruikersnaam'. Dit komt omdat verificatiegegevens moeten werken voor zowel de shard-toewijzingsbeheerdatabase als individuele shards, die zich op verschillende servers kunnen bevinden.
Toegangsreferenties
Wanneer u een shard map manager maakt in een toepassing die geen shard maps beheert, gebruikt u referenties met alleen-lezenmachtigingen voor de globale shard map. De informatie die wordt opgehaald uit de globale shard-toewijzing onder deze referenties, wordt gebruikt voor gegevensafhankelijke routering en om de shard-toewijzingscache op de client te vullen. De inloggegevens worden opgegeven via hetzelfde aanroeppatroon naar GetSqlShardMapManager:
// Obtain shard map manager.
ShardMapManager shardMapManager = ShardMapManagerFactory.GetSqlShardMapManager(smmReadOnlyConnectionString, ShardMapManagerLoadPolicy.Lazy);
Noteer het gebruik van de smmReadOnlyConnectionString om het gebruik van verschillende inloggegevens voor deze toegang namens niet-beheerders weer te geven: deze inloggegevens mogen geen schrijfmachtigingen hebben op de globale shard map.
Verbindingsgegevens
Er zijn extra referenties nodig wanneer u de OpenConnectionForKey methode (Java, .NET) gebruikt om toegang te krijgen tot een shard die is gekoppeld aan een shardingsleutel. Deze referenties moeten machtigingen bieden voor alleen-lezenrechten tot de lokale shardkaarttabellen die zich op de shard bevinden. Dit is nodig om verbindingsvalidatie uit te voeren voor gegevensafhankelijke routering op de shard. Dit codefragment biedt toegang tot gegevens in de context van gegevensafhankelijke routering:
using (SqlConnection conn = rangeMap.OpenConnectionForKey<int>(targetWarehouse, smmUserConnectionString, ConnectionOptions.Validate))
In dit voorbeeld bewaart smmUserConnectionString de verbindingsreeks voor de gebruikersinloggegevens. Voor Azure SQL Database ziet u hier een typische verbindingsreeks voor gebruikersreferenties:
"User ID=<yourusername>; Password=<youruserpassword>; Trusted_Connection=False; Encrypt=True; Connection Timeout=30;"
Net als bij de beheerdersreferenties gebruikt u geen waarden in de vorm van username@server. Gebruik in plaats daarvan gewoon username. Houd er ook rekening mee dat de verbindingsreeks geen servernaam en databasenaam bevat. Dat komt doordat de OpenConnectionForKey aanroep automatisch de verbinding naar de juiste shard stuurt op basis van de sleutel. Daarom worden de databasenaam en servernaam niet opgegeven.
Verwante inhoud
Gebruikt u nog geen hulpprogramma's voor elastische databases? Bekijk onze Aan de slag-handleiding. Neem voor vragen contact met ons op op de Microsoft Q&A-vragenpagina voor SQL Database en voor functieaanvragen, voeg nieuwe ideeën toe of stem op bestaande ideeën in het SQL Database-feedbackforum.