SQL Server 跨服务器SQL

pkwftd7m  于 2022-11-21  发布在  其他
关注(0)|答案(8)|浏览(241)

我想将数据从一个服务器的数据库移植到另一个服务器的数据库。这两个数据库都在不同的mssql 2005服务器上。可能不可以选择复制,因为目标数据库是按[时间间隔]从头开始生成的。
我最好是这样做

insert *
from db1/table1
into db2/table2
where rule1 = true

很明显,连接凭据将在此脚本中的某个地方出现。

8e2ybdfx

8e2ybdfx1#

我想你要做的是按照this webarchive snapshot of msdn article from 2015this article from learn.microsoft.com创建一个链接服务器。

Select * From ServerName.DbName.SchemaName.TableName
bxfogqkk

bxfogqkk2#

您可以像这样使用“开启数据来源”:

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO

EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO

SELECT  *
FROM    OPENDATASOURCE('SQLOLEDB',
                   'Data Source=<Ip Of Your Server>;
                    User ID=<SQL User Name>;Password=<SQL password>').<DataBase name>.<SchemaName>.<Table Or View Name>

Go
6ioyuze2

6ioyuze23#

SQL Server Integration Services(SSIS)是一个选项吗?如果是,我会使用它。

kpbpu008

kpbpu0084#

您 是 要 将 数据 库 的 全部 内容 从 一 个 服务 器 传输 到 另 一 个 服务 器 , 还是 只 传输 几 个 表 中 的 一些 数据 ?
对于 这 两 个 选项 , SSIS 将 做 这项 工作 , 特别 是 如果 你 打算 定期 转移 。
如果 您 只是 想 从 1 个 或 2 个 表 中 复制 一些 数据 , 并且 更 喜欢 使用 SQLManagementStudio 中 的 TSQL 来 执行 此 操作 , 则 可以 使用 Pelser 建议 的 链接 服务 器
1.将 源 数据 库 服务 器 设置 为 链接 服务 器
1.使用 以下 语法 访问 数据

select columnName1, columnName2, etc from serverName.databaseName.schemaName.tableName

中 的 每 一 个

wnvonmuf

wnvonmuf5#

我不同意你对复制的评论。你可以通过从头开始创建一个数据库来开始复制,你可以通过更新可用的客户端数据库来控制更新,或者只是重新创建数据库。
自动复制通过自动管理键和关系来简化您的工作。
我认为最简单的方法是通过MSSQL Server Studio启动快照复制,获取T-SQL对应的脚本(即发布和订阅对应的T-SQL指令),并将这些脚本作为作业的一部分记录在SQL代理的Jobs列表中,或作为复制作业记录在replications文件夹中。

hc8w905p

hc8w905p6#

你可以走链接服务器路线。
你不能使用select *,你必须在select中插入。
如果您没有使用它的经验,我会避免复制,因为如果它中断,可能很难修复,如果管理不当,可能容易出现其他问题。
保持简单,尤其是在数据库很小的情况下。

y1aodyip

y1aodyip7#

您可以使用数据转换服务来完成这项工作吗?它提供了各种组合在一起的工具来完成这类工作。
您可以从Microsoft网站here下载SQL Server 2005功能包

liwlm1x9

liwlm1x98#

CREATE VIEW newR1 
AS
SELECT * from OPENQUERY ([INSTANCE_NAME], 'select * from DbName.SchemaName.TableName')

相关问题