Après sélectionner la table d'un server et comment insert dans un autre server?

J'ai deux servers et j'ai besoin de transférer tous les détails d'un user particulier d'un server à un autre server.

J'ai sélectionné la rangée d'un server et maintenant je dois l'insert dans un autre server d'une table.

J'ai sélectionné la ligne et je la renvoie dans datatable.

select * from [mp_Sites] where SiteID = "+siteid+" 

J'ai appelé la procédure stockée qui est présente dans le server2 pour insert dans la table qui est sélectionnée à partir du server1.

 cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@1", SqlDbType.Int).Value = moduleId; cmd.Parameters.Add("@2", SqlDbType.VarChar).Value = dtEventsXmls.Rows[i]["SettingName"].ToSsortingng(); cmd.Parameters.Add("@3", SqlDbType.VarChar).Value = dtEventsXmls.Rows[i]["SettingValue"].ToSsortingng(); cmd.Parameters.Add("@4", SqlDbType.VarChar).Value = dtEventsXmls.Rows[i]["ControlType"].ToSsortingng(); cmd.Parameters.Add("@5", SqlDbType.NText).Value = dtEventsXmls.Rows[i] ["RegexValidationExpression"].ToSsortingng(); 

Je pense que c'est compliqué. Y a-t-il une meilleure façon de le faire?

Vous devez définir un server lié dans le server SQl. Par exemple LN que vous pouvez insert dans la database liée. LN.dbo.table. Dans votre procédure de magasin, vous pouvez insert dans la table liée

UTILISER un nom complet comme

  INSERT INTO SERVER1.DATABASE1.dbo.TABLE1 values(SELECT * FROM SERVER2.DATABASE2.dbo.TABLE2) 

assurez-vous que non. des colonnes et dataType doit être identique à ces deux tables et l'ordre de la valeur de la colonne doit être identique.