Gérer les métadonnées lors de la mise à disposition d’une base de données sur un autre serveurManage Metadata When Making a Database Available on Another Server

Cette rubrique concerne les situations suivantes :This topic is relevant in the following situations:

  • Configuration des réplicas de disponibilité d'un groupe de disponibilité Groupes de disponibilité Always OnAlways On availability groups .Configuring the availability replicas of an Groupes de disponibilité Always OnAlways On availability groups availability group.

  • lors de la configuration de la mise en miroir d'une base de données ;Setting up database mirroring for a database.

  • lorsque vous vous préparez à intervertir les rôles des serveurs primaire et secondaire dans une configuration de la copie des journaux de transactions ;When preparing to change roles between primary and secondary servers in a log shipping configuration.

  • lors de la restauration d'une base de données sur une autre instance de serveur ;Restoring a database to another server instance.

  • lors de l'attachement d'une copie d'une base de données sur une autre instance de serveur.Attaching a copy of a database on another server instance.

    Certaines applications dépendent d'informations, d'entités et/ou d'objets qui n'appartiennent pas au champ d'action d'une base de données mono-utilisateur.Some applications depend on information, entities, and/or objects that are outside of the scope of a single user database. Généralement, une application possède des dépendances sur les bases de données master et msdb ainsi que la base de données utilisateur.Typically, an application has dependencies on the master and msdb databases, and also on the user database. Les informations stockées en dehors d'une base de données utilisateur et nécessaires au bon fonctionnement de cette base de données doivent être disponibles sur l'instance du serveur de destination.Anything stored outside of a user database that is required for the correct functioning of that database must be made available on the destination server instance. Par exemple, les connexions pour une application sont stockées en tant que métadonnées dans la base de données master , et doivent être recréées sur le serveur de destination.For example, the logins for an application are stored as metadata in the master database, and they must be re-created on the destination server. Si un plan de maintenance d’application ou de base de données dépend des travaux de l’Agent SQL ServerSQL Server , dont les métadonnées sont stockées dans la base de données msdb , vous devez recréer ces travaux sur l’instance du serveur de destination.If an application or database maintenance plan depends on SQL ServerSQL Server Agent jobs, whose metadata is stored in the msdb database, you must re-create those jobs on the destination server instance. De la même façon, les métadonnées d’un déclencheur de niveau serveur sont stockées dans la base de données master.Similarly, the metadata for a server-level trigger is stored in master.

    Lorsque vous déplacez la base de données d’une application vers une autre instance de serveur, vous devez recréer toutes les métadonnées des entités et des objets dépendants dans les bases de données master et msdb sur l’instance du serveur de destination.When you move the database for an application to another server instance, you must re-create all the metadata of the dependant entities and objects in master and msdb on the destination server instance. Par exemple, si une application de base de données utilise des déclencheurs au niveau serveur, il ne suffit pas d'attacher ou de restaurer la base de données sur le nouveau système.For example, if a database application uses server-level triggers, just attaching or restoring the database on the new system is not enough. La base de données ne fonctionne pas comme prévu, sauf si vous recréez manuellement les métadonnées pour ces déclencheurs dans la base de données master .The database will not work as expected unless you manually re-create the metadata for those triggers in the master database.

Informations, entités, et objets stockés en dehors des bases de données utilisateur Information, Entities, and Objects That Are Stored Outside of User Databases

La suite de cette rubrique résume les problèmes susceptibles d'affecter une base de données qui est rendue disponible sur une autre instance de serveur.The remainder of this topic summarizes the potential issues that might affect a database that is being made available on another server instance. Vous devrez peut-être recréer un ou plusieurs des types d'informations, d'entités ou d'objets répertoriés dans la liste suivante.You might have to re-create one or more of the types of information, entities, or objects listed in the following list. Pour consulter un résumé, cliquez sur le lien correspondant à l'élément.To see a summary, click the link for the item.

Server Configuration Settings Server Configuration Settings

SQL Server 2005SQL Server 2005 et les versions ultérieures installent et démarrent sélectivement les services et les fonctionnalités clés. and later versions selectively install and starts key services and features. Ainsi, la surface d'exposition vulnérable aux attaques d'un système est réduite.This helps reduce the attackable surface area of a system. Dans la configuration par défaut des nouvelles installations, de nombreuses fonctionnalités ne sont pas activées.In the default configuration of new installations, many features are not enabled. Si la base de données repose sur une fonctionnalité ou un service qui est désactivé par défaut, cette fonction ou ce service doit être activé sur l'instance du serveur de destination.If the database relies on any service or feature that is off by default, this service or feature must be enabled on the destination server instance.

Pour plus d’informations sur ces paramètres et leur activation ou désactivation, consultez Options de configuration de serveur (SQL Server).For more information about these settings and enabling or disabling them, see Server Configuration Options (SQL Server).

Informations d'identification Credentials

Les informations d'identification sont un enregistrement qui contient les informations d'authentification requises pour la connexion à une ressource en dehors de SQL ServerSQL Server.A credential is a record that contains the authentication information that is required to connect to a resource outside SQL ServerSQL Server. La plupart des informations d'identification sont composées d'un nom de connexion Windows et d'un mot de passe.Most credentials consist of a Windows login and password.

Pour plus d’informations sur cette fonctionnalité, consultez Informations d’identification (moteur de base de données).For more information about this feature, see Credentials (Database Engine).

