VENTES: 1-800-867-1389

Gestion des bases de données et des connexions dans Base de données SQL Azure

Mis à jour: février 2014

Dans Microsoft Base de données SQL Microsoft Azure, lorsque vous vous inscrivez pour le service, le processus de déploiement crée un serveur Base de données SQL Azure, une base de données nommée master et une connexion qui est le principal au niveau du serveur de votre serveur Base de données SQL Azure. Cette connexion est semblable au principal au niveau du serveur, sa, pour une instance de SQL Server locale.

Le compte de principal au niveau du serveur Base de données SQL Azure a toujours l'autorisation de gérer toute la sécurité au niveau du serveur et au niveau de la base de données. Cette rubrique décrit comment vous pouvez utiliser le principal au niveau du serveur et d'autres comptes pour gérer des connexions et des bases de données dans Base de données SQL Microsoft Azure.  

L'administration de la sécurité dans Base de données SQL Microsoft Azure est semblable à l'administration de la sécurité d'une instance de SQL Server locale. La gestion de la sécurité au niveau de la base de données est presque identique, les seules différences concernant les paramètres disponibles. Les Base de données SQL Azure pouvant résider sur un ou plusieurs ordinateurs physiques, Base de données SQL Microsoft Azure utilise une autre stratégie pour l'administration au niveau du serveur. Le tableau suivant résume dans quelle mesure l'administration de la sécurité pour un ordinateur SQL Server sur site est différente de celle dans Base de données SQL Microsoft Azure.

 

Point de différence SQL Server sur site Base de données SQL Microsoft Azure

Emplacement où vous gérez la sécurité au niveau du serveur

Dossier Sécurité dans l'Explorateur d'objets de SQL Server Management Studio

Base de données master

Rôle de sécurité au niveau du serveur pour la création de connexions

Rôle serveur fixe securityadmin

Pour plus d'informations, consultez Rôles de niveau serveur

Rôle de base de données loginmanager dans la base de données master

Commandes de gestion des connexions

CREATE LOGIN

ALTER LOGIN

DROP LOGIN

CREATE LOGIN

ALTER LOGIN

DROP LOGIN

(Il existe certaines limitations de paramètres et vous devez être connecté à la base de données master)

Vue qui affiche toutes les connexions

