J'essaie de copier une base de données. Lors de l'exécution de l'Assistant Copie de base de données, une erreur d'exécution du travail de l'agent SQL Server s'affiche. Les états d'erreur
Le travail a échoué. Consultez le journal des événements sur le serveur de destination pour plus de détails.
Opération performante
Ajouter un journal pour le package (succès)
Ajouter une tâche pour transférer des objets de base de données (Succès)
Créer un package (succès)
Démarrer le travail de l'agent SQL Server (succès)
Exécuter le travail de l'agent SQL Server (erreur)
Erreur:
Le travail a échoué. Consultez le journal des événements sur le serveur de destination pour plus de détails. (Assistant de copie de base de données)
Je n'arrive pas à trouver ce qui cause ce problème. Est-ce que j'utilise l'approche correcte? J'ai juste besoin de copier cette base de données. Merci d'avance.
si vous essayez de cloner votre base de données sur le même serveur, essayez ceci:
Databases
et sélectionnez Restore Database
From Database
De la section Source for restore
To database
de la section Destination for Restore
- il ne peut s'agir du nom d'une base de données existante Vérifiez le journal des événements Windows.
Voici un exemple.
Voici quelques erreurs et solutions rencontrées.
Impossible de déterminer si le propriétaire (...) du travail ... a un accès au serveur (raison: impossible d'obtenir des informations sur le groupe/utilisateur Windows NT "...", code d'erreur 0x54b. [SQLSTATE 42000] (erreur 15404) ).
Nous devions nous assurer que, lors de l'assistant de copie de base de données, le compte avec lequel nous nous étions connectés au serveur de destination disposait des privilèges appropriés et que ces privilèges pouvaient être obtenus (nous avons finalement utilisé le compte sa
.). Cet avertissement a été résolu.
L'accès est refusé
Nous devions nous assurer que l'agent local SQL Server avait les privilèges appropriés sur le serveur local. Nous avons donc créé l’ouverture de session de l’agent SQL Server en tant que système local. Cela a fonctionné car Local System est un administrateur système dans notre instance SQL Server.
Impossible de lire les métadonnées, probablement en raison de droits d'accès insuffisants.
Nous devions donner davantage de privilèges au compte Système local.
xp_regread () a renvoyé l'erreur 5, "L'accès est refusé".
Cela nous a empêché et nous avons posé une autre question: xp_regread () a renvoyé l'erreur 5, "L'accès est refusé".
Cela est généralement dû au fait que votre compte (Service NT\SQLSERVERAGENT ) n’est pas autorisé à accéder au dossier de données (..Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA). Réglez-le sur le contrôle complet est ok
Le compte ci-dessus est la valeur par défaut. Si vous souhaitez vérifier quel compte est activé pour l'agent, accédez à services.msc. vérifier la connexion au compte
Pour mon problème avec l'Assistant Copie de base de données: Erreur: La valeur ne peut pas être null. Nom du paramètre: database StackTrace: at Microsoft.SqlServer.Dts.Tasks.TransferObjectsTask.TransferObjectsTask.CheckLocalandDestinationStatus
J'avais tout essayé pour que mon assistant de copie de base de données fonctionne selon une planification allant de SQL 2012 à SQL2017 1. J'avais défini le compte d'agent SQL sur un administrateur, même si j'avais déjà configuré un proxy qui était un administrateur système 2. J'avais utilisé des outils de données et essayé de remplacer le nombre maximal d'erreurs par plus d'un.
Les dernières étapes que j'ai prises et qui ont fonctionné sont les suivantes: A. J'ai installé des outils de données sur le serveur 2017 (juste au cas où j'en aurais besoin) B. J'ai ajouté une base de données fictive sur le serveur 2017 afin de pouvoir accéder à l'assistant de copie de base de données à partir de SSMS . C. J'ai démarré l'assistant de base de données opy à partir de mon système NEWER à partir de la base de données fictive, mais j'ai remplacé mon source par le serveur source (au lieu de l'instance SQL locale par défaut), puis ma cible par l'instance SQL de ma machine locale.
D. Je suis allé dans l'assistant pour chaque élément (dans mon cas, il s'agissait d'une option de copie et de remplacement utilisant SSMS (ne pas détacher ni réattacher car je ne pouvais pas supprimer le source en production), et j'ai cliqué sur REFRESH (Réactiver) sur chaque écran d’assistant de copie de base de données APRÈS le changement du répertoire de destination.
(UN CAVIAT SI MIGRANT DES BASES DE DONNÉES SUR SSMS 2017 pour SQL 2017. Assurez-vous de disposer de la dernière mise à jour cumulative pour la version SQL: https://support.Microsoft.com/en-us/help/4342123 vs. select @@ version dans une requête
Assurez-vous également que vos comptes d’agent SQL et de serveur SQL sont autorisés dans le répertoire cible.
Suite à cela, mon script a finalement fonctionné à partir du serveur SQL2017, après avoir été ajouté aux travaux de l'agent SQL.