diff --git a/frontend/src/metabase/admin/databases/database.js b/frontend/src/metabase/admin/databases/database.js
index 17397dc3fdfb3ca5f6154226e77b0083319dde13..72a4d9e1c11d539cad1f61b30cad3bce39d17ebd 100644
--- a/frontend/src/metabase/admin/databases/database.js
+++ b/frontend/src/metabase/admin/databases/database.js
@@ -12,6 +12,8 @@ import MetabaseSettings from "metabase/lib/settings";
 import { MetabaseApi } from "metabase/services";
 import Databases from "metabase/entities/databases";
 
+import { editParamsForUserControlledScheduling } from "./editParamsForUserControlledScheduling";
+
 // Default schedules for db sync and deep analysis
 export const DEFAULT_SCHEDULES = {
   cache_field_values: {
@@ -165,10 +167,12 @@ export const proceedWithDbCreation = function(database) {
     if (database.details["let-user-control-scheduling"]) {
       try {
         dispatch.action(VALIDATE_DATABASE_STARTED);
+
         const { valid } = await MetabaseApi.db_validate({ details: database });
+
         if (valid) {
           dispatch.action(SET_DATABASE_CREATION_STEP, {
-            database: database,
+            database,
             step: DB_EDIT_FORM_SCHEDULING_TAB,
           });
         } else {
@@ -190,6 +194,8 @@ export const proceedWithDbCreation = function(database) {
 };
 
 export const createDatabase = function(database) {
+  editParamsForUserControlledScheduling(database);
+
   return async function(dispatch, getState) {
     try {
       dispatch.action(CREATE_DATABASE_STARTED, {});
diff --git a/frontend/src/metabase/admin/databases/editParamsForUserControlledScheduling.js b/frontend/src/metabase/admin/databases/editParamsForUserControlledScheduling.js
new file mode 100644
index 0000000000000000000000000000000000000000..9b29a9e62549cd9bda467f82ea25afcdd66ab197
--- /dev/null
+++ b/frontend/src/metabase/admin/databases/editParamsForUserControlledScheduling.js
@@ -0,0 +1,20 @@
+export function editParamsForUserControlledScheduling(database) {
+  editSyncParamsForUserControlledScheduling(database);
+  editScheduleParamsForUserControlledScheduling(database);
+}
+
+function editSyncParamsForUserControlledScheduling(database) {
+  if (database.details["let-user-control-scheduling"]) {
+    database.is_full_sync = false;
+  }
+}
+
+function editScheduleParamsForUserControlledScheduling(database) {
+  const { details, schedules } = database;
+
+  if (details["let-user-control-scheduling"] && !schedules?.metadata_sync) {
+    database.schedules.metadata_sync = {
+      schedule_type: "daily",
+    };
+  }
+}
diff --git a/frontend/src/metabase/admin/databases/editParamsForUserControlledScheduling.unit.spec.js b/frontend/src/metabase/admin/databases/editParamsForUserControlledScheduling.unit.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..3b32538412c30cf85b337ab3ba5481c20a4edd7c
--- /dev/null
+++ b/frontend/src/metabase/admin/databases/editParamsForUserControlledScheduling.unit.spec.js
@@ -0,0 +1,56 @@
+import { editParamsForUserControlledScheduling } from "./editParamsForUserControlledScheduling";
+
+it("adds full_sync param if user will control scheduling", () => {
+  const database = {
+    schedules: {},
+    details: { "let-user-control-scheduling": true },
+  };
+
+  editParamsForUserControlledScheduling(database);
+
+  expect(database.is_full_sync).toBe(false);
+});
+
+it("does not add full_sync param if user will not control scheduling", () => {
+  const database = {
+    schedules: {},
+    details: {},
+  };
+
+  editParamsForUserControlledScheduling(database);
+
+  expect(database.is_full_sync).toBe(undefined);
+});
+
+it("adds metadata_sync param if user will control scheduling and no metadata_sync data is present", () => {
+  const database = {
+    schedules: {},
+    details: { "let-user-control-scheduling": true },
+  };
+
+  editParamsForUserControlledScheduling(database);
+
+  expect(database.schedules.metadata_sync.schedule_type).toBe("daily");
+});
+
+it("does not add metadata_sync param if user will not control scheduling", () => {
+  const database = {
+    schedules: {},
+    details: {},
+  };
+
+  editParamsForUserControlledScheduling(database);
+
+  expect(database.schedules).toStrictEqual({});
+});
+
+it("does not add metadata_sync param if user will control scheduling and metadata_sync data is present", () => {
+  const database = {
+    schedules: { metadata_sync: { schedule_type: "hourly" } },
+    details: { "let-user-control-scheduling": true },
+  };
+
+  editParamsForUserControlledScheduling(database);
+
+  expect(database.schedules.metadata_sync.schedule_type).toBe("hourly");
+});
diff --git a/frontend/test/metabase/scenarios/admin/databases/add.cy.spec.js b/frontend/test/metabase/scenarios/admin/databases/add.cy.spec.js
index 8a0a0d290c52a49130063002e9d7522aa7778652..a1430d6ac821c24fa688092de450959865d80495 100644
--- a/frontend/test/metabase/scenarios/admin/databases/add.cy.spec.js
+++ b/frontend/test/metabase/scenarios/admin/databases/add.cy.spec.js
@@ -184,7 +184,7 @@ describe("scenarios > admin > databases > add", () => {
     );
   });
 
-  it.skip("should respect users' decision to manually sync large database (metabase#17450)", () => {
+  it("should respect users' decision to manually sync large database (metabase#17450)", () => {
     const H2_CONNECTION_STRING =
       "zip:./target/uberjar/metabase.jar!/sample-dataset.db;USER=GUEST;PASSWORD=guest";