sys.syslogins (sys.sql_logins pour les connexions d'authentification SQL Server)

sys.sql_logins

(Vous devez être connecté à la base de données master)

Rôle au niveau du serveur pour la création de bases de données

Rôle de base de données fixe dbcreator

Pour plus d'informations, consultez Rôles de niveau serveur

Rôle de base de données dbmanager dans la base de données master

Commande de création de base de données

CREATE DATABASE

CREATE DATABASE

(Il existe certaines limitations de paramètres et vous devez être connecté à la base de données master)

Suppression de bases de données

DROP DATABASE

DROP DATABASE

Si un utilisateur possède le rôle dbmanager, il a l'autorisation de supprimer (DROP) toute base de données, quel que soit l'utilisateur qui l'a créée initialement.

Vue qui répertorie toutes les bases de données

sys.databases

(vue)

sys.databases

(Vous devez être connecté à la base de données master)

Votre serveur Base de données SQL Azure est une abstraction qui définit un regroupement de bases de données. Les bases de données associées à votre serveur Base de données SQL Azure peuvent résider sur des ordinateurs physiques distincts dans le centre de données Microsoft. L'administration au niveau du serveur s'effectue à l'aide d'une base de données unique nommée master.

La base de données master effectue le suivi des connexions, notamment de celles qui ont l'autorisation de créer des bases de données ou d'autres connexions. Vous devez être connecté à la base de données master chaque fois que vous exécutez une opération CREATE, ALTER ou DROP pour une connexion ou une base de données. La base de données master a également les vues sys.sql_logins et sys.databases, que vous pouvez utiliser pour afficher respectivement des bases de données et des connexions.

noteRemarque
La commande USE n'est pas prise en charge pour basculer d'une base de données à une autre. Établissez directement une connexion à la base de données cible.

Vous pouvez gérer la sécurité au niveau de la base de données pour les utilisateurs et les objets dans Base de données SQL Microsoft Azure de la même façon que pour une instance sur site de SQL Server. Il existe des différences uniquement en ce qui concerne les paramètres disponibles pour les commandes correspondantes. Pour plus d'informations, consultez Référence Transact-SQL (Transact-SQL).

Vous pouvez gérer les connexions avec la connexion de principal au niveau du serveur en vous connectant à la base de données master. Vous pouvez utiliser les instructions CREATE LOGIN, ALTER LOGIN ou DROP LOGIN L'exemple suivant crée une connexion nommée login1 :

-- first, connect to the master database
CREATE LOGIN login1 WITH password='<ProvidePassword>';
noteRemarque
Vous devez utiliser un mot de passe fort lors de la création d'une connexion. Pour plus d'informations, consultez Mots de passe forts.

Pour vous connecter à Base de données SQL Microsoft Azure à l'aide des connexions que vous créez, vous devez d'abord accorder à chaque connexion des autorisations au niveau de la base de données à l'aide de la commande CREATE USER. Pour plus d'informations, consultez Accord d'autorisations au niveau de la base de données à une connexion.

Étant donné que certains outils implémentent tabular data stream (TDS) différemment, vous devrez peut-être ajouter le nom du serveur Base de données SQL Azure à la connexion dans la chaîne de connexion à l'aide de la notation <login>@<server>. Dans ces cas-là, séparez la connexion et le nom du serveur Base de données SQL Azure avec le symbole @. Par exemple, si votre connexion a été nommée login1 et que le nom complet de votre serveur Base de données SQL Azure est servername.database.windows.net, le paramètre de nom d'utilisateur de votre chaîne de connexion doit être : login1@servername. Cette restriction impose des limitations sur le texte que vous pouvez choisir pour le nom de connexion. Pour plus d'informations, consultez CREATE LOGIN (Transact-SQL).

Pour que des connexions autres que le principal au niveau du serveur puissent gérer la sécurité au niveau du serveur, Base de données SQL Microsoft Azure propose deux rôles de sécurité : loginmanager pour la création de connexions et dbmanager pour la création de bases de données. Seuls les utilisateurs dans la base de données master peuvent être ajoutés à ces rôles de base de données.

noteRemarque
Pour créer des connexions ou des bases de données, vous devez être connecté à la base de données master (qui est une représentation logique de master).

Comme le rôle serveur fixe securityadmin pour une instance sur site de SQL Server, le rôle de base de données loginmanager dans Base de données SQL Microsoft Azure est autorisé à créer des connexions. Seuls la connexion du principal au niveau du serveur (créée par le processus de déploiement) ou les membres du rôle de base de données loginmanager peuvent créer des connexions.

Le rôle de base de données Base de données SQL Microsoft Azure dbmanager est semblable au rôle serveur fixe dbcreator pour une instance sur site de SQL Server. Seuls la connexion du principal au niveau du serveur (créée par le processus de déploiement) ou les membres du rôle de base de données dbmanager peuvent créer des bases de données. Dès lors qu'un utilisateur est membre du rôle de base de données dbmanager, il peut créer une base de données avec la commande Base de données SQL Azure CREATE DATABASE, mais cette commande doit être exécutée dans la base de données master. Pour plus d'informations, consultez CREATE DATABASE (Transact-SQL).

Pour créer une connexion et un utilisateur associé qui peut créer des bases de données ou d'autres connexions, procédez comme suit :

  1. Connectez-vous à la base de données master à l'aide des informations d'identification de la connexion du principal au niveau du serveur (créée par le processus de déploiement) ou d'un membre du rôle de base de données loginmanager.

  2. Créez une connexion à l'aide de la commande CREATE LOGIN. Pour plus d'informations, consultez CREATE LOGIN (Transact-SQL).

  3. Créez un utilisateur pour cette connexion dans la base de données master à l'aide de la commande CREATE USER. Pour plus d'informations, consultez CREATE USER (Transact-SQL).

  4. Utilisez la procédure stockée sp_addrolememeber pour ajouter un nouvel utilisateur au rôle de base de données dbmanager, au rôle loginmanager, ou aux deux rôles.

L'exemple de code suivant montre comment créer une connexion, login1, et un utilisateur de base de données correspondant nommé login1User qui est capable de créer des bases de données ou d'autres connexions lorsqu'il est connecté à la base de données master :

-- first, connect to the master database
CREATE LOGIN login1 WITH password='<ProvidePassword>';
CREATE USER login1User FROM LOGIN login1;
EXEC sp_addrolemember 'dbmanager', 'login1User';
EXEC sp_addrolemember 'loginmanager', 'login1User';
noteRemarque
Vous devez utiliser un mot de passe fort lors de la création d'une connexion. Pour plus d'informations, consultez Mots de passe forts.

Toutes les connexions doivent être créées dans la base de données master. Après avoir créé une connexion, vous pouvez créer un compte d'utilisateur dans une autre base de données pour cette connexion. Base de données SQL Microsoft Azure prend en charge les rôles de base de données de la même façon qu'une instance sur site de SQL Server.

Pour créer un compte d'utilisateur dans une autre base de données, en supposant que vous n'avez pas créé de connexion ou de base de données, procédez comme suit :

  1. Connectez-vous à la base de données master (avec une connexion qui a les rôles loginmanager et dbmanager).

  2. Créez une connexion à l'aide de la commande CREATE LOGIN. Pour plus d'informations, consultez CREATE LOGIN (Transact-SQL). L'authentification Windows n'est pas prise en charge.

  3. Créez une base de données à l'aide de la commande CREATE DATABASE. Pour plus d'informations, consultez CREATE DATABASE (Transact-SQL).

  4. Établissez une connexion à la nouvelle base de données (avec la connexion qui a créé la base de données).

  5. Créez un utilisateur sur la nouvelle base de données à l'aide de la commande CREATE USER. Pour plus d'informations, consultez CREATE USER (Transact-SQL).

L'exemple de code suivant montre comment créer une connexion nommée login1 et une base de données nommée database1 :

-- first, connect to the master database
CREATE LOGIN login1 WITH password='<ProvidePassword>';
CREATE DATABASE database1;
noteRemarque
Vous devez utiliser un mot de passe fort lors de la création d'une connexion. Pour plus d'informations, consultez Mots de passe forts.

Cet exemple suivant montre comment créer un utilisateur de base de données nommé login1User dans la base de données database1 qui correspond à la connexion login1 :

-- Establish a new connection to the database1 database
CREATE USER login1User FROM LOGIN login1;

Ce modèle d'autorisation au niveau de la base de données dans Base de données SQL Microsoft Azure est le même que pour une instance sur site de SQL Server. Pour plus d'informations, consultez les rubriques suivantes dans les références de la documentation en ligne de SQL Server.

Identité et contrôle d'accès (moteur de base de données)

Rubriques de procédures relatives à la gestion des connexions, des utilisateurs et des schémas

Leçon 2 : Configuration des autorisations sur des objets de base de données

noteRemarque
Les paramètres disponibles pour les instructions Transact-SQL relatives à la sécurité dans Base de données SQL Microsoft Azure peuvent différer légèrement. Pour plus d'informations, consultez Guide de référence Transact-SQL dans la Base de données SQL Azure.

Pour afficher des connexions et des bases de données sur votre serveur Base de données SQL Azure, utilisez respectivement les vues sys.sql_logins et sys.databases de la base de données master. L'exemple suivant montre comment afficher une liste de toutes les connexions et bases de données sur votre serveur Base de données SQL Azure.

-- first, connect to the master database
SELECT * FROM sys.sql_logins;
SELECT * FROM sys.databases; 

Voir aussi

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2014 Microsoft