def METHOD_NAME(self, schema):
    query = """
    SELECT table_schema, table_name, column_name
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE table_schema NOT IN ('guest','INFORMATION_SCHEMA','sys','db_owner','db_accessadmin'
                              ,'db_securityadmin','db_ddladmin','db_backupoperator','db_datareader'
                              ,'db_datawriter','db_denydatareader','db_denydatawriter'
                              );
    """
    results, error = self.run_query(query, None)
    if error is not None:
        self._handle_run_query_error(error)
    results = json_loads(results)
    for row in results["rows"]:
        if row["table_schema"] != self.configuration["db"]:
            table_name = "{}.{}".format(row["table_schema"], row["table_name"])
        else:
            table_name = row["table_name"]
        if table_name not in schema:
            schema[table_name] = {"name": table_name, "columns": []}
        schema[table_name]["columns"].append(row["column_name"])
    return list(schema.values())