title: How do I specify Transaction Isolation Level for MS SQL backend in Sql Alchemy Python
body: <p>How do I set transaction level <code>READ UNCOMMITED</code> for all queries done through a SQL Alchemy engine object? </p>
  
  <p>I set the <code>isolation_level</code> argument as notated here: <a href="http://docs.sqlalchemy.org/en/latest/core/engines.html#sqlalchemy.create_engine.params.isolation_level" rel="nofollow">http://docs.sqlalchemy.org/en/latest/core/engines.html#sqlalchemy.create_engine.params.isolation_level</a>
  by passing it into <code>create_engine</code> like so:</p>
  
  <pre><code>my_eng = create_engine(db_conn_string, isolation_level='READ_UNCOMMITTED')
  </code></pre>
  
  <p>but for my backend (MS SQL Server) I get the following error, perhaps unsurprisingly as the docs do say it is dialect specific. I'm just surprised theres no documentation for isolation levels in MS SQL!</p>
  
  <pre><code>TypeError: Invalid argument(s) 'isolation_level' sent to create_engine(), 
  using configuration MSDialect_pyodbc/QueuePool/Engine.  Please check that 
  the keyword arguments are appropriate for this combination of components.
  </code></pre>
  
  <p>Furthermore, I do not see anything helpful in the dialects docs here:</p>
  
  <p><a href="http://docs.sqlalchemy.org/en/rel_1_0/dialects/mssql.html#dsn-connections" rel="nofollow">http://docs.sqlalchemy.org/en/rel_1_0/dialects/mssql.html#dsn-connections</a></p>