我将部署一个应用程序,其要求只是数据库的“db_owner”。数据库本身必须由 DBA 单独创建。
根据应用程序的工作方式(及其简单要求),应该可以在默认实例中创建一个新的数据库,因为虽然日常写入相当频繁(每天几千次写入,但每天只有几十次读取),但每次写入都应该很小。
然而,我的团队中的一些人认为,从长远来看,新的实例会更好。
如果有人能给我提供每种情况的指导方针和优缺点,我将不胜感激。
(如果有人问过类似的问题,请原谅我;与网站不同,移动 StackExchange 应用程序不提供建议列表)。
答案1
如果他们需要的只是 db_owner,那么我建议您在现有实例中执行此操作。
创建新实例会产生运行所有 SQL 二进制文件的两个副本的开销。当 SQL 能够控制服务器的所有可用资源时,其工作效果最佳。多个实例彼此不了解,最终可能会争夺可用资源。需要进行更多配置才能确保避免性能问题。
创建多个实例的常见原因是 1) 安全原因 2) 同时运行两个不同版本的 SQL。您似乎不具备上述任何一项要求,因此请坚持使用单个实例。
我的规则是只举一个例子,除非有充分证据证明需要第二个例子。
答案2
这取决于您的场景,但据我所知,如果应用程序需要 sysadmin 或 serveradmin 角色,那么部署新实例是有意义的。
答案3
根据您的要求,不需要新的 SQL Server 实例,因为您不需要不同的 SQL Server 版本,并且可以在单个 SQL Server 实例上设置您的安全性和权限要求,因此您可以在同一实例上创建新的数据库
在现有 SQL Server 实例上创建新数据库可以简化管理(备份、维护、审计、作业执行等),简化 SQL 登录和角色管理,降低复杂性,在 SQL Server 进程之间实现更好的资源使用和分配,从另一个数据库访问一个数据库时具有更好的性能(因为它们都在同一个 SQL Server 实例上)
答案4
我对实例的想法与上述观点一致。我已经运行 SQL 服务器多年,这些年来,我一直在努力应对的其中一场战斗就是服务器蔓延。它总是这样开始的。我需要一个 SQL 服务器来运行我的应用程序。我的应用程序需求不大,但定制程度很高。因此,我将为每个应用程序创建一个实例。我为每个应用程序创建单独的实例,以便不同的供应商和我可以完成安装和应用程序修改。对于任何应用程序修改,偶尔需要重新启动。没有什么比重新启动数据服务器和影响服务器上每个数据库更糟糕的了!因此,实例是可行的方法。事情会这样发展。老板会过来问我是否可以在我的服务器上托管别人的数据库。“不”不是他想要的答案。所以,现在我有了另一个服务器数据库,所有者想要查看其数据的权利。因此,这是一个两难的境地。我信任这个新的 DBA 吗?当然不!在数据方面,我不信任任何人。特别是我的数据。因此,我为他们创建了一个单独的实例。之前从未见过或使用过实例的 DBA 很喜欢这个想法。他们可以看到他们的数据,重新启动他们的实例。他们对这个世界感觉很好,他们大声的嘴巴忍不住要告诉别人他们的积极体验。而且很多时候,是有人遇到了数据库托管问题。因此,新 DBA 和另一位 DBA 一起去找我的老板。该死!另一个实例。不用说,目前,我在 2014 SQL 服务器上运行了 7 个实例,没有问题。话虽如此,我的所有数据库都是低维护的,并且没有太多用户。我出于安全原因使用实例,对于可能需要重新启动的程序,以及保持干净。当涉及到像 SharePoint 或 HR 数据库后端这样的大型资源密集型程序时?实例不行!我将整个 SQL 服务器专门用于该单一任务。最后,如果数据库较小、需求低和/或由多个 DBA 管理,请使用数据库实例。如果数据库支持资源消耗巨大的怪物,请专门配备一台服务器。