### Body

Currently `start_date` is mandatory parameter.
For DAGs with `schedule=None` we can relax this requirement as no scheduling calculation needed so the `start_date` parameter isn't used.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
"""
        Return the number of active "running" dag runs.
        :param external_trigger: True for externally triggered active dag runs
        :param session:
        :return: number greater than 0 for active dag runs
        """
        query = select(func.count()).where(DagRun.dag_id == self.dag_id)
        if only_running:
            query = query.where(DagRun.state == DagRunState.RUNNING)
        else:
            query = query.where(DagRun.state.in_({DagRunState.RUNNING, DagRunState.QUEUED}))
        if external_trigger is not None:
            query = query.where(
                DagRun.external_trigger == (expression.true() if external_trigger else expression.false())
            )
        return session.scalar(query)
    @staticmethod
    @internal_api_call
    @provide_session
    def fetch_dagrun(