You appear to be hitting SQL Server's limit of 2100 parameters per stored procedure (ref: here via here). When pyodbc sends a parameterized query to SQL Server it ends up being processed as a call to ...