Tsql T-SQL-将集合插入链接服务器上的多个受约束表中
所以,我在服务器“a”上有一个数据集,在链接服务器“B”上有两个表(“t1”、“t2”)。 我无法修改服务器“B”架构。 我试图实现的是:在[B].[t1]中插入前两个数据集(非标识)列,该列应生成标识索引值,然后在[B].[t2]中添加第二个也是非标识的列,该列包含应映射到[B].[t2]中相应行的MsgId列。 似乎我不能在链接服务器上使用OUTPUT或SCOPE_IDENTITY()(两者都不返回任何内容) 我的问题是:有没有一种方法可以在不修改服务器B的情况下将数据从服务器a添加到服务器BTsql T-SQL-将集合插入链接服务器上的多个受约束表中,tsql,sql-server-2016,bulkinsert,linked-server,Tsql,Sql Server 2016,Bulkinsert,Linked Server,所以,我在服务器“a”上有一个数据集,在链接服务器“B”上有两个表(“t1”、“t2”)。 我无法修改服务器“B”架构。 我试图实现的是:在[B].[t1]中插入前两个数据集(非标识)列,该列应生成标识索引值,然后在[B].[t2]中添加第二个也是非标识的列,该列包含应映射到[B].[t2]中相应行的MsgId列。 似乎我不能在链接服务器上使用OUTPUT或SCOPE_IDENTITY()(两者都不返回任何内容) 我的问题是:有没有一种方法可以在不修改服务器B的情况下将数据从服务器a添加到服务
我目前的解决方案涉及到游标和在远程服务器上创建存储过程,但我觉得我做得完全错误,并在这个过程中重新发明了轮子。另外,修改数据库结构是一个痛苦的过程,涉及大量的文书工作。您要做的是ETL(提取、转换、加载),使用SSIS这样的工具有助于做到更干净、更易于维护。如果您可以在链接服务器上创建存储过程,我认为这可以帮助您解决问题。