我有一个相对较大的数据库应用程序,其中包含一个用户表,其中包含每个员工的记录。
我有另一个很小的数据库,它记录了一名员工参加的所有教育课程。该数据库实际上只是从遗留应用程序迁移的少数几个表,现在是独立的。
除了用户之外,这两个应用程序没有任何共同之处。
简单地将较小的数据库表导入较大的数据库并更新应用程序或者是否可以在较大的数据库中访问/使用用户表是否“最佳”?
由于
答案 0 :(得分:3)
假设小型数据库永远不会写入大型数据库,我会在小型数据库上设置一个视图,提供您需要的确切信息。如果两个db都托管在同一服务器上,则视图可以通过指定表的全名(server.database.schema.table)从大型db中进行选择,假设用户具有相应的访问权限。如果它们位于不同的数据库服务器上,则还需要设置链接数据库。
答案 1 :(得分:1)
您可以使用完全限定名称访问另一个数据库(在同一服务器中)中的表:
<database name>.<schema>.<table name>
您需要确保所使用的登录具有正确的权限。
使用linked servers,您还可以访问不同服务器上的数据库。
您必须记住,这会将其中一个数据库耦合到另一个数据库 - 是否可以取决于数据库,应用程序及其使用方式。
答案 2 :(得分:1)
在多个应用程序之间共享数据库并不罕见。假设没有名称冲突,只有20个小表,我建议将较小的db表导入较大的表中。
您可以拥有一个数据库并缓解大部分潜在问题,而不必担心可能出现的依赖数据库(或链接服务器)的管理和故障排除以及所有安全和维护问题(以及完整性!)。