REMARQUE : Les comptes proxy de l’Agent SQL ServerSQL Server utilisent des informations d’identification.NOTE: SQL ServerSQL Server Agent Proxy accounts use credentials. Pour connaître les informations d'identification d'un compte proxy, utilisez la table système sysproxies .To learn the credential ID of a proxy account, use the sysproxies system table.

Cross-Database Queries Cross-Database Queries

Les options de base de données DB_CHAINING et TRUSTWORTHY sont désactivées par défaut.The DB_CHAINING and TRUSTWORTHY database options are OFF by default. Si elles sont définies à ON pour la base de données d'origine, vous devrez peut-être les activer sur la base de données de l'instance du serveur de destination.If either of these is set to ON for the original database, you may have to enable them on the database on the destination server instance. Pour plus d’informations, consultez ALTER DATABASE (Transact-SQL).For more information, see ALTER DATABASE (Transact-SQL).

Les opérations d'attachement et de détachement désactivent le chaînage des propriétés des bases de données croisées pour la base de données.Attach-and-detach operations disable cross-database ownership chaining for the database. Pour plus d’informations sur l’activation du chaînage, consultez Chaînage des propriétés des bases de données croisées (option de configuration de serveur).For information about how to enable chaining, see cross db ownership chaining Server Configuration Option.

Pour plus d’informations, consultez également Configurer une base de données miroir pour utiliser la propriété Trustworthy (Transact-SQL).For more information, see also Set Up a Mirror Database to Use the Trustworthy Property (Transact-SQL)

Database Ownership Database Ownership

Lorsqu'une base de données est restaurée sur un autre ordinateur, la connexion SQL ServerSQL Server ou l'utilisateur Windows à l'origine de l'opération de restauration devient automatiquement le propriétaire de la nouvelle base de données.When a database is restored on another computer, the SQL ServerSQL Server login or Windows user who initiated the restore operation becomes the owner of the new database automatically. Lorsque la base de données est restaurée, l'administrateur du système ou le nouveau propriétaire de la base de données peut modifier la propriété de la base de données.When the database is restored, the system administrator or the new database owner can change database ownership.

Requêtes distribuées et serveurs liés Distributed Queries and Linked Servers

Les requêtes distribuées et les serveurs liés sont pris en charge pour les applications OLE DB.Distributed queries and linked servers are supported for OLE DB applications. Les requêtes distribuées accèdent aux données issues de multiples sources de données hétérogènes sur le même ordinateur ou sur des ordinateurs différents.Distributed queries access data from multiple heterogeneous data sources on either the same or different computers. Une configuration de serveurs liés permet à SQL ServerSQL Server d'exécuter des commandes sur les sources de données OLE DB hébergées sur des serveurs distants.A linked server configuration enables SQL ServerSQL Server to execute commands against OLE DB data sources on remote servers. Pour plus d’informations sur ces fonctionnalités, consultez Serveurs liés (moteur de base de données).For more information about these features, see Linked Servers (Database Engine).

Encrypted Data Encrypted Data

Si la base de données que vous mettez à disposition sur une autre instance du serveur contient des données chiffrées et si la clé principale de base de données est protégée par la clé principale du service sur le serveur d'origine, il peut être nécessaire de recréer le chiffrement à clé principale du service.If the database you are making available on another server instance contains encrypted data and if the database master key is protected by the service master key on the original server, it might be necessary to re-create the service master key encryption. La clé principale de base de données est une clé symétrique qui permet de protéger les clés privées des certificats et les clés asymétriques dans une base de données chiffrée.The database master key is a symmetric key that is used to protect the private keys of certificates and asymmetric keys in an encrypted database. Lors de sa création, la clé principale de base de données est chiffrée à l'aide de l'algorithme Triple DES et d'un mot de passe fourni par l'utilisateur.When created, the database master key is encrypted by using the Triple DES algorithm and a user-supplied password.

Pour permettre le déchiffrement automatique de la clé principale de base de données sur une instance de serveur, une copie de cette clé est chiffrée à l'aide de la clé principale du service.To enable the automatic decryption of the database master key on a server instance, a copy of this key is encrypted by using the service master key. Cette copie chiffrée est stockée dans la base de données et dans la base master.This encrypted copy is stored in both the database and in master. En général, la copie stockée dans master est mise à jour sans avertissement chaque fois que la clé principale est modifiée.Typically, the copy stored in master is silently updated whenever the master key is changed. SQL ServerSQL Server tente tout d'abord de déchiffrer la clé principale de base de données avec la clé principale de service de l'instance. first tries to decrypt the database master key with the service master key of the instance. Si ce déchiffrement échoue, SQL ServerSQL Server recherche dans la banque d'informations d'identification les informations d'identification de clé principale qui possèdent le même GUID de famille que la base de données pour laquelle la clé principale est requise.If that decryption fails, SQL ServerSQL Server searches the credential store for master key credentials that have the same family GUID as the database for which it requires the master key. SQL ServerSQL Server tente ensuite de déchiffrer la clé principale de base de données avec toutes les informations d'identification correspondantes, jusqu'à ce que le déchiffrement réussisse ou qu'il ne reste plus d'informations d'identification. then tries to decrypt the database master key with each matching credential until the decryption succeeds or there are no more credentials. Une clé principale qui n'est pas chiffrée par la clé principale de service doit être ouverte à l'aide de l'instruction OPEN MASTER KEY et d'un mot de passe.A master key that is not encrypted by the service master key must be opened by using the OPEN MASTER KEY statement and a password.

