两个数据库的表之间能否建立外键约束?

现在有一个项目,需要用到多个数据库,避免数据冗余。所有数据库均为SQL SERVER 2005。
1.所有项目的公用数据库MyCore。中间有一张用户表Users。
2. 某一项目数据库:ProjectA。中间有一张数据表Post,能不能通过外键与MyCore中的Users关联??
2. 另一项目数据库:ProjectB。中间有一张数据表Test,能不能通过外键与MyCore中的Users关联??
如果不能关联,如何才能做到数据库优化设计,避免数据冗余??
[274 byte] By [wangyihust-毅网] at [2008-1-9]
# 1
这想法太.....
LangpiMajia-狼皮马甲 at 2007-10-17 > top of Msdn China Tech,MS-SQL Server,新技术前沿...
# 2
明确的告诉你,不能。
FOREIGN KEY 约束仅能引用位于同一服务器上的同一数据库中的表。
跨数据库的引用完整性必须通过触发器实现。

而且其他的Check约束也不能加子查询,所以不能实现跨数据库的约束。

只有在Trigger里判断~~~~
lzhs-快乐至上 at 2007-10-17 > top of Msdn China Tech,MS-SQL Server,新技术前沿...
# 3
这样也行?
sprider-人黑牙黄 at 2007-10-17 > top of Msdn China Tech,MS-SQL Server,新技术前沿...
# 5
只能使用触发器来完成你的不同库之间的“外键”约束
smart_zcg at 2007-10-17 > top of Msdn China Tech,MS-SQL Server,新技术前沿...
# 6
只能是Trigger

但是这样的设计能优化??

会慢死的
Reeezak-坚持信念 at 2007-10-17 > top of Msdn China Tech,MS-SQL Server,新技术前沿...
# 7
lz这个问题其实很普遍,但数据库里面就是没有这个支持。实际上也可以理解,因为理论上没有办法保证数据完整性,只好在主程序中处理了。
.net就可以在主程序的数据集中创建外键约束。
# 8
呵呵 :)
yuedeem-扔石头打天 at 2007-10-17 > top of Msdn China Tech,MS-SQL Server,新技术前沿...