diff --git a/lib/active_record/connection_adapters/sqlserver/database_statements.rb b/lib/active_record/connection_adapters/sqlserver/database_statements.rb index 9df2422e8..133306f4d 100644 --- a/lib/active_record/connection_adapters/sqlserver/database_statements.rb +++ b/lib/active_record/connection_adapters/sqlserver/database_statements.rb @@ -281,7 +281,8 @@ def sp_executesql_sql(sql, types, params, name) def raw_connection_do(sql) case @connection_options[:mode] when :dblib - @connection.execute(sql).do + result = @connection.execute(sql) + result == false ? false : result.do end ensure @update_sql = false diff --git a/lib/active_record/connection_adapters/sqlserver_adapter.rb b/lib/active_record/connection_adapters/sqlserver_adapter.rb index 6dbed485e..11c14395b 100644 --- a/lib/active_record/connection_adapters/sqlserver_adapter.rb +++ b/lib/active_record/connection_adapters/sqlserver_adapter.rb @@ -152,8 +152,7 @@ def disable_referential_integrity def active? return false unless @connection - raw_connection_do 'SELECT 1' - true + raw_connection_do('SELECT 1') == 1 rescue *connection_errors false end