Compréhension et résolution des problèmes de l'Assistant copie de base de données dans SQL Server 2000

Traductions disponibles Traductions disponibles
Numéro d'article: 274463 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

L'Assistant copie de base de données est un utilitaire de nouveau dans SQL Server 2000 qui permet de déplacer ou copier une base de données à partir de SQL Server 7.0 ou de SQL Server 2000 vers SQL Server 2000. Le processus de copie ou de déplacement est relativement simple et il peut sembler telles que le processus de tout élément affecte à peine. Cet article fournit des informations sur le fonctionnement de l'Assistant copie de base de données et décrit certains problèmes à rechercher lorsque vous utilisez l'Assistant.

Plus d'informations

Comment fonctionne l'Assistant copie de base de données

Pour ouvrir l'Assistant copie de base de données :
  • Dans SQL Server Enterprise Manager, cliquez sur Gestion et puis sur exécuter un Assistant.

    - ou -

  • Cliquez avec le bouton droit sur le dossier bases de données, cliquez sur Toutes les tâches, puis cliquez sur Assistant copie de base de données....

    - ou -

  • À l'invite de commandes, tapez cdw.exe et appuyez sur entrée.
L'Assistant détache les bases de données qui doivent être copiés ou déplacés, copie les fichiers associés à la base de données pour le serveur de destination, puis l'attache la base de données. Le détachement et l'attachement des bases de données s'effectue via les procédures stockées suivantes :
  • sp_detach_db

    - et -

  • sp_attach_db
Pour plus d'informations sur ces procédures stockées, reportez-vous aux rubriques «sp_attach_db» et «sp_detach_db» dans la documentation en ligne de SQL Server.

La copie réelle du fichier se produit via XP_CMDSHELL qui exécute une commande COPY de ligne de commande. C'est pourquoi il est important que le compte qui exécute l'Assistant copie de base de données est un membre de sysadmin. Pour plus d'informations, consultez "À l'aide de l'Assistant copie de base de données» dans la documentation en ligne de SQL Server.

L'Assistant effectue les étapes suivantes :
  1. Crée un point de partage UNC sur l'ordinateur source dans lequel les fichiers doivent être copiés.
  2. Vérifie les connexions actives dans la base de données source.
  3. Place la base de données dans le mode utilisateur unique.
  4. Détache la base de données source.
  5. Vérifie si les fichiers existent sur la destination, puis copie les fichiers de base de données sur le partage point créé précédemment.
  6. Attache la base de données sur le serveur source.
  7. Attache la base de données sur le serveur de destination.
  8. Supprime le partage UNC.
  9. Place la base de données de retour dans son mode d'origine (utilisateur unique, multi-utilisateurs, etc.).
Il existe des quatre fonctionnalités supplémentaires qui vous permettent de déplacer des objets qui sont associés à la base de données est en cours copié ou déplacé.
  • Connexions d'accès (recommandées).
    • Toutes les connexions détectées lors de l'exécution de package.
    • Uniquement les connexions utilisées par les bases de données sélectionnées.
  • Procédures stockées partagées à partir de la base de données master (facultatif).
    • Toutes les procédures stockées détectées lors de l'exécution de package.
    • Procédures stockées sélectionnées par l'utilisateur.
  • Travaux à partir de msdb (facultatif).
    • Tous les travaux détectés lors de l'exécution de package.
    • Travaux sélectionnés par l'utilisateur.
  • Messages d'erreur définis par l'utilisateur (facultatif).
    • Tous les messages d'erreur détectés lors de l'exécution de package.
    • Messages d'erreur sélectionnés par l'utilisateur.

Assistant crée un lot DTS (DTS)

L'Assistant copie de base de données crée un package DTS qui s'exécute sur le serveur de destination et peut être exécuté soit immédiatement ou peut être programmé pour s'exécuter plus tard. Vous pouvez également créer manuellement une copie de la base de données DTS package à l'aide de l'outil de Concepteur DTS en cliquant sur l'option Tâche de transfert de base de données. Pour plus d'informations, consultez la rubrique Transfer Database Objects tâches dans la documentation en ligne de SQL Server 2000.

