Autentiseringsuppgifter som används för att komma åt Elastic Database-klientbiblioteket

Gäller för:Azure SQL Database

Elastic Database-klientbiblioteket använder tre olika typer av autentiseringsuppgifter för att komma åt karthanteraren för shard. Beroende på behovet använder du autentiseringsuppgifterna med lägsta möjliga åtkomstnivå.

  • Autentiseringsuppgifter för hantering: för att skapa eller ändra en shard map manager. (Se ordlistan.)
  • Åtkomstautentiseringsuppgifter: för att få åtkomst till en befintlig shard map manager för att hämta information om shards.
  • Anslut jonautentiseringsuppgifter: för att ansluta till shards.

Se även Hantera databaser och inloggningar i Azure SQL Database.

Om autentiseringsuppgifter för hantering

Autentiseringsuppgifter för hantering används för att skapa ett ShardMapManager-objekt (Java, .NET) för program som manipulerar shardkartor. (Se till exempel Lägga till en shard med hjälp av Elastic Database-verktyg och databeroende routning). Användaren av klientbiblioteket för elastisk skalning skapar SQL-användare och SQL-inloggningar och ser till att var och en beviljas läs-/skrivbehörigheter för den globala shardmappningsdatabasen och alla sharddatabaser. Dessa autentiseringsuppgifter används för att underhålla den globala fragmentkartan och de lokala fragmentkartarna när ändringar i fragmentkartan utförs. Använd till exempel autentiseringsuppgifterna för hantering för att skapa shard map manager-objektet (med GetSqlShardMapManager (Java, .NET):

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

Variabeln smmAdmin Anslut ionString är en anslutningssträng som innehåller autentiseringsuppgifterna för hantering. Användar-ID och lösenord ger läs-/skrivåtkomst till både shard map-databas och enskilda shards. Hanterings-anslutningssträng innehåller även servernamnet och databasnamnet för att identifiera den globala shardmappningsdatabasen. Här är en typisk anslutningssträng för detta ändamål:

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

Använd inte värden i form av "username@server" – använd i stället bara värdet "användarnamn". Det beror på att autentiseringsuppgifterna måste fungera mot både shard map manager-databasen och enskilda shards, som kan finnas på olika servrar.

Åtkomstautentiseringsuppgifter

När du skapar en shard map manager i ett program som inte administrerar shard maps använder du autentiseringsuppgifter som har skrivskyddade behörigheter på den globala fragmentkartan. Informationen som hämtas från den globala fragmentkartan under dessa autentiseringsuppgifter används för databeroende routning och för att fylla i shardkartans cacheminne på klienten. Autentiseringsuppgifterna tillhandahålls via samma anropsmönster till GetSqlShardMapManager:

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

Observera användningen av smmReadOnly Anslut ionString för att återspegla användningen av olika autentiseringsuppgifter för den här åtkomsten för icke-administratörsanvändare: dessa autentiseringsuppgifter bör inte ge skrivbehörigheter på den globala fragmentkartan.

Autentiseringsuppgifter för anslutning

Ytterligare autentiseringsuppgifter krävs när du använder metoden Open Anslut ionForKey (Java, .NET) för att få åtkomst till en shard som är associerad med en horisontell partitioneringsnyckel. Dessa autentiseringsuppgifter måste ge behörighet för skrivskyddad åtkomst till de lokala shard-karttabellerna som finns på fragmentet. Detta krävs för att utföra anslutningsverifiering för databeroende routning på fragmentet. Det här kodfragmentet tillåter dataåtkomst i samband med databeroende routning:

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

I det här exemplet innehåller smmUser Anslut ionString anslutningssträng för användarautentiseringsuppgifterna. För Azure SQL Database är här en typisk anslutningssträng för användarautentiseringsuppgifter:

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

Precis som med administratörsautentiseringsuppgifterna ska du inte använda värden i form av "username@server". Använd i stället bara "användarnamn". Observera också att anslutningssträng inte innehåller något servernamn och databasnamn. Det beror på att anropet Open Anslut ionForKey automatiskt dirigerar anslutningen till rätt shard baserat på nyckeln. Därför anges inte databasnamnet och servernamnet.

Se även

Hantera databaser och inloggningar i Azure SQL Database

Säkra din SQL Database

Elastic Database-jobb

Ytterligare resurser

Använder du inte elastiska databasverktyg än? Kolla in vår komma igång-guide. Om du har frågor kan du kontakta oss på microsofts Q&A-frågesida för SQL Database och för funktionsförfrågningar, lägga till nya idéer eller rösta på befintliga idéer i SQL Database-feedbackforumet.