Lorsqu'une base de données chiffrée est copiée, restaurée ou attachée à une nouvelle instance de SQL ServerSQL Server, une copie de la clé principale de la base de données chiffrée par la clé principale du service n'est pas stockée dans la base master sur l'instance du serveur de destination.When an encrypted database is copied, restored, or attached to a new instance of SQL ServerSQL Server, a copy of the database master key encrypted by the service master key is not stored in master on the destination server instance. Sur l'instance du serveur de destination, vous devez ouvrir la clé principale de la base de données.On the destination server instance, you must open the master key of the database. Pour ouvrir la clé principale, exécutez l’instruction suivante : OPEN MASTER KEY DECRYPTION BY PASSWORD ='mot_de_passe'.To open the master key, execute the following statement: OPEN MASTER KEY DECRYPTION BY PASSWORD ='password'. Nous vous recommandons d'activer alors le déchiffrement automatique de la clé principale de la base de données en exécutant l'instruction suivante : ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY.We recommend that you then enable automatic decryption of the database master key by executing the following statement: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY. Cette instruction ALTER MASTER KEY fournit à l'instance du serveur une copie de la clé principale de la base de données qui est chiffrée à l'aide de la clé principale du service.This ALTER MASTER KEY statement provisions the server instance with a copy of the database master key that is encrypted with the service master key. Pour plus d’informations, consultez OPEN MASTER KEY (Transact-SQL) et ALTER MASTER KEY (Transact-SQL).For more information, see OPEN MASTER KEY (Transact-SQL) and ALTER MASTER KEY (Transact-SQL).

Pour plus d’informations sur l’activation du déchiffrement automatique de la clé principale d’une base de données miroir, consultez Configurer une base de données miroir chiffrée.For information about how to enable automatic decryption of the database master key of a mirror database, see Set Up an Encrypted Mirror Database.

Pour plus d'informations, consultez également :For more information, see also:

User-defined Error Messages User-defined Error Messages

Les messages d’erreur définis par l’utilisateur résident dans l’affichage catalogue sys.messages .User-defined error messages reside in the sys.messages catalog view. Cet affichage catalogue est stocké dans la base de données master.This catalog view is stored in master. Si une application de base de données dépend des messages d’erreur définis par l’utilisateur et que la base de données est mise à disposition sur une autre instance du serveur, utilisez sp_addmessage pour ajouter ces messages définis par l’utilisateur sur l’instance du serveur de destination.If a database application depends on user-defined error messages and the database is made available on another server instance, use sp_addmessage to add those user-defined messages on the destination server instance.

Event Notifications and Windows Management Instrumentation (WMI) Events (at Server Level) Event Notifications and Windows Management Instrumentation (WMI) Events (at Server Level)

Notifications d'événements au niveau du serveurServer-Level Event Notifications

Les notifications d’événements au niveau du serveur sont stockées dans la base de données msdb.Server-level event notifications are stored in msdb. Par conséquent, si une application de base de données repose sur une notification d'événements au niveau du serveur, cette notification doit être recréée sur l'instance du serveur de destination.Therefore, if a database application relies on a server-level event notifications, that event notification must be re-created on the destination server instance. Pour afficher les notifications d’événements sur une instance de serveur, utilisez l’affichage catalogue sys.server_event_notifications .To view the event notifications on a server instance, use the sys.server_event_notifications catalog view. Pour plus d'informations, voir Event Notifications.For more information, see Event Notifications.

De plus, les notifications d'événements sont remises à l'aide de Service BrokerService Broker.Additionally, event notifications are delivered by using Service BrokerService Broker. Les itinéraires pour les messages entrants ne sont pas inclus dans la base de données qui contient un service.Routes for incoming messages are not included in the database that contains a service. Au lieu de cela, les itinéraires explicites sont stockés dans la base de données msdb.Instead, explicit routes are stored in msdb. Si, pour acheminer les messages entrants jusqu’au service, votre service utilise un itinéraire explicite dans la base de données msdb , vous devez recréer cet itinéraire lorsque vous attachez une base de données dans une instance différente.If your service uses an explicit route in the msdb database to route incoming messages to the service, when you attach a database in a different instance, you must re-create this route.

Événements WMI (Windows Management Instrumentation)Windows Management Instrumentation (WMI) Events

Le fournisseur WMI pour les événements de serveur vous permet d'utiliser WMI (Windows Management Instrumentation) pour surveiller les événements dans SQL ServerSQL Server.The WMI Provider for Server Events lets you use the Windows Management Instrumentation (WMI) to monitor events in SQL ServerSQL Server. Toutes les applications qui reposent sur des événements au niveau du serveur exposés par le biais du fournisseur WMI (Windows Management Instrumentation) sur lequel repose une base de données doivent être définies sur l'ordinateur de l'instance du serveur de destination.Any application that relies on server-level events exposed through the WMI provider on which a database relies must be defined the computer of the destination server instance. Le fournisseur d'événements WMI crée des notifications d'événements à l'aide d'un service cible défini dans msdb.WMI Event provider creates event notifications with a target service that is defined in msdb.

REMARQUE : Pour plus d’informations, consultez Fournisseur WMI pour les concepts des événements de serveur.NOTE: For more information, see WMI Provider for Server Events Concepts.

Pour créer une alerte WMI à l'aide de SQL Server Management StudioTo create a WMI alert using SQL Server Management Studio

Fonctionnement des notifications d'événements pour une base de données miroirHow Event Notifications Work for a Mirrored Database