Le lot est enregistré si elle est planifiée pour s'exécuter sur une base périodique ou une seule fois. Par conséquent, l'Agent SQL Server sur le serveur de destination doit être démarré. Le lot DTS de base de données Transfer doit être traité comme n'importe quel autre lot DTS y compris les exigences et les autorisations associées à planification et exécution du lot. Pour plus d'informations sur la façon de résoudre les lots DTS planifiés, consultez l'article suivant dans la base de connaissances Microsoft :
269074INF: Comment faire pour exécuter un lot DTS en tant qu'une tâche planifiée
Vous pouvez utiliser l'Assistant copie de base de données avec Microsoft SQL Server 7.0 où ce dernier peut être uniquement un serveur de base de données source. Vous ne pouvez pas utiliser l'Assistant avec les versions de Microsoft SQL Server 6.x ou version antérieure.

Copier le journal de l'Assistant base de données - journal de lot DTS

Un journal des événements CDW est stocké dans MSDBsysdtspackagelog table système et est également affichable par voie de SQL Enterprise Manager (SEM). Pour afficher le journal, procédez comme suit :
  1. Sur le serveur de destination où le lot est stocké, ouvrez Enterprise Manager et développez le dossier Data Transformation Services.
  2. Dans la liste des Lots locaux, recherchez le package pour lequel vous souhaitez afficher le journal. Par défaut, les packages sont nommés CDW_SourceServer_DestinationServer_autonumber.
  3. Cliquez avec le bouton droit sur le lot et sélectionnez l'option Journaux de lot.
  4. Sous les versions de lot DTS et journal de l'arborescence, cliquez sur le signe plus (+) situé à développer et afficher la liste des journaux.
Cette boîte de dialogue permet de pour afficher l'ou les journaux pour ce lot ou pour sélectionner un autre package dans la zone de liste déroulante. Il vous permet supprimer les journaux que vous n'avez pas besoin en cliquant sur le bouton Supprimer.

Vous pouvez également configurer le lot DTS pour produire un fichier de sortie à effet troublshooting.
  1. Cliquez avec le bouton droit sur le package, sélectionnez Créer un lot.
  2. Dans le menu lot, sélectionnez Propriétés.
  3. Sous l'onglet journalisation, spécifiez le fichier errr.

    Ce fichier sera ont des informations sur executation du package détaillées.

Autorisations pour copier les fichiers

La compte de démarrage SQL Server de destination doit être un compte de domaine et doit disposer des privilèges d'administrateur local sur le serveur SQL source ordinateur serveur pour que les fichiers puissent être copiés à partir de la source vers la destination.

Si le serveur de destination SQL Server est démarré sous un compte système local message d'erreur suivant peut s'afficher :
Votre service SQL Server s'exécute sous le compte système local. Vous devez modifier votre compte de SQL Server Service dispose de droits pour copier des fichiers sur le réseau.
Si le serveur de destination SQL Server est démarré sous un compte de domaine ne dispose pas des privilèges d'administrateur local sur l'ordinateur source puis la message d'erreur suivantes peut-être être généré par l'Assistant :
Source de l'erreur étape : Package de Microsoft Data Transformation Services (DTS)
Description de l'erreur d'étape : non spécifié erreur

Code d'erreur de l'étape : 80004005
Étape Erreur aide File:sqldts80.hlp
ID:1100 de contexte d'aide de l'erreur d'étape
En cliquant sur le «MORE INFO >>> " bouton, vous trouverez que les autorisations pour créer le partage distant ne sont pas présentes.
Impossible de créer le partage OMWWIZD

Attention que se détache la base de données

Comme nous l'avons déjà mentionné, l'Assistant copie de base de données détache la base de données source avant de le copier sur le serveur de destination. N'exécutez pas l'Assistant copie de base de données si la base de données est suspecte ou si d'autres problèmes existent avec la base de données peut empêcher de détachement ou reconnexion. Les problèmes tels que les erreurs (par exemple, l'erreur 823) d'e/S, des erreurs d'intégrité de données (par exemple, table endommagée) ou des tous les problèmes matériels (par exemple, les erreurs de port SCSI ou les erreurs de contrôleur dans le journal des événements système), au nom un peu, connus peuvent être une entrave à une reconnexion réussie de la base de données.

Vous assurer que la base de données source n'est pas marquée 'en lecture seule', 'en mode hors connexion', 'suspectez', «d'urgence», ou «chargement» ou le détachement échouera. Le détachement échouerait car la procédure de détachement doit mettre à jour les statistiques dans la base de données ; si la base de données est en aucun cas n'est pas accessible pour les écritures, la mise à jour des statistiques échoue. Message d'erreur suivant est généré si le détachement échoue en raison de la base de données dans n'importe quel état unwritable :
Échec du détachement de la base de données <databasename>
Le bouton Affichage erreur montre le texte suivant :
Erreur d'étape source : lot de Microsoft Data Transformation Services (DTS)
Description de l'erreur d'étape : non spécifié erreur

