Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

CREATE REMOTE SERVICE BINDING (Transact-SQL)

Crée une liaison qui définit les informations d'identification de sécurité à utiliser pour démarrer une conversation avec un service distant.

S'applique à : SQL Server (SQL Server 2008 jusqu'à la version actuelle).

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

CREATE REMOTE SERVICE BINDING binding_name 
   [ AUTHORIZATION owner_name ] 
   TO SERVICE 'service_name' 
   WITH  USER = user_name [ , ANONYMOUS = { ON | OFF } ]
[ ; ]

binding_name

Nom de la liaison de service distant à créer. Vous ne pouvez pas spécifier de noms de serveur, de base de données et de schéma. L'argument binding_name doit être d'un type sysname valide.

AUTHORIZATION owner_name

Affecte au propriétaire de la liaison le rôle ou l'utilisateur de base de données spécifié. Lorsque l'utilisateur actuel est dbo ou sa, l'argument owner_name peut prendre le nom de n'importe quel utilisateur ou rôle valide. Dans le cas contraire, owner_name doit être le nom de l'utilisateur actif, le nom d'un utilisateur pour lequel l'utilisateur actif possède des autorisations IMPERSONATE, ou le nom d'un rôle auquel appartient l'utilisateur actif.

TO SERVICE 'service_name'

Spécifie le service distant à lier à l'utilisateur identifié dans la clause WITH USER.

USER = user_name

Spécifie le principal de la base de données qui possède le certificat associé au service distant identifié par la clause TO SERVICE. Ce certificat est utilisé pour le chiffrement et l'authentification des messages échangés avec le service distant.

ANONYMOUS

Indique si l'authentification anonyme est utilisée lors de la communication avec le service distant. Si ANONYMOUS = ON, l'authentification anonyme est utilisée et les opérations de la base de données distante sont effectuées en tant que membre du rôle de base de données fixe public. Si ANONYMOUS = OFF, les opérations de la base de données distante sont exécutées en tant qu'utilisateur spécifique dans cette base de données. Lorsque cette clause est omise, la valeur par défaut est OFF.

Service Broker utilise une liaison de service distant afin de localiser le certificat à utiliser pour une nouvelle conversation. La clé publique du certificat associé à user_name est utilisée pour authentifier les messages envoyés au service distant et pour chiffrer une clé de session qui sert ensuite à chiffrer la conversation. Le certificat de user_name doit correspondre au certificat d'un utilisateur de la base de données qui héberge le service distant.

Une liaison de service distant n'est nécessaire que pour démarrer des services qui communiquent avec des services cibles en dehors de l'instance SQL Server. Une base de données qui héberge un service d'initialisation doit contenir des liaisons de service distant pour tous les services cibles en dehors de l'instance SQL Server. Une base de données qui héberge un service cible n'a pas besoin de contenir des liaisons de service distant pour les services d'initialisation qui communiquent avec le service cible. Lorsque les services initiateur et cible sont dans la même instance de SQL Server, aucune liaison de service distant n'est nécessaire. Toutefois, si une liaison de service distant est présente à l'endroit où le service_name spécifié pour TO SERVICE correspond au nom du service local, Service Broker utilisera la liaison.

Si ANONYMOUS = ON, le service à l'origine de l'initialisation se connecte au service cible en tant que membre du rôle de base de données fixe public. Par défaut, les membres de ce rôle n'ont pas l'autorisation de se connecter à une base de données. Pour qu'un message puisse être envoyé, la base de données cible doit accorder l'autorisation CONNECT du rôle public pour la base de données et l'autorisation SEND pour le service cible.

Lorsqu'un utilisateur possède plusieurs certificats actuellement valides et marqués comme étant AVAILABLE FOR BEGIN_DIALOG, Service Broker sélectionne celui qui est doté de la date d'expiration la plus lointaine.

Les autorisations de création d'une liaison de service distant sont octroyées par défaut à l'utilisateur spécifié dans la clause USER, aux membres du rôle de base de données fixe db_owner, aux membres du rôle de base de données fixe db_ddladmin et aux membres du rôle serveur fixe sysadmin.

L'utilisateur qui exécute l'instruction CREATE REMOTE SERVICE BINDING doit avoir l'autorisation d'emprunt d'identité pour le principal spécifié dans l'instruction.

Une liaison de service distant ne peut pas être un objet temporaire. Les noms de liaison au service distant commençant par # sont autorisés, mais ce sont des objets permanents.

A.Création d'une liaison de service distant

L'exemple suivant crée une liaison pour le service //Adventure-Works.com/services/AccountsPayable. Service Broker utilise le certificat appartenant au principal de base de données APUser pour s'authentifier auprès du service distant et échanger la clé de chiffrement de la session avec le service distant.

CREATE REMOTE SERVICE BINDING APBinding
    TO SERVICE '//Adventure-Works.com/services/AccountsPayable'
    WITH USER = APUser ;

B.Création d'une liaison de service distant avec une authentification anonyme

L'exemple suivant crée une liaison pour le service //Adventure-Works.com/services/AccountsPayable. Service Broker utilise le certificat appartenant au principal de base de données APUser pour échanger la clé de chiffrement de la session avec le service distant. Il ne s'authentifie pas auprès du service distant. Dans la base de données qui héberge le service distant, les messages sont remis en tant qu'utilisateur guest.

CREATE REMOTE SERVICE BINDING APBinding
    TO SERVICE '//Adventure-Works.com/services/AccountsPayable'
    WITH USER = APUser, ANONYMOUS=ON ;

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft