我想发表以下声明:
INSERT INTO [Server_1\Instance_1].[Database].[dse].Table1
SELECT * FROM [Server_2\Instance_2].[Database].[dse].[**Table1**]
关键是表位于不同的服务器上。我尝试了上面的陈述。但是,当我在server_1上时,当我运行以下语句以便从服务器2检索数据时:
SELECT * FROM [Server_2\Instance_2].[Database].[dse].[**Table1**]
......我得零行。 但是当我在Server_2上运行上面的语句时,我得到一组行。
如何将数据从生产转移到开发服务器/环境? 我正在使用MS Management Studio。
更新: 我运行select语句以便从另一个(生产)服务器检索数据时收到的错误消息:
链接服务器“Prod_Server \ Instance”的OLE DB提供程序“SQLNCLI10”不包含表“”数据库“。”dse“。”BoxIteration“”。该表不存在或当前用户没有该表的权限。
Select语句是:
SELECT * FROM [Prod_Server\Instance].[Database].[dse].[BoxIteration]
答案 0 :(得分:2)
要考虑两件事:
我有SQL Server的本地化版本,因此转换可能与您在屏幕中看到的不匹配:在SSMS中打开对象资源管理器窗口,连接到目标服务器,打开树并查找服务器对象,链接服务器。右键单击源链接服务器,然后查看属性。打开“安全”窗格,查看用于连接到链接服务器的凭据。
执行此操作后,您必须检查源服务器上该凭据的权限,以验证它是否可以访问相关表。
如果您不了解或无法执行某些步骤(缺少权限),请向您的DBA寻求帮助:他将立即理解并解决问题。
答案 1 :(得分:1)
如果您对prod和dev Db服务器都有访问权限(拥有凭据),则可以使用"导入和导出数据" 1.开始并打开"导入和导出数据"