summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/build/changelog/changelog_09.rst10
-rw-r--r--lib/sqlalchemy/dialects/mssql/base.py3
2 files changed, 13 insertions, 0 deletions
diff --git a/doc/build/changelog/changelog_09.rst b/doc/build/changelog/changelog_09.rst
index a2fc84b12..8be2346f6 100644
--- a/doc/build/changelog/changelog_09.rst
+++ b/doc/build/changelog/changelog_09.rst
@@ -15,6 +15,16 @@
:released:
.. change::
+ :tags: bug, mssql
+ :tickets: 3025
+
+ Fixed a regression from 0.9.5 caused by :ticket:`3025` where the
+ query used to determine "default schema" is invalid in SQL Server 2000.
+ For SQL Server 2000 we go back to defaulting to the "schema name"
+ parameter of the dialect, which is configurable but defaults
+ to 'dbo'.
+
+ .. change::
:tags: bug, orm
:tickets: 3083, 2736
:versions: 1.0.0
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py
index eebd35405..473f7df06 100644
--- a/lib/sqlalchemy/dialects/mssql/base.py
+++ b/lib/sqlalchemy/dialects/mssql/base.py
@@ -1365,6 +1365,9 @@ class MSDialect(default.DefaultDialect):
self.supports_multivalues_insert = True
def _get_default_schema_name(self, connection):
+ if self.server_version_info < MS_2005_VERSION:
+ return self.schema_name
+
query = sql.text("""
SELECT default_schema_name FROM
sys.database_principals