La remise de notifications d'événements entre bases de données qui implique une base de données mise en miroir est distante, par définition, car la base de données mise en miroir peut basculer.Cross-database delivery of event notifications that involves a mirrored database is remote, by definition, because the mirrored database can fail over. Service BrokerService Broker assure une prise en charge spéciale des bases de données mises en miroir, sous la forme d' itinéraires mis en miroir. provides special support for mirrored databases, in the form of mirrored routes. Un itinéraire mis en miroir possède deux adresses : celle de l'instance du serveur principal et celle de l'instance du serveur miroir.A mirrored route has two addresses: one for the principal server instance and one for the mirror server instance.

En configurant des itinéraires mis en miroir, vous rendez le routage Service BrokerService Broker capable de reconnaître la mise en miroir des bases de données.By setting up mirrored routes, you make Service BrokerService Broker routing aware of database mirroring. Les itinéraires mis en miroir permettent à Service BrokerService Broker de rediriger de manière transparente les conversations vers l'instance de serveur principal en cours.The mirrored routes enable Service BrokerService Broker to transparently redirect conversations to the current principal server instance. Par exemple, imaginons un service, Service_A, hébergé par une base de données mise en miroir, Database_A.For example, consider a service, Service_A, which is hosted by a mirrored database, Database_A. Supposons que vous ayez besoin qu'un autre service, Service_B, hébergé par Database_B, dialogue avec Service_A.Assume that you need another service, Service_B, which is hosted by Database_B, to have a dialog with Service_A. Pour ce faire, Database_B doit posséder un itinéraire mis en miroir pour Service_A.For this dialog to be possible, Database_B must contain a mirrored route for Service_A. Database_A doit aussi contenir un itinéraire de transport TCP non mis en miroir vers Service_B, qui, contrairement à un itinéraire local, reste valide après un basculement.In addition, Database_A must contain a nonmirrored TCP transport route to Service_B, which, unlike a local route, remains valid after failover. Ces itinéraires permettent aux accusés de réception de revenir après un basculement.These routes enable ACKs to come back after a failover. Comme le service de l'expéditeur est toujours nommé de la même manière, l'itinéraire doit spécifier l'instance de broker.Because the service of the sender is always named in the same manner, the route must specify the broker instance.

L'exigence définie pour les itinéraires mis en miroir est valable que le service de la base de données mise en miroir soit le service initiateur ou le service cible :The requirement for mirrored routes applies for regardless of whether the service in the mirrored database is the initiator service or the target service:

  • Si le service cible est dans la base de données mise en miroir, le service initiateur doit avoir un itinéraire mis en miroir qui ramène à la cible.If target service is in the mirrored database, the initiator service must have a mirrored route back to the target. Cependant, la cible peut avoir un itinéraire standard qui ramène à l'initiateur.However, the target can have a regular route back to initiator.

  • Si le service initiateur est dans la base de données miroir, le service cible doit avoir un itinéraire mis en miroir qui ramène à l'initiateur pour remettre les accusés et les réponses.If initiator service is in the mirrored database, the target service must have a mirrored route back to initiator to deliver acknowledgements and replies. Cependant, l'initiateur peut avoir un itinéraire standard qui ramène à la cible.However, the initiator can have a regular route to the target.

Extended Stored Procedures Extended Stored Procedures

IMPORTANT !IMPORTANT! Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server.This feature will be removed in a future version of Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Utilisez l’ [intégration CLR](../../relational-databases/clr-integration/common-language-runtime-integration-overview.md) à la place.(../../relational-databases/clr-integration/common-language-runtime-integration-overview.md) instead.

Les procédures stockées étendues sont programmées à l'aide de l'API de procédure stockée étendue SQL ServerSQL Server .Extended stored procedures are programmed by using the SQL ServerSQL Server Extended Stored Procedure API. Un membre du rôle serveur fixe sysadmin peut enregistrer une procédure stockée étendue avec une instance de SQL ServerSQL Server , puis octroyer à d'autres utilisateurs l'autorisation d'exécuter la procédure.A member of the sysadmin fixed server role can register an extended stored procedure with an instance of SQL ServerSQL Server and grant permission to users to execute the procedure. Les procédures stockées étendues ne peuvent être ajoutées qu'à la base de données master .Extended stored procedures can be added only to the master database.

Les procédures stockées étendues s'exécutent directement dans l'espace d'adressage d'une instance de SQL ServerSQL Server, et elles peuvent générer des fuites de mémoire ou d'autres problèmes qui diminuent les performances et la fiabilité du serveur.Extended stored procedures run directly in the address space of an instance of SQL ServerSQL Server, and they may produce memory leaks or other problems that reduce the performance and reliability of the server. Il est préférable de stocker les procédures stockées étendues dans une instance de SQL ServerSQL Server distincte de celle qui contient les données de référenceYou should consider storing extended stored procedures in an instance of SQL ServerSQL Server that is separate from the instance that contains the referenced data. et d'utiliser des requêtes distribuées pour accéder à la base de données.You should also consider using distributed queries to access the database.

IMPORTANTIMPORTANT!! Avant d'ajouter des procédures stockées étendues au serveur et d'accorder à d'autres utilisateurs des autorisations d'exécution (EXECUTE), il est conseillé à l'administrateur système de vérifier minutieusement chaque procédure stockée étendue afin de s'assurer qu'elle ne contient aucun code nuisible ou malveillant.Before adding extended stored procedures to the server and granting EXECUTE permissions to other users, the system administrator should thoroughly review each extended stored procedure to make sure that it does not contain harmful or malicious code.

Pour plus d’informations, consultez Autorisations d’objet GRANT (Transact-SQL), Autorisations d’objet DENY (Transact-SQL) et Autorisations d’objet REVOKE (Transact-SQL).For more information, see GRANT Object Permissions (Transact-SQL), DENY Object Permissions (Transact-SQL), and REVOKE Object Permissions (Transact-SQL).