Code d'erreur de l'étape : 80004005
Étape Erreur aide File:sqldts80.hlp
ID:1100 de contexte d'aide de l'erreur d'étape
En outre, détacher la base de données requiert que cet élément en cours en mode utilisateur unique ou n'avoir aucun utilisateur connecté. Si plusieurs utilisateurs utilisent la base de données, l'Assistant peut échouer avec l'erreur suivante :
Erreur d'étape source : lot de Microsoft Data Transformation Services (DTS)
Description de l'erreur d'étape : non spécifié erreur

Code d'erreur de l'étape : 80004005
Étape Erreur aide File:sqldts80.hlp
ID:1100 de contexte d'aide de l'erreur d'étape
Si vous cliquez sur le bouton pour en savoir plus, les éléments suivants peuvent s'affichent root cause du problème :
Base de données [dbname] a des connexions actives [N]. Base de données n'est pas transférée.

Autorisations pour détacher une base de données

Certaines autorisations sont nécessaires pour détacher une base de données. Documentation en ligne de SQL Server 2000 identifie les autorisations appropriées pour utiliser l'Assistant :
«Pour utiliser l'Assistant copie de base de données, vous devez être un administrateur système ou membre du rôle sysadmin. "Si vous exécutez Microsoft Windows NT ® 4.0 ou Microsoft Windows ® 2000, votre compte d'utilisateur doit avoir des privilèges d'administrateur sur le serveur de destination."

Vérifiez le répertoire de destination existe

Lorsque vous utilisez CDW (Copy Database Assistant), à l'écran d'Emplacement du fichier de base de données, cliquez sur le bouton Modifier et confirmez que le répertoire de destination est correct. Si le répertoire n'existe pas, le CDW peut échouer avec l'erreur suivante :
Source de l'erreur étape : Microsoft Data Transformation Services (DTS) package
Description de l'erreur de l'étape : non spécifié erreur

Code d'erreur de l'étape : 80004005
Étape erreur aide File:sqldts80.hlp
Étape ID:1100 de contexte d'aide de l'erreur
Si vous cliquez sur le «infos >>> " bouton, vous constaterez que le répertoire est présent.
Fichier \\SOURCE_SERVER\OMWWIZx\Program Files\Microsoft Server\MSSQL\Data\Filename_Data.mdf SQL ne peut pas être copié car le répertoire de destination n'existe pas.

L'option Déplacer supprime la base de données

Gardez à l'esprit que si vous choisissez de déplacer une base de données, plutôt que de copier, la base de données est supprimée du serveur SQL Server source. Plus précisément, la base de données est détachée du serveur source, mais pas reconnecté. Toutefois, les fichiers de base de données d'origine (.mdf, .ndf, .ldf) restent sur le serveur source et si vous n'avez pas besoin ceux en raison de considérations d'espace, vous devez les supprimer manuellement. Le message d'avertissement suivant s'affiche dans la boîte de dialogue fin de l'Assistant copie de base de données :
Base de données 'pubs' seront copiés, mais seront disponibles uniquement sur le serveur de destination. L'administrateur doit supprimer les fichiers journaux et des données de base de données 'Pubs' sur le serveur source.
Toutefois, si vous sélectionnez par erreur l'option MOVE au lieu de l'option COPY, vous pouvez en toute sécurité réattachez les fichiers sur le serveur pour restaurer la base de données.

Déplacement des connexions

Une nouvelle fonctionnalité de l'Assistant copie de base de données atténue le problème de déplacer manuellement les connexions d'accès. L'Assistant identifie les connexions d'accès correspondant aux utilisateurs de base de données et vous offre la possibilité de déplacer ou copier ces fichiers en tant que partie du déplacement ou copie de la base de données. Connexions de l'authentification SQL Server Standard et les connexions de l'authentification Microsoft Windows NT et Microsoft Windows 2000 sont déplacées par l'Assistant.

