Laquelle l'utilisateur, les informations d'identification de l'Intégration des Services de Catalogue de l'utiliser pour exécuter des packages?
Nous avons un package SSIS qui lit des fichiers texte à partir d'un répertoire réseau partagé. Lorsque j'exécute ce paquet dans SSDT, il fonctionne très bien. Lorsque nous avons cependant déployer le projet à la Integration Services Catalog
et essayez d'exécuter le même package à partir de là, je reçois un message d'erreur indiquant que l'accès à l'annuaire est refusé.
J'ai toujours eu l'impression que quand je me connecte à la base de données et exécuter un package SSIS de l'Intégration des Services de Catalogue qu'il utilise MES informations d'identification d'utilisateur et avoir ainsi accès à l'annuaire en question, comme à mon profil utilisateur a accès.
N'est-ce pas le cas? SQL Server utiliser un autre utilisateur à exécuter des packages à partir de l'EST de catalogue? Est-il une option pour run as another user
? Toute contribution sera appréciée.
Vous devez vous connecter pour publier un commentaire.
Paquet Exécutions:
Outils de Données SQL Server:
D'identification de l'utilisateur sous lequel
SQL Server Data Tools (SSDT)
est de l'exploitation sera utilisé pour exécuter les packages qui sont exécutées à l'intérieur de SSDT.Sous Windows Démarrer \ Tous les Programmes \ Microsoft SQL Server 2012, si vous cliquez sur Outils de Données SQL Server, il sera exécuté sous vos informations d'identification. Pour s'exécuter sous un autre compte, vous pouvez appuyer sur Ctrl + Maj pour sélectionner
Run as different user
option.L'Intégration Du Catalogue De Services:
Lorsque vous cliquez droit sur un paquet sous
Integration Services Catalog \ SSISDB \ <Folder name> \ Projects \ <Project name> \ Packages \ <Package name>
et sélectionnezExecute...
pour exécuter un package. Le package sera exécuté sous les informations d'identification utilisées pour se connecter à SQL Server Management Studio.Notez que si vous essayez d'exécuter un package à l'aide de l'Authentification SQL Server, vous recevez le message d'erreur ci-dessous:
Après que vous appuyez sur
Execute...
,SQL Server
tourne un processusISServerExec.exe
, qui lance unConsole Window Host
processus:ISServerExec.exe
est un programme qui exécute les packages SSIS Catalogue. Dans ce cas, il est lancé sous le même utilisateur qui exécute un package SSIS à partir de SQL Server Management Studio.De Travail SQL Server Agent Sans Proxy:
Lorsque vous exécutez un package SSIS dans un de Travail SQL Server Agent, l'étape de travail s'exécute par défaut sous
SQL Server Agent Service Account
. Le compte utilisateur associé de Service SQL Server Agent peut être trouvé en accédant àWindows Start \ Administrative Tools \ Services
, recherchez le service de l'Agent SQL Server (Your Instance Name
) et de trouver le compte d'utilisateur répertorié sousLog On As
De Travail SQL Server Agent Avec Proxy:
Vous pouvez également exécuter un Travail SQL Server Agent sous différentes informations d'identification par la création d'un compte proxy. Lorsque les étapes de travail sont exécutées en vertu de la procuration de compte, le package dans l'étape de travail va s'exécuter dans les informations d'identification spécifiées sur le compte proxy.
Ci-dessous AFIN de répondre décrit étape par étape les instructions pour créer de compte proxy pour exécuter des Travaux de l'Agent SQL Server.
Comment puis-je créer une étape dans mon Travail SQL Server Agent qui va exécuter mon package SSIS?
Comment faire pour vérifier:
Échantillon SSIS 2012:
Voici ce que j'ai fait pour vérifier les déclarations ci-dessus à l'égard des comptes d'utilisateur utilisé pour l'emballage des exécutions.
Ouvrir Outils de Données SQL Server et créer et SSIS 2012 package nommé
SO_15289442.dtsx
.Créer une variable nommée
ExecutionUser
de type de donnéesString
. Affecter l'expression@[System::UserName]
à la variable.UserName
est une variable système qui fournit de l'information de l'utilisateur qui exécute le package.Faire glisser et déposer des Tâche Envoyer un message sur le de Flux de Données onglet.
Créer une connexion SMTP et de l'affecter à la
SmtpConnection
sur la Tâche Envoyer un message à l'Éditeur de Messagerie de la page.Spécifier le
From
etTo
adresses e-mail.Changer le MessageSourceType à
Variable
.Définir la
MessageSource
àUser::ExecutionUser
.Cliquez-droit sur le package et sélectionnez déployer pour Déployer le projet d'Intégration des Services de Catalogue disponible sur un serveur de votre choix.
Paquet exécutions
Exécuter le package dans SSDT.
Ouvrir SSDT utilisant Exécuter en tant qu'utilisateur différent de l'option. Fournir un justificatif d'identité différent autre que le vôtre et exécutez de nouveau le paquet.
Exécuter le package d'Intégration des Services de Catalogue.
Créer un Travail SQL Server Agent pour exécuter le package à l'aide du Service SQL Server Agent.
Créer un Travail SQL Server Agent pour exécuter le package à l'aide d'un compte proxy.
Pour chaque exécution décrites ci-dessus, vous recevrez un e-mail avec le compte d'utilisateur qui a été utilisé pour exécuter le package.
Votre Question:
Dans votre cas, le paquet va s'exécuter dans votre compte (en supposant que vous êtes à l'aide de vos informations d'identification pour accéder à SSISDB) si vous cliquez à droite et sélectionnez Exécuter à partir de l'Intégration des Services de Catalogue. Assurez-vous que le dossier a accès au chemin d'accès réseau.
Si vous exécutez votre colis à partir de SQL Server de Travail de l'Agent, compte proxy est le
run as another user
option que vous cherchez à.Il semble que vous n'avez pas de Kerberos configuré sur votre Serveur SQL server (double saut problème).
Ici est la question connecté avec MS qui a été fixé maintenant.
https://connect.microsoft.com/SQLServer/feedback/details/767088/with-the-new-ability-to-execute-ssis-packages-from-tsql-kerberos-delegation-should-be-supported
Voici un excellent blog sur les détails de cette:
http://www.sqlscientist.com/2014/01/setup-kerberos-authentication-for-sql.html
Une fois que c'est configuré, vous devriez être en mesure, à distance, le coup d'envoi de la tâche à l'aide d'une Procédure Stockée ou SSMS sur votre machine locale. Il va passer vos informations d'identification s'il est configuré correctement, bien sûr, vous devez vous assurer que vous disposez des autorisations appropriées pour accéder à la ressource réseau.
C'est un vieux thread, mais j'imagine que le problème que vous rencontrez est en fait le chemin d'accès au fichier.
Êtes-vous à l'aide d'un nom UNC ou une lettre de lecteur. Qui est, est à votre chemin d'accès du fichier à quelque chose comme "Z:\path\to\file.csv" ou "\serveur\partage\chemin\vers\fichier.csv"?
Si c'est une lettre de lecteur, cela fonctionnera très bien à partir de votre ordinateur local comme vous que le lecteur mappé, mais échoue sur le serveur en tant que lettre de lecteur n'est pas mappé.