7
votes

Insérez des données d'un serveur à un autre?

Si je veux exécuter ce type de requête dans SQL Server, comment puis-je faire la même requête d'un serveur que je suis connecté à une autre?

J'ai essayé d'ajouter "[ServerName1]". avant "[Databasename1]. [DBO] ..." et "[ServerName2]." Avant "[Databasename2]. [DBO] ..." Mais cela n'a pas semblé fonctionner. P>

INSERT INTO [DatabaseName1].[dbo].[TableName]
           ([FieldName])
     SELECT [FieldName] FROM [DatabaseName2].[dbo].[TableName]


0 commentaires

4 Réponses :


11
votes

Oui, vous utiliseriez le nom du serveur avant tout le reste du nom d'objet comme: xxx

Cependant, vous devez d'abord configurer des serveurs liés. Recherchez les serveurs liés dans Bol.


2 commentaires

Qu'est-ce qu'un "bol"?


Livres en ligne - Les fichiers d'aide SQL Server.



8
votes

Si vous avez Les requêtes distribuées Adhoc activés Vous pouvez utiliser OPENDAASOURCE . La configuration d'un serveur lié est une autre option. Pas sûr des avantages et des inconvénients de chaque approche. XXX


1 commentaires

FYI Cette fonctionnalité doit être activée: Stackoverflow.com/Questtions/145442221/...



2
votes

La meilleure façon de le faire serait de créer un "serveur lié" entre les deux. Vous aurez besoin d'autorisations appropriées pour le faire.

Ensuite, il s'agit simplement d'accéder aux bases de données à l'aide de votre nom LinkedServer.

ex: [linkedServer] .Databasename.dbo.tablename

Pour créer un linkedServer, accédez aux objets du serveur-> Cliquez avec le bouton droit de la souris sur les serveurs liés -> Cliquez sur "Nouveau serveur lié".


0 commentaires

0
votes

dans SSMS, allez à Query -> 'SQLCMD MODE'

SELECT * FROM [CloverInfotech_DB].[dbo].[TEST]


0 commentaires