创建一个可以从任何数据库调用但是针对本地表运行的视图?

时间:2016-12-30 12:47:50

标签: sql sql-server view

我们为每个客户创建数据库,以便他们的数据被隔离。对于共享的表(例如产品名称),我们将同义词用于公共数据库。对于常见的存储过程,我们在master数据库中创建它们并将它们标记为系统过程,以便它们在客户数据库上下文中运行。但对于观点,我们陷入困境。设置为同义词的视图将不会在本地数据库中运行,我们无法找到与视图的系统过程相当的任何内容。

那么,我们如何创建一个公共视图,在运行时,将在本地客户数据库的上下文中运行?

1 个答案:

答案 0 :(得分:0)

这是我要做的。创建一个脚本(或可选的proc),它使用动态SQL在列表中的每个数据库中创建视图,该列表可以在运行时提供,也可以保存在表中。

然后,当您想要为每个客户更改视图时,只需更改脚本并运行它。