> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# skip_unavailable_shards_* 会话设置

> ClickHouse 中 skip_unavailable_shards_* 自动生成分组的会话设置。

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>类型</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>默认值</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          无需重启即可更改
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

这些设置可在 [system.settings](/docs/zh/reference/system-tables/settings) 中查看，由 [源代码](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp) 自动生成。

<div id="skip_unavailable_shards">
  ## skip\_unavailable\_shards
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

启用或禁用对不可用分片的静默跳过。

此设置的行为由 `skip_unavailable_shards_mode` 参数控制。

可选值：

* 1 — 启用跳过。

  如果某个分片不可用，ClickHouse 会基于部分数据返回结果，且不会报告节点可用性问题。

* 0 — 禁用跳过。

  如果某个分片不可用，ClickHouse 会抛出异常。

<div id="skip_unavailable_shards_mode">
  ## skip\_unavailable\_shards\_mode
</div>

<SettingsInfoBlock type="SkipUnavailableShardsMode" default_value="unavailable_or_table_missing" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "unavailable_or_table_missing"},{"label": "新增设置，用于控制在启用 `skip_unavailable_shards` 时，来自远程分片的哪些异常会被忽略。默认值与历史行为一致：缺少表的分片会被视为不可用。"}]}]} />

用于控制在启用 `skip_unavailable_shards` 时，会静默忽略来自远程分片的哪些异常。当 `skip_unavailable_shards = 0` 时，此设置不生效。

Possible values:

* `unavailable` — 仅忽略与连接相关的错误。当 ClickHouse 无法连接到某个分片的任何副本，或无法通过 DNS 解析某个副本的主机名时，该分片会被视为不可用。

* `unavailable_or_table_missing` — 除 `unavailable` 外，还会忽略由分片上缺少表或数据库导致的错误。这在集群内创建或删除表期间非常有用。这是默认值，并且与 `skip_unavailable_shards` 的历史行为一致：如果分片上的表不存在，也会将该分片视为不可用。

* `unavailable_or_exception_before_processing` — 除 `unavailable` 外，还会忽略在分片向发起端返回任何数据块之前，从该分片收到的任何异常。如果异常是在分片已经返回部分数据之后到达的，则始终会再次抛出。请注意，“在返回任何数据之前”这一条件是在发起端检查的：如果某个分片执行阻塞式计算 (例如聚合、排序或 `LIMIT BY`) ，它可能会在输出任何块之前先处理若干行并失败；在这种情况下，其部分工作会被静默丢弃，而查询会基于其余分片返回结果。因此，这是最宽松的模式，应谨慎使用。
