高分求一个SQL语句

大健 2002-09-27 11:51:23
题目:有两SQL台服务器,分别叫Server1和Server2;Server1里有数据库DbA,DbA里有表TbA。Server2里有数据库DbB,DbB里有表TbB。正常来说TbB和TbA两表的记录是一样的。
要求:我为了做同步,要把TbA存在的记录但在TbB里不存在、又或是TbB里存在而在表TbA里不存在记录搜出来。请问这个select的语句该怎样写呢?(如果是同一个数据库那就好办了)
...全文
44 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
leimin 2002-09-27
  • 打赏
  • 举报
回复
如果要2台SQL SERVER适时同步,可以通过集群处理,
SERVER1 AND SERVER2 公用一个磁盘阵列,或各自有自己的磁盘阵列,
操作系统要WINNT4.0 +SP4 OR WIN2000 ADVANCE SERVER
SQL 需要SQL 7.0以上。

我有一份MS在WINNT4.0的配置文档,你要么?

楼上的方法导数据是可以,要做到同步还是不行吧?
愉快的登山者 2002-09-27
  • 打赏
  • 举报
回复
可以先将server2中的DbB表TbB用导入工具,导入到server1中,然后在进行SELECT操作。
Yang_ 2002-09-27
  • 打赏
  • 举报
回复
in server1:

USE master
GO
EXEC sp_addlinkedserver
'server2',
N'SQL Server'
GO

EXEC EXEC sp_addlinkedsrvlogin 'server2', 'false', NULL, 'Sa', 'Password'
GO

TbA存在的记录但在TbB里不存在:
USE DBA
GO
SELECT * FROM TBA A
WHERE NOT EXISTS (
SELECT * FROM SERVER2.DBB.DAO.TBB
WHERE ID=A.ID
)

TbB里存在而在表TbA里不存在:

USE DBA
GO
SELECT * FROM SERVER2.DBB.DAO.TBB A
WHERE NOT EXISTS (
SELECT * FROM TBA
WHERE ID=A.ID
)
newly_ignorant 2002-09-27
  • 打赏
  • 举报
回复
跟同一个数据库一样啊,就是加上前面的数据库以及所有者而已。
大健 2002-09-27
  • 打赏
  • 举报
回复
使用Yang_(扬帆破浪)的方法ok了,谢谢
分数一会儿送上
leimin 2002-09-27
  • 打赏
  • 举报
回复
to: zzhuz(大件)
I had send to you.
Yang_ 2002-09-27
  • 打赏
  • 举报
回复
SELECT * FROM [SER\VER2].DBB.DAO.TBB
大健 2002-09-27
  • 打赏
  • 举报
回复
原来用"[]"把它括起来就行了:)
继续尝试
microlong 2002-09-27
  • 打赏
  • 举报
回复
两个数据库服务器建立一个事务复制不比什么都好??一劳永逸!:)
大健 2002-09-27
  • 打赏
  • 举报
回复
to leimin(黄山光明顶):给我一份吧,zzhuz@etang.com,谢谢
to Yang_(扬帆破浪):对于那个Server2,它的名字里包含'\'这样的特殊符号的,系统说我这句出错了: SELECT * FROM SERVER2.DBB.DAO.TBB。那怎么解决呢?如果我只有第二台服务器的ip呢?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