一个SQL Server命名实例上的多个数据库

4

背景:我们正在设计一种新的方法来组织数据库中的数据,数据库团队可能会使用一个“核心”数据库,其中包含特定于我们业务领域的通用数据,并为需要此数据的每个应用程序单独创建一个数据库。假设单个应用程序为“MyApplication”。这些数据库都将驻留在同一命名实例上的同一服务器上。

问题:如何将“核心”中的表、存储过程和数据展现到指向“MyApplication”数据库的应用程序中?

我知道我们可以直接引用其他数据库的应用程序,但这会使应用程序变得复杂,不是首选方案。我们最初的想法是在“MyApplication”数据库中为“核心”中的所有对象创建可写视图,但这种方法可能存在性能问题。


1
你看过同义词吗? - Tab Alleman
如果必须使用太多来自Core的对象,你可以使用同义词,但可能会失控。 - artm
视图在运行时没有成本,它们被内联到查询计划中。它们在查询优化器中根本没有表示。 - usr
你具体想要避免哪些复杂情况? - Brian Pressler
我们试图避免的复杂情况是让应用程序框架意识到它们正在跨越多个数据库。 - Nixx
1个回答

0
如果您想要避免的问题是安全性和代码可读性的逻辑对象分离,那么您可以考虑在CORE数据库中为每个应用程序创建单独的模式。您还可以可能使用应用程序角色来帮助提高安全性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接