Full-Text Engine for SQL Server Properties Full-Text Engine for SQL Server Properties

Les propriétés sont définies sur le moteur de texte intégral par sp_fulltext_service.Properties are set on the Full-Text Engine by sp_fulltext_service. Vérifiez que l'instance du serveur de destination possède les paramètres requis pour ces propriétés.Make sure that the destination server instance has the required settings for these properties. Pour plus d’informations sur ces propriétés, consultez FULLTEXTSERVICEPROPERTY (Transact-SQL).For more information about these properties, see FULLTEXTSERVICEPROPERTY (Transact-SQL).

Par ailleurs, si le composant des analyseurs lexicaux et générateurs de formes dérivées ou le composant des filtres de recherche en texte intégral ont des versions différentes sur les instances du serveur d’origine et de destination, il est possible que les requêtes et l’index de texte intégral n’aient pas le même comportement.Additionally, if the word breakers and stemmers component or full-text search filters component have different versions on the original and destination server instances, full-text index and queries may behave differently. En outre, le dictionnaire des synonymes est stocké dans des fichiers spécifiques à l’instance.Also, the thesaurus is stored in instance-specific files. Vous devez transférer une copie de ces fichiers à un emplacement équivalent sur l'instance du serveur de destination ou les recréer sur la nouvelle instance.You must either transfer a copy of those files to an equivalent location on the destination server instance or re-create them on new instance.

REMARQUE : Quand vous attachez une base de données SQL Server 2005SQL Server 2005 qui contient des fichiers catalogue de texte intégral à une instance de serveur SQL Server 2016SQL Server 2016 , les fichiers catalogue sont attachés à partir de leur emplacement précédent avec les autres fichiers de base de données, les mêmes que dans SQL Server 2005SQL Server 2005.NOTE: When you attach a SQL Server 2005SQL Server 2005 database that contains full-text catalog files onto a SQL Server 2016SQL Server 2016 server instance, the catalog files are attached from their previous location along with the other database files, the same as in SQL Server 2005SQL Server 2005. Pour plus d’informations, consultez Mise à niveau de la fonction de recherche en texte intégral.For more information, see Upgrade Full-Text Search.

Pour plus d'informations, consultez également :For more information, see also:

Travaux Jobs

