维基百科定义本地软件如下所示:(省略我的)
本地软件 [...] 安装并运行在使用该软件的个人或组织的计算机上,而不是在服务器场或云等远程设施上
这意味着在云上的虚拟机中运行的 SQL 服务器是一个场外应用程序。
此 Microsoft 文档描述基于 SQL 的应用程序的配置。
本指南属于本地类别。没有针对基于 SQL 的外部应用程序进行配置的指南。对于 Azure 中 VM 上的 SQL 服务器,使用此指南仍然有效,但对于一些我认为不相关的问题,则无效。
这是否意味着 SQL 服务器应该被视为内部部署应用程序,尽管 Wikipedia 将 SQL 服务器定义为外部部署?
微软是否指的是“内部部署”的不同定义?
答案1
微软的文档混乱了。
该链接文档极其混乱,似乎是对遗留文档进行了“黑客攻击”,以添加外部概念和术语。
这Microsoft 文档看起来乱糟糟的。让我们来分析一下,原因很简单:
- URL 片段错误: 这实际 URL显然是过去草案的遗留。看看 URL 本身:
https://learn.microsoft.com/en-us/entra/identity/app-provisioning/on-premises-sql-connector-configure
看看最后一个片段on-premises-sql-connector-configure
。为什么文档的标题是“将用户配置到基于 SQL 的应用程序中?” - 文档中 18 (!!!) 个“On-Premises”的用法:在该页面上进行页内浏览器搜索,结果显示“on-provided”限定词有 18 次使用,而其实可以轻松删除。例如,标题“本地先决条件” 可以只是“先决条件”,而不会改变任何含义。该页面上的几乎所有其他用途都可以这样说;删除“本地”,内容的含义 100% 相同。
因此你会问:
“本指南属于本地类别。没有针对基于 SQL 的外部应用程序的配置指南。对于 Azure 中 VM 上的 SQL 服务器,使用本指南仍然有效,但对于一些我认为不相关的问题,则无效。”
是的,您正确地推测该指南适用于本地和远程用途。但您还说:
“这是否意味着,尽管维基百科将 SQL 服务器定义为非本地应用程序,但它应该被视为本地应用程序?”
不是!本地应用程序是物理上位于现场的。非本地应用程序位于云中或异地。这种内在差异不会改变。
微软是否指的是“内部部署”的不同定义?
微软的文档混乱不堪,似乎最初是为本地用途而编写的,后来经过粗暴编辑,强行加入了云概念。他们似乎懒洋洋地保留了旧的 URL 和旧的措辞,而不是通过重定向来管理 URL。
但如前所述,本地应用程序是物理上位于现场的。非本地应用程序位于云中或异地。这种内在差异不会改变。
笔记:显然,微软的所有文档都托管在 GitHub 上;这个特定的页面是据称在这里管理我说“据称”是因为作为一个凡人(又名:非微软员工),我曾尝试分叉该仓库并对其进行编辑以更正它。
但我不知道实际文档在哪里;似乎存储库是部分透明的,其中显示编辑但实际文档被隐藏?无论如何,需要对其进行编辑以删除对“内部部署”的不必要/令人困惑的引用。
答案2
在该 Microsoft 文档中:
本地要求指的是运行 SQL 配置代理软件的环境要求(操作系统、数据库版本、RAM 等)。无论它是否托管在云中
云要求指的是您在云端(Entra ID)需要的内容,例如许可证、管理员角色和要配置的用户帐户
这不是一个非此即彼的要求——它只是明确了双方需要什么。
答案3
为了澄清所使用的术语,以下是文章中的部分摘录,描述了 SQL 安装的安装位置的三个术语 内部部署、托管和云解决方案之间有何区别?
本地
SQL DB 可以安装在客户 IT 部门管理的服务器上。这称为本地模式。在这种情况下,IT 部门负责管理硬件、备份数据库和升级应用程序,作为组织数据管理策略的一部分。在任何时候,客户都拥有数据库作为其 SQL 实例的一部分。
托管
或者,客户可以选择将 SQL DB 托管在第三方管理的数据中心。在这种情况下,客户保留数据库的所有权,但数据中心负责管理硬件。
云解决方案
第三种选择是供应商在自己的数据中心托管数据库。在这种情况下,供应商负责管理硬件、数据库和应用程序更新。客户无法访问物理数据库或原始数据。
“本地”条款意味着数据库安装在您的位置,并且您对其环境的各个方面负责并拥有完全控制权。
由于虚拟机属于您,因此这是“本地”的。