diff --git a/db/docs/batched_background_migrations/backfill_security_orchestration_policy_rule_schedules_namespace_id.yml b/db/docs/batched_background_migrations/backfill_security_orchestration_policy_rule_schedules_namespace_id.yml
index c30cefbddbd3ac679d9b0b54b2489b4209449741..c72bd387dc87cffb9e40ba770ae2308c944c3dfa 100644
--- a/db/docs/batched_background_migrations/backfill_security_orchestration_policy_rule_schedules_namespace_id.yml
+++ b/db/docs/batched_background_migrations/backfill_security_orchestration_policy_rule_schedules_namespace_id.yml
@@ -1,8 +1,9 @@
 ---
 migration_job_name: BackfillSecurityOrchestrationPolicyRuleSchedulesNamespaceId
-description: Backfills sharding key `security_orchestration_policy_rule_schedules.namespace_id` from `security_orchestration_policy_configurations`.
+description: Backfills sharding key `security_orchestration_policy_rule_schedules.namespace_id`
+  from `security_orchestration_policy_configurations`.
 feature_category: security_policy_management
 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/163017
 milestone: '17.4'
 queued_migration_version: 20240816130544
-finalized_by: # version of the migration that finalized this BBM
+finalized_by: '20250303231642'
diff --git a/db/post_migrate/20250303231642_finalize_hk_backfill_security_orchestration_policy_rule_schedules_namespa.rb b/db/post_migrate/20250303231642_finalize_hk_backfill_security_orchestration_policy_rule_schedules_namespa.rb
new file mode 100644
index 0000000000000000000000000000000000000000..61e4830886a6dca73bd90171f19716a4fda0e147
--- /dev/null
+++ b/db/post_migrate/20250303231642_finalize_hk_backfill_security_orchestration_policy_rule_schedules_namespa.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+class FinalizeHkBackfillSecurityOrchestrationPolicyRuleSchedulesNamespa < Gitlab::Database::Migration[2.2]
+  milestone '17.10'
+
+  disable_ddl_transaction!
+
+  restrict_gitlab_migration gitlab_schema: :gitlab_main_cell
+
+  def up
+    ensure_batched_background_migration_is_finished(
+      job_class_name: 'BackfillSecurityOrchestrationPolicyRuleSchedulesNamespaceId',
+      table_name: :security_orchestration_policy_rule_schedules,
+      column_name: :id,
+      job_arguments: [:namespace_id, :security_orchestration_policy_configurations, :namespace_id,
+        :security_orchestration_policy_configuration_id],
+      finalize: true
+    )
+  end
+
+  def down; end
+end
diff --git a/db/schema_migrations/20250303231642 b/db/schema_migrations/20250303231642
new file mode 100644
index 0000000000000000000000000000000000000000..bf02ee4381fa0da6be9925379410641739b7ffdb
--- /dev/null
+++ b/db/schema_migrations/20250303231642
@@ -0,0 +1 @@
+4968a26cdabd320095a15ce5fda38735bfdd8ae768ab4c22e5793c72772c901e
\ No newline at end of file