Si la base de données repose sur les travaux de l'Agent SQL ServerSQL Server , vous devrez recréer ces derniers sur l'instance du serveur de destination.If the database relies on SQL ServerSQL Server Agent jobs, you will have to re-create them on the destination server instance. Les travaux dépendent de leur environnement.Jobs depend on their environments. Si vous prévoyez de recréer un travail existant sur l'instance du serveur de destination, cette dernière devra peut-être être modifiée pour correspondre à l'environnement de ce travail sur l'instance du serveur d'origine.If you plan to re-create an existing job on the destination server instance, the destination server instance might have to be modified to match the environment of that job on the original server instance. Les éléments d'environnement ci-après sont importants :The following environmental factors are significant:

  • Connexion utilisée par le travailThe login used by the job

    Pour créer ou exécuter des travaux de l'Agent SQL ServerSQL Server , vous devez d'abord ajouter toutes les connexions SQL ServerSQL Server requises par le travail à l'instance du serveur de destination.To create or execute SQL ServerSQL Server Agent jobs, you must first add any SQL ServerSQL Server logins required by the job to the destination server instance. Pour plus d’informations, consultez Configurer un utilisateur de manière à créer et à gérer des travaux de l’Agent SQL Server.For more information, see Configure a User to Create and Manage SQL Server Agent Jobs.

  • SQL ServerSQL Server Agent Agent service startup account

    Le compte de démarrage du service définit le compte MicrosoftMicrosoft Windows dans le contexte duquel l'Agent SQL ServerSQL Server s'exécute, ainsi que ses autorisations réseau.The service startup account defines the MicrosoftMicrosoft Windows account in which SQL ServerSQL Server Agent runs and its network permissions. SQL ServerSQL Server s'exécute dans le contexte d'un compte d'utilisateur spécifié. Agent runs as a specified user account. Le contexte du service de l'Agent affecte les paramètres du travail et son environnement d'exécution.The context of the Agent service affects the settings for the job and its run environment. Le compte doit avoir accès aux ressources, telles que les partages réseau, requises par le travail.The account must have access to the resources, such as network shares, required by the job. Pour plus d’informations sur la façon de sélectionner et de modifier le compte de démarrage du service, consultez Sélectionner un compte pour le service SQL Server Agent.For information about how to select and modify the service startup account, see Select an Account for the SQL Server Agent Service.

    Le bon fonctionnement du compte de démarrage du service repose sur une configuration correcte du domaine, du système de fichiers et des autorisations de Registre.To operate correctly, the service startup account must be configured to have the correct domain, file system, and registry permissions. Qui plus est, un travail peut nécessiter une ressource réseau partagée qui doit être configurée pour le compte du service.Also, a job might require a shared network resource that must be configured for the service account. Pour plus d’informations, consultez Configurer les comptes de service Windows et les autorisations.For information, see Configure Windows Service Accounts and Permissions.

  • SQL ServerSQL Server Agent, qui est associé à une instance spécifique de SQL ServerSQL Server, possède sa propre ruche de Registre, et ses travaux dépendent généralement d'un ou de plusieurs paramètres de cette ruche de Registre., has its own registry hive, and its jobs typically have dependencies on one or more of the settings in this registry hive. Pour qu'un travail fonctionne comme prévu, il a besoin de ces paramètres du Registre.To behave as intended, a job requires those registry settings. Si vous utilisez un script pour recréer un travail dans un autre service SQL ServerSQL Server Agent, il est possible que son Registre ne dispose pas des paramètres corrects pour ce travail.If you use a script to re-create a job in another SQL ServerSQL Server Agent service, its registry might not have the correct settings for that job. Pour que les travaux recréés fonctionnent correctement sur une instance du serveur de destination, les services SQL ServerSQL Server Agent d'origine et de destination doivent posséder les mêmes paramètres de Registre.For re-created jobs to behave correctly on a destination server instance, the original and destination SQL ServerSQL Server Agent services should have the same registry settings.

    Attention

    La modification des paramètres du Registre sur le service SQL ServerSQL Server Agent de destination afin de gérer un travail recréé peut être problématique si les paramètres actuels sont requis par d'autres travaux.Changing registry settings on the destination SQL ServerSQL Server Agent service to handle a re-created job could be problematic if the current settings are required by other jobs. En outre, une modification incorrecte du Registre peut sérieusement endommager votre système.Furthermore, incorrectly editing the registry can severely damage your system. Avant que vous apportiez des modifications au Registre, nous vous recommandons de sauvegarder toutes les données importantes qui se trouvent sur l'ordinateur.Before you make changes to the registry, we recommend that you back up any valued data on the computer.

  • SQL ServerSQL Server Proxys d’Agent Agent Proxies

    Un proxy d'Agent SQL ServerSQL Server définit le contexte de sécurité d'une étape de travail spécifiée.A SQL ServerSQL Server Agent proxy defines the security context for a specified job step. L'exécution d'un travail sur l'instance du serveur de destination implique la recréation manuelle de tous les proxys nécessaires sur cette instance.For a job to run on the destination server instance, all the proxies it requires must be manually re-created on that instance. Pour plus d’informations, consultez Créer un proxy d’Agent SQL Server et Résoudre les problèmes liés aux travaux multiserveurs qui utilisent des proxys.For more information, see Create a SQL Server Agent Proxy and Troubleshoot Multiserver Jobs That Use Proxies.

    Pour plus d'informations, consultez également :For more information, see also:

  • Implémenter des travauxImplement Jobs

  • Gestion des connexions et des travaux après un basculement de rôle (SQL Server) (pour la mise en miroir de bases de données)Management of Logins and Jobs After Role Switching (SQL Server) (for database mirroring)

  • Configurer les comptes de service Windows et les autorisations (quand vous installez une instance de SQL ServerSQL Server)Configure Windows Service Accounts and Permissions (when you install an instance of SQL ServerSQL Server)

  • Configurer l’Agent SQL Server (quand vous installez une instance de SQL ServerSQL Server)Configure SQL Server Agent (when you install an instance of SQL ServerSQL Server)

  • Implémenter la sécurité de l'Agent SQL ServerImplement SQL Server Agent Security

    Pour afficher des travaux existants et leurs propriétésTo view existing jobs and their properties

  • Surveiller l'activité des travauxMonitor Job Activity

  • sp_help_job (Transact-SQL)sp_help_job (Transact-SQL)

  • Afficher des informations sur une étape de travailView Job Step Information

  • dbo.sysjobs (Transact-SQL)dbo.sysjobs (Transact-SQL)

    Pour créer un travailTo create a job

  • Créer un travailCreate a Job

  • Créer un travailCreate a Job

Bonnes pratiques pour utiliser un script afin de recréer un travailBest Practices for Using a Script to Re-create a Job

Nous vous conseillons de commencer par générer le script d'un travail simple, en recréant le travail sur l'autre service SQL ServerSQL Server Agent et en exécutant le travail pour vérifier qu'il fonctionne comme prévu.We recommend that you start by scripting a simple job, re-creating the job on the other SQL ServerSQL Server Agent service, and running the job to see whether it works as intended. Ces opérations vous permettront d'identifier d'éventuelles incompatibilités puis de les résoudre.This will let you to identify incompatibilities and try to resolve them. Si un travail faisant l'objet d'un script ne fonctionne pas comme prévu dans son nouvel environnement, nous vous conseillons de créer un travail équivalent qui fonctionne correctement dans cet environnement.If a scripted job does not work as intended in its new environment, we recommend that you create an equivalent job that works correctly in that environment.

Connexions Logins

Une ouverture de session sur une instance de SQL ServerSQL Server nécessite une connexion SQL ServerSQL Server valide.Logging into an instance of SQL ServerSQL Server requires a valid SQL ServerSQL Server login. Cette connexion est utilisée dans le processus d'authentification qui vérifie que le principal peut se connecter à l'instance de SQL ServerSQL Server.This login is used in the authentication process that verifies whether the principal can connect to the instance of SQL ServerSQL Server. Un utilisateur de base de données pour lequel la connexion SQL ServerSQL Server correspondante n'est pas définie sur une instance serveur, ou l'est de façon incorrecte, ne peut pas se connecter à cette instance.A database user for which the corresponding SQL ServerSQL Server login is undefined or is incorrectly defined on a server instance cannot log in to the instance. L'utilisateur devient donc un utilisateur orphelin de la base de données sur cette instance du serveur.Such a user is said to be an orphaned user of the database on that server instance. Un utilisateur de base de données peut devenir orphelin lorsqu'une base de données a été restaurée, attachée ou copiée sur une autre instance de SQL ServerSQL Server.A database user can become orphaned if after a database is restored, attached, or copied to a different instance of SQL ServerSQL Server.

