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]
4 Réponses :
Oui, vous utiliseriez le nom du serveur avant tout le reste du nom d'objet comme: Cependant, vous devez d'abord configurer des serveurs liés. Recherchez les serveurs liés dans Bol. P> P>
Qu'est-ce qu'un "bol"?
Livres en ligne - Les fichiers d'aide SQL Server.
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.
FYI Cette fonctionnalité doit être activée: Stackoverflow.com/Questtions/145442221/...
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. P>
Ensuite, il s'agit simplement d'accéder aux bases de données à l'aide de votre nom LinkedServer. P>
ex: [linkedServer] .Databasename.dbo.tablename strong> p>
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é". P>
dans SSMS, allez à Query -> 'SQLCMD MODE'
SELECT * FROM [CloverInfotech_DB].[dbo].[TEST]