SQL Server 始终开启 - 辅助索引

Posted

技术标签:

【中文标题】SQL Server 始终开启 - 辅助索引【英文标题】:SQL Server always on - Indexes on secondary 【发布时间】:2017-06-01 17:51:13 【问题描述】:

我们安装了启用 Always ON 的 SQL Server 2016。

为了简单起见,我们有一个主要的和一个次要的。我希望用户仅以只读访问权限而不是主节点连接到辅助节点。在初级阶段,我每天运行 ETL 作业。为了让 ETL 作业运行得更快,我删除了主索引。现在,对于查询性能,我想在辅助节点上添加索引,而不是在主节点上。

这在 SQL Server 2016 Always ON 中是否可行,不会破坏任何东西?

【问题讨论】:

【参考方案1】:

始终在线的辅助数据库是主数据库的完整只读副本。

所以不,你不能在副本上有不同的索引。

添加索引将从根本上改变表的页面,使复制变得不可能。

根据微软@https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/active-secondaries-readable-secondary-replicas-always-on-availability-groups

索引

为了优化可读辅助副本上的只读工作负载, 您可能希望在辅助表中创建索引 数据库。因为您无法在 辅助数据库,在主数据库中创建索引并允许 通过重做传输到辅助数据库的更改 过程。

【讨论】:

以上是关于SQL Server 始终开启 - 辅助索引的主要内容,如果未能解决你的问题,请参考以下文章

sql SQL Server中的XML索引,主要和辅助

EC2 Amazon 高可用性始终开启

sql server 2008 开启1433端口,开启远程连接

Sql Server 2008 必须开启哪些服务

[MS SQL Server]SQL Server如何开启远程访问

请教server 2012如何开启NTP服务