Pour générer un script pour une partie ou l'intégralité des objets figurant dans la copie initiale de la base de données, vous pouvez utiliser l'Assistant Générer des scripts, et dans la boîte de dialogue Sélectionner les options de script , vous attribuez à l'option Créer un script des connexions la valeur True.To generate a script for some or all the objects in the original copy of the database, you can use the Generate Scripts Wizard, and in the Choose Script Options dialog box, set the Script Logins option to True.

REMARQUE : Pour plus d’informations sur la configuration des connexions pour une base de données mise en miroir, consultez Configurer des comptes de connexion pour la mise en miroir de bases de données ou les groupes de disponibilité Always On (SQL Server) et Gestion des connexions et des travaux après un basculement de rôle (SQL Server).NOTE: For information about how to set up logins for a mirrored database, see Set Up Login Accounts for Database Mirroring or Always On Availability Groups (SQL Server) and Management of Logins and Jobs After Role Switching (SQL Server).

Autorisations Permissions

Les types d'autorisations suivants peuvent être affectés par la mise à disponibilité d'une base de données sur une autre instance de serveur.The following types of permissions might be affected when a database is made available on another server instance.

  • Autorisations GRANT, REVOKE ou DENY sur les objets systèmeGRANT, REVOKE, or DENY permissions on system objects

  • Autorisations GRANT, REVOKE ou DENY sur une instance de serveur (autorisations au niveau du serveur)GRANT, REVOKE, or DENY permissions on server instance (server-level permissions)

Autorisations GRANT, REVOKE et DENY sur les objets systèmeGRANT, REVOKE, and DENY Permissions on System Objects

Les autorisations sur les objets système, tels que les procédures stockées, les procédures stockées étendues, les fonctions et les affichages, sont stockées dans la base de données master et doivent être configurées sur l'instance du serveur de destination.Permissions on system objects such as stored procedures, extended stored procedures, functions, and views, are stored in the master database and must be configured on the destination server instance.

Pour générer un script pour une partie ou l’intégralité des objets figurant dans la copie initiale de la base de données, vous pouvez utiliser l’Assistant Générer des scripts, et dans la boîte de dialogue Sélectionner les options de script , vous attribuez à l’option Créer un script des autorisations au niveau objet la valeur True.To generate a script for some or all the objects in the original copy of the database, you can use the Generate Scripts Wizard, and in the Choose Script Options dialog box, set the Script Object-Level Permissions option to True.

IMPORTANTIMPORTANT!! Si vous générez un script pour les connexions, les mots de passe ne sont pas chiffrés.If you script logins, the passwords are not scripted. Si vous disposez de connexions qui utilisent l'authentification SQL ServerSQL Server , vous devez modifier le script sur la destination.If you have logins that use SQL ServerSQL Server Authentication, you have to modify the script on the destination.

Les objets système sont consultables dans l’affichage catalogue sys.system_objects .System objects are visible in the sys.system_objects catalog view. Les autorisations sur les objets système sont consultables dans l’affichage catalogue sys.database_permissions dans la base de données master.The permissions on system objects are visible in the sys.database_permissions catalog view in the master database. Pour plus d’informations sur l’interrogation de ces affichages catalogue et l’octroi d’autorisations sur les objets système, consultez Autorisations d’objet système GRANT (Transact-SQL).For information about querying these catalog views and granting system-object permissions, see GRANT System Object Permissions (Transact-SQL). Pour plus d’informations, consultez Autorisations d’objet système REVOKE (Transact-SQL) et Autorisations d’objet système DENY (Transact-SQL).For more information, see REVOKE System Object Permissions (Transact-SQL) and DENY System Object Permissions (Transact-SQL).

Autorisations GRANT, REVOKE et DENY sur une instance de serveurGRANT, REVOKE, and DENY Permissions on a Server Instance

Les autorisations à l'échelle du serveur sont stockées dans la base de données master et doivent être configurées sur l'instance du serveur de destination.Permissions at the server scope are stored in the master database and must be configured on the destination server instance. Pour plus d’informations sur les autorisations serveur d’une instance de serveur, interrogez l’affichage catalogue sys.server_permissions ; pour plus d’informations sur les principaux de serveur, interrogez l’affichage catalogue sys.server_principals et pour plus d’informations sur l’appartenance aux rôles de serveur, interrogez l’affichage catalogue sys.server_role_members.For information about the server permissions of a server instance, query the sys.server_permissions catalog view, for information about server principals query the sys.server_principalss catalog view, and for information about membership of server roles query the sys.server_role_members catalog view.

Pour plus d’informations, consultez Autorisations de serveur GRANT (Transact-SQL), Autorisations de serveur REVOKE (Transact-SQL) et Autorisations de serveur DENY (Transact-SQL).For more information, see GRANT Server Permissions (Transact-SQL), REVOKE Server Permissions (Transact-SQL), and DENY Server Permissions (Transact-SQL).

Autorisations au niveau serveur pour un certificat ou une clé asymétriqueServer-Level Permissions for a Certificate or Asymmetric Key

