如何在SQL Server中将数据从生产服务器插入到开发服务器

时间:2018-11-05 22:00:16

标签: sql sql-server

我想将生产服务器中的数据插入到特定表的开发服务器中。

我正在使用insert into SQL查询和标准名称。那就是我指定服务器名称,数据库名称,架构名称和表名称。

insert into ServerADev.[ING_DB].dbo.[Table1] 
    select * 
    from ServerAProd.[ING_DB].dbo.[Table1] 
    where ID = '08914'

ID是表1中的列。

对于上述查询,我​​遇到了错误:

  

在sys.servers中找不到ServerAProd。验证是否指定了正确的服务器名称。如有必要,执行存储过程sp_addlinkedserver将服务器添加到sys.servers。

当我EXEC sp_addlinkedserver @server='ServerAProd'时,我得到:

  

用户无权执行此操作。

我是否需要向DBA(数据库管理员)发出请求以授予执行此查询的权限?

2 个答案:

答案 0 :(得分:1)

您需要设置linked server来查询外部服务器。  因此,要么:

  1. ServerAProd不是您命名的链接服务器

  1. 您尚未创建链接服务器。您可以使用错误消息中的sp_addlinkedserver,或在对象资源管理器中浏览至“服务器对象”,然后在“链接服务器”上右键单击-> new。有关更多详细信息,请参见上面的链接。

进行编辑...是的,这需要权限:

  

使用Transact-SQL语句时,需要对服务器具有ALTER ANY LINKED SERVER权限或setupadmin固定服务器角色的成员资格。使用Management Studio时,需要CONTROL SERVER权限或sysadmin固定服务器角色的成员身份。

答案 1 :(得分:0)

1。在生产服务器上为开发服务器创建链接服务器, 2.使用此openquery()插入数据,以便您可以非常快速地插入大数据。

插入OPENQUERY(devservername,'SELECT * FROM devservar_database..dev_server_table_name')
从production_table_database_name中选择*。.production_table_table_name