Les versions antérieures de SQL Server requis une intervention manuelle pour déplacer les connexions d'accès aux utilisateurs de base de données de la base de données qui est copiées ou déplacées. Pour plus d'informations sur le transfert des connexions avec les versions antérieures de SQL Server, consultez l'article suivant dans la base de connaissances Microsoft :
168001PRB : D'utilisateur et/ou les erreurs d'autorisation après la restauration de vidage
246133Comment faire : Transférer des noms d'accès et des mots de passe entre instances de SQL Server
Notez que les groupes Windows NT/2000 local et utilisateurs autorisés à accéder de la connexion à SQL Server ne peut pas être transférés entre différents ordinateurs. Si vous tentez de le faire, le transfert de la connexion échouera. Si vous cliquez sur le «infos >>> " bouton, vous pouvez voir les éléments suivants root cause du problème :
«Échec de transfert connexion SourceMachine\LocalGroup1»
- ou -
«Transfert connexion SourceMachine\LocalUser1 a échoué»

Base de données/fichiers existe ou est l'espace disque insuffisants

Lorsque vous transférez une base de données, l'Assistant détecte que la base de données existe sur le serveur de destination ou non. La boîte de dialogue Sélectionner la base de données à déplacer ou copier indique que les bases de données peuvent être transférés avec un statut OK ou que les bases de données ne peut pas être transférée soit car la base de données Existe déjà ou est une Base de données système tels que la base de données master.

Un transfert de la base de données peut également être arrêté si les mêmes fichiers de base de données existent déjà sur le serveur de destination. Par conséquent, que vous ayez une base de données nommées MyPubs dont les noms de fichier équivalentes à celles des pubs de la base de données sur la destination. Les fichiers destinations marquées avec un X rouge s'affiche.
"Fichiers sur la source portent le même nom que la cible ou il n'est pas assez d'espace disque à la destination."
Pour éviter cette message d'erreur, soit modifier les noms de fichiers créés sur le serveur de destination ou de modifier l'emplacement physique dans lequel ceux seront créés.

Un transfert peut également être entravé par un manque d'espace disque sur le serveur de destination. Changer de lecteur ou supprimez des fichiers pour permettre suffisamment d'espace.

Cesse de recherche de texte intégral. Fichiers de catalogue de texte intégral non transférés

Si la base de données contient les catalogues de texte intégral il existe deux effets de l'utilisation de l'Assistant copie de base de données pour la transférer. Tout d'abord, rechercher dans les catalogues de texte intégral (FT) est arrêté par l'Assistant afin que la base de données peut être mis en mode mono-utilisateur. Deuxièmement, les fichiers du catalogue de texte intégral ne sont pas déplacés par l'Assistant. Si vous essayez d'exécuter une requête de recherche de texte intégral sur le serveur SQL source ou destination après avoir exécuté l'Assistant copie de base de données, vous pouvez obtenir message d'erreur suivantes :
Serveur: Msg 7616, niveau 16, état 1, ligne 1
La recherche de texte intégral n'est pas activée pour la base de données en cours. Utilisez sp_fulltext_database pour activer la recherche de texte intégral pour la base de données.
Pour plus d'informations, consultez l'article suivant dans la base de connaissances Microsoft :
303224CORRECTIF : Utilisation de l'Assistant copie de base de données pour copier une base de données désactive l'indexation de texte intégral sur la base de données source
Pour effectuer des recherches de texte intégral sur la source et de destination SQL Server serveurs Utilisez ces étapes :
  1. Exécutez la procédure stockée suivante pour activer l'indexation de texte sur les bases de données source et/ou destination intégral :
    sp_fulltext_database 'enable'
    					
  2. Effectuer un remplissage complet sur tous les catalogues.
Voici la section pertinente dans la documentation en ligne de :
"Si vous souhaitez copier une base de données avec des catalogues de texte intégral, les catalogues de texte intégral de la base de données ne sont pas disponibles sur le serveur source après l'opération de copie. Vous devez remplir manuellement de nouveau les catalogues de texte intégral sur le serveur de destination.

Si vous souhaitez déplacer une base de données avec des catalogues de texte intégral, aucun des fichiers de catalogue de texte intégral associées sont déplacées lorsque la base de données est déplacée. Ces fichiers doivent être déplacés manuellement par l'administrateur de base de données.»
Pour plus d'informations sur la façon de déplacer des catalogues de texte intégral, consultez l'article suivant dans la base de connaissances Microsoft :
240867INF: Comment déplacer, copier et des dossiers back up catalogue de texte intégral et des fichiers

Références

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
327270SQL Server 2000 n'est pas pris en charge sur Windows Server 2003 Terminal Server Application Server

Propriétés

Numéro d'article: 274463 - Dernière mise à jour: mercredi 21 décembre 2005 - Version: 6.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Standard
Mots-clés : 
kbmt kbinfo KB274463 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 274463
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com