Les autorisations au niveau serveur ne peuvent pas être accordées directement à un certificat ou à une clé asymétrique.Server-level permissions cannot be granted directly to a certificate or asymmetric key. Les autorisations au niveau serveur sont en fait accordées à une connexion mappée qui est créée exclusivement pour un certificat ou une clé asymétrique spécifique.Instead, server-level permissions are granted to a mapped login that is created exclusively for a specific certificate or asymmetric key. Par conséquent, chaque certificat ou clé asymétrique qui nécessite des autorisations au niveau serveur doit posséder sa propre connexion mappée sur un certificat ou sa propre connexion mappée sur une clé asymétrique.Therefore, each certificate or asymmetric key that requires server-level permissions, requires its own certificate-mapped login or asymmetric key-mapped login. Pour octroyer des autorisations au niveau serveur pour un certificat ou une clé asymétrique, accordez les autorisations à sa connexion mappée.To grant server-level permissions for a certificate or asymmetric key, grant the permissions to its mapped login.

REMARQUE : Une connexion mappée est utilisée uniquement pour l’autorisation du code signé à l’aide de la clé asymétrique ou du certificat correspondant.NOTE: A mapped login is used only for authorization of code signed with the corresponding certificate or asymmetric key. Les connexions mappées ne peuvent pas être utilisées pour l'authentification.Mapped logins cannot be used for authentication.

La connexion mappée et ses autorisations résident dans la base de données master.The mapped login and its permissions both reside in master. Si une clé asymétrique ou un certificat réside dans une base de données autre que la base master, vous devez les recréer dans la base master et les mapper à une connexion.If a certificate or asymmetric key resides in a database other than master, you must re-create it in master and map it to a login. Si vous déplacez, copiez ou restaurez la base de données sur une autre instance de serveur, vous devez recréer son certificat ou sa clé asymétrique dans la base de données master de l’instance du serveur de destination, les mapper à une connexion et accorder les autorisations au niveau serveur à la connexion.If you move, copy, or restore the database to another server instance, you must re-create its certificate or asymmetric key in the master database of the destination server instance, map to a login, and grant the required server-level permissions to the login.

Pour créer un certificat ou une clé asymétriqueTo create a certificate or asymmetric key

Replication Settings Replication Settings

Si vous restaurez une sauvegarde d'une base de données répliquée sur un autre serveur ou dans une autre base de données, les paramètres de réplication ne peuvent pas être conservés.If you restore a backup of a replicated database to another server or database, replication settings cannot be preserved. Dans ce cas, vous devez recréer la totalité des abonnements et des publications une fois les sauvegardes restaurées.In this case, you must re-create all publications and subscriptions after backups are restored. Pour faciliter ce processus, créez des scripts pour vos paramètres de réplication actuels, et également pour l'activation et la désactivation de la réplication.To make this process easier, create scripts for your current replication settings and, also, for the enabling and disabling of replication. Pour recréer facilement vos paramètres de réplication, copiez ces scripts et modifiez les références de nom de serveur afin qu'elles fonctionnent pour l'instance du serveur de destination.To help re-create your replication settings, copy these scripts and change the server name references to work for the destination server instance.

Pour plus d’informations, consultez Sauvegarder et restaurer des bases de données répliquées, Mise en miroir de bases de données et réplication (SQL Server) et Copie des journaux de transaction et réplication (SQL Server).For more information, see Back Up and Restore Replicated Databases, Database Mirroring and Replication (SQL Server), and Log Shipping and Replication (SQL Server).

Service Broker Applications Service Broker Applications

De nombreux aspects d'une application Service BrokerService Broker sont déplacés avec la base de données.Many aspects of a Service BrokerService Broker application move with the database. Cependant, certains aspects doivent être recréés ou reconfigurés dans le nouvel emplacement.However, some aspects of the application must be re-created or reconfigured in the new location.

Startup Procedures Startup Procedures

Une procédure de démarrage est une procédure stockée qui est marquée pour l'exécution automatique et qui est exécutée à chaque démarrage de SQL ServerSQL Server .A startup procedure is a stored procedure that is marked for automatic execution and is executed every time SQL ServerSQL Server starts. Si la base de données dépend de procédures de démarrage, celles-ci doivent être définies sur l'instance du serveur de destination et configurées pour s'exécuter automatiquement au démarrage.If the database depends on any startup procedures, they must be defined on the destination server instance and be configured to be automatically executed at startup.

Triggers (at Server Level) Triggers (at Server Level)

Les déclencheurs DDL lancent des procédures stockées en réponse à différents événements DDL (Data Definition Language).DDL triggers fire stored procedures in response to a variety of Data Definition Language (DDL) events. Ces événements correspondent principalement à des instructions Transact-SQLTransact-SQL qui commencent avec les mots clés CREATE, ALTER et DROP.These events primarily correspond to Transact-SQLTransact-SQL statements that start with the keywords CREATE, ALTER, and DROP. Certaines procédures stockées système qui effectuent des opérations de type DDL peuvent également activer des déclencheurs DDL.Certain system stored procedures that perform DDL-like operations can also fire DDL triggers.

Pour plus d'informations sur cette fonctionnalité, consultez DDL Triggers.For more information about this feature, see DDL Triggers.

Voir aussiSee Also

Bases de données à relation contenant-contenu Contained Databases
Copier des bases de données sur d'autres serveurs Copy Databases to Other Servers
Attacher et détacher une base de données (SQL Server) Database Detach and Attach (SQL Server)
Basculer vers une base de données secondaire de copie des journaux de transaction (SQL Server) Fail Over to a Log Shipping Secondary (SQL Server)
Basculement de rôle durant une session de mise en miroir de bases de données (SQL Server) Role Switching During a Database Mirroring Session (SQL Server)
Configurer une base de données miroir chiffrée Set Up an Encrypted Mirror Database
Gestionnaire de configuration SQL Server SQL Server Configuration Manager
Dépanner des utilisateurs orphelins (SQL Server) Troubleshoot Orphaned Users (SQL Server)