您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_refit_admin

语法


sp_refit_admin ['help'] | 'status' | ['reset' | 'skiperfit' [, <instance_name>]]
	|[ 'removedevice', <device_name>]

参数

help

显示有关 sp_refit_admin 语法和用法的信息。

status

显示 disk refit 进程的当前状态。它会列出所有实例及其 disk refit 仍处于挂起状态的私有设备。如果不存在此类设备,它会输出一条消息报告此情况。

reset

重置 disk refit 进程的状态。它带有一个可选参数 <instance_name>

如果不提供 <instance_name>,此参数会将 disk refit 进程重置回第一阶段开始时的状态,以便后续的 disk refit 命令从第一阶段开始 disk refit 进程,并重新调整所有的常规可共享设备,以及相应实例的私有设备。

如果提供 <instance_name>,此参数会将 disk refit 进程重置回该实例第二阶段开始时的状态,以便该实例上后续的 disk refit 命令从该实例的第二阶段开始 disk refit 进程,并且仅重新调整该实例的私有设备。

skiprefit

针对集群中的一个或全部实例跳过 disk refit 进程第二阶段的运行,而不删除该设备。此参数仅在完成 disk refit 进程第一阶段后才有意义。它带有一个可选参数 <instance_name>

removedevice

从 disk refit 进程中删除设备。此参数需要待删除设备的名称,将其作为输入参数 <device_name><instance_name>

示例

示例 1

将 disk refit 进程的状态重置为第一阶段开始时的状态:


sp_refit_admit 'reset'

执行 reset 后,用户必须运行 disk refit 进程的第一阶段和第二阶段。

示例 2

将名为 'cluster1_instance1' 的实例上 disk refit 进程的状态重置为该实例第二阶段开始时的状态:


sp_refit_admin 'reset', 'cluster1_instance1'

此接口删除在 'cluster1_instance1' 拥有的私有设备上创建的所有数据库的 sysdatabases 条目,以及与 'cluster1_instance1' 拥有的私有设备对应的 sysusages 条目。执行后,必须在 'cluster1_instance1' 上运行 disk refit 的第二阶段。

示例 3

跳过实例 'cluster1_instance1' 的所有待重新调整私有设备的 disk refit 进程:


sp_refit_admin 'skiprefit', 'cluster1_instance1'

此示例删除使用由 'cluster1_instance1' 拥有的任何待重新调整私有设备的所有数据库对应的 sysdatabases 条目,并删除 sysusages 中与所有已删除的数据库对应的条目。

要跳过集群中所有实例的所有待重新调整私有设备上的 disk refit 进程,请输入:


sp_refit_admin 'skiprefit'

示例 4

从 disk refit 进程中删除设备 'device1':


sp_refit_admin 'removedevice', 'device1'

此操作会删除在 'device1' 上创建的所有数据库的 sysdatabases 条目,以及与'device1' 对应的所有 sysusages 条目。它还会从 sysdevices 中删除 'device1'。

用法

使用 sp_refit_admin 时,还存在一些其它注意事项:

  • 执行 skiprefit 后,必须按照《集群用户指南》>“故障排除”中的说明操作,以确保在恢复正常操作前保持系统表的一致性。

  • 仅在 disk refit 进程执行期间使用 removedevice,以从重新调整进程中删除设备。请勿使用它来代替 sp_dropdevice

  • 即使实例启动时使用的是 -m 选项且跟踪标志 3608 设置为 ON,也可以使用 sp_refit_admin。