Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:Azure SQL Database
La creación de bases de datos en la nube escalables usa tres tipos diferentes de credenciales para acceder al administrador de mapas de particiones. Según lo que necesite, use la credencial que posea el nivel más bajo de acceso posible.
- Credenciales de administración: se usan para crear o manipular un administrador de mapas de particiones. (Consulte el glosario).
- Credenciales de acceso: se usan para obtener acceso a un administrador de mapas de particiones ya existente, para así obtener información acerca de las particiones.
- Credenciales de conexión: se usan para conectarse a las particiones.
Para más información, consulte Autorización del acceso de base de datos a Azure SQL Database.
Acerca de las credenciales de administración
Las credenciales de administración se usan para crear un ShardMapManager objeto (Java, .NET) para aplicaciones que manipulan mapas de particiones. (Por ejemplo, vea Incorporación de una partición con herramientas de Elastic Database y Enrutamiento dependiente de los datos). El usuario de la biblioteca de cliente de escalado elástico crea los usuarios e inicios de sesión de SQL necesarios; asimismo, debe asegurarse de que estos tienen permisos de lectura y escritura para poder usar la base de datos de mapa de particiones global y todas las bases de datos de particiones. Estas credenciales se usan para mantener el mapa de particiones global y los mapas de particiones locales cuando se realizan cambios en el mapa de particiones. Por ejemplo, use las credenciales de administración para crear el objeto administrador de mapas de particiones (mediante GetSqlShardMapManager (Java, .NET):
// Obtain a shard map manager.
ShardMapManager shardMapManager = ShardMapManagerFactory.GetSqlShardMapManager(smmAdminConnectionString,ShardMapManagerLoadPolicy.Lazy);
La variable smmAdminConnectionString es una cadena de conexión que contiene las credenciales de administración. El identificador de usuario y la contraseña proporcionan acceso de lectura y escritura a la base de datos de mapa de particiones y a particiones individuales. La cadena de conexión de administración también incluye el nombre del servidor y el nombre de la base de datos para identificar la base de datos de mapa de particiones global. Esta es una cadena de conexión típica para ese propósito:
"Server=<yourserver>.database.windows.net;Database=<yourdatabase>;User ID=<yourmgmtusername>;Password=<yourmgmtpassword>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
No use valores en forma de "username@server"; en su lugar, simplemente use el valor "nombre de usuario". Esto se debe a que las credenciales deben funcionar en la base de datos del administrador de mapas de particiones y en particiones individuales, que pueden estar en servidores diferentes.
Credenciales de acceso
Al crear un administrador de mapas de particiones en una aplicación que no administra mapas de particiones, use credenciales que tengan permisos de solo lectura en el mapa de particiones global. La información recuperada del mapa de particiones global que tenga estas credenciales se usa para el enrutamiento dependiente de los datos y para rellenar la caché del mapa de particiones del cliente. Las credenciales se proporcionan mediante el mismo patrón de llamada a GetSqlShardMapManager:
// Obtain shard map manager.
ShardMapManager shardMapManager = ShardMapManagerFactory.GetSqlShardMapManager(smmReadOnlyConnectionString, ShardMapManagerLoadPolicy.Lazy);
Tenga en cuenta el uso de smmReadOnlyConnectionString para reflejar el uso de credenciales diferentes para este acceso en nombre de los usuarios que no son administradores : estas credenciales no deben proporcionar permisos de escritura en el mapa de particiones global.
Credenciales de conexión
Se necesitan credenciales adicionales al usar el OpenConnectionForKey método (Java, .NET) para acceder a una partición asociada a una clave de particionamiento. Estas credenciales deben proporcionar los permisos de acceso de solo lectura a las tablas de mapa de particiones local que residen en la partición. Esto es necesario para realizar la validación de la conexión para el enrutamiento dependiente de los datos en la partición. Este fragmento de código le permitirá obtener acceso a los datos, según el contexto de enrutamiento dependiente de los datos:
using (SqlConnection conn = rangeMap.OpenConnectionForKey<int>(targetWarehouse, smmUserConnectionString, ConnectionOptions.Validate))
En este ejemplo, smmUserConnectionString contiene la cadena de conexión para las credenciales de usuario. Para Azure SQL Database, esta es una cadena de conexión típica para las credenciales de usuario:
"User ID=<yourusername>; Password=<youruserpassword>; Trusted_Connection=False; Encrypt=True; Connection Timeout=30;"
Al igual que con las credenciales de administrador, no use valores en forma de username@server. En su lugar, simplemente use username. Tenga en cuenta también que la cadena de conexión no contiene un nombre de servidor ni un nombre de base de datos. Esto se debe a que la OpenConnectionForKey llamada dirige automáticamente la conexión a la partición correcta en función de la clave. Por lo tanto, no se proporciona el nombre de la base de datos ni el nombre del servidor.
Contenido relacionado
¿Aún no ha usado las herramientas de base de datos elástica? Consulte la Guía de introducción. Si tiene alguna pregunta, póngase en contacto con nosotros en la Página de preguntas y respuestas de Microsoft sobre SQL Database y, para efectuar solicitudes de características, agregue nuevas ideas o vote por las ideas existentes en el foro de comentarios sobre SQL Database.