SQL Server 2012 - Insérer dans la table de serveur lié à l'aide de la fonction openquery

J'ai un serveur lié Remoteserver contenant une table qui tient noms de fichiers et dossiers à partir d'un dir

Quand je suis sur le serveur distant, je peux exécuter un construit dans la procédure (xp_dirtree) et de remplir les 'fichiers' table, mais ce dont j'ai besoin pour faire est d'exécuter une requête à partir du serveur SQL local qui fait cela:

  1. Supprimer tous les enregistrements de la [Files] table sur Remoteserver
  2. Insérer des données qui proviennent de la procédure stockée:
    INSERT [Remoteserver].[dbo].[files] (subdirectory,depth,isfile)
       EXEC master.sys.xp_dirtree '\\Fileserver\DBBackup',1,1;
  3. Sélectionnez le 'répertoire' colonne

J'ai essayé quelques choses à l'aide de la fonction openquery et je suis en mesure de sélectionner les enregistrements existants, mais incapable de le faire l'insertion.

Toute aide est appréciée.

"impossible" - ce que cela signifie?
pouvez-vous inclure le message d'erreur que vous obtenez? il me semble que le nom de votre table est en manque une partie. Pour être valide requête à distance, il doit avoir quatre parties: Serveurdistant.dbname.dbo.fichiers par exemple
Pour être honnête, je ne suis pas tout à fait sûr de la bonne syntaxe à utiliser. J'ai essayé quelques variantes de la openquery mais je suis sûr qu'ils ne sont pas droit parce qu'ils n'ont pas fonctionné :)...de toute façon la télécommande nom de la table est comme suit:[Remoteserver].[dbo].[files]....Pour clarifier, je n'ai pas besoin d'extraire les données dans un tableau existant sur le localserver...j'ai Juste besoin de l'afficher sur une application web, donc tout ce qui doit arriver doit arriver à distance...la seule chose qui se passe localement est la openquery qui affiche les données de la remoteserver "fichiers" de la table
montrez-nous ce que vous avez essayé jusqu'à présent?
INSÉREZ OPENQUERY([Remoteserver], ' SELECT id,sous-répertoire,de la profondeur,isfile DE [Remoteserver].[dbo].[fichiers] ' ) VALUES ('EXEC maître.sys.xp_dirtree "\\serveur de fichiers\DBBackup",1,1')

OriginalL'auteur Kiran | 2015-01-09