diff --git a/ingestion/src/metadata/ingestion/source/database/mssql/lineage.py b/ingestion/src/metadata/ingestion/source/database/mssql/lineage.py index 4a112563d35..3646141ed92 100644 --- a/ingestion/src/metadata/ingestion/source/database/mssql/lineage.py +++ b/ingestion/src/metadata/ingestion/source/database/mssql/lineage.py @@ -17,6 +17,11 @@ from metadata.ingestion.source.database.mssql.query_parser import MssqlQueryPars class MssqlLineageSource(MssqlQueryParserSource, LineageSource): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.start = self.start.replace(tzinfo=None) + self.end = self.end.replace(tzinfo=None) + sql_stmt = MSSQL_SQL_STATEMENT filters = """ diff --git a/ingestion/src/metadata/ingestion/source/database/mssql/metadata.py b/ingestion/src/metadata/ingestion/source/database/mssql/metadata.py index f9940625485..fa1480e51c4 100644 --- a/ingestion/src/metadata/ingestion/source/database/mssql/metadata.py +++ b/ingestion/src/metadata/ingestion/source/database/mssql/metadata.py @@ -216,11 +216,21 @@ class MssqlSource(StoredProcedureMixin, CommonDbSourceService, MultiDBSource): """ start, _ = get_start_and_end(self.source_config.queryLogDuration) query = MSSQL_GET_STORED_PROCEDURE_QUERIES.format( - start_date=start, - ) - - queries_dict = self.procedure_queries_dict( - query=query, + start_date=start.replace(tzinfo=None), ) + try: + queries_dict = self.procedure_queries_dict( + query=query, + ) + except Exception as ex: # pylint: disable=broad-except + logger.debug(f"Error runnning query:\n{query}") + self.status.failed( + StackTraceError( + name="Stored Procedure", + error=f"Error trying to get stored procedure queries: {ex}", + stackTrace=traceback.format_exc(), + ) + ) + return {} return queries_dict diff --git a/ingestion/src/metadata/utils/helpers.py b/ingestion/src/metadata/utils/helpers.py index 537c20607fa..a773ef7c67f 100644 --- a/ingestion/src/metadata/utils/helpers.py +++ b/ingestion/src/metadata/utils/helpers.py @@ -118,7 +118,7 @@ def pretty_print_time_duration(duration: Union[int, float]) -> str: return f"{seconds}s" -def get_start_and_end(duration: int = 0): +def get_start_and_end(duration: int = 0) -> Tuple[datetime, datetime]: """ Method to return start and end time based on duration """