For compatibility with MS ODBC Driver 18, the settings Encrypt and TrustServerCertificate are now always added to the connection string.
These are configured with the keys encrypt and trust_cert in your profile.
In previous versions, these settings were only added if they were set to True.
The new version of the MS ODBC Driver sets Encrypt to True by default.
The adapter is following this change and also defaults to True for Encrypt.
The default value for TrustServerConnection remains False as it would be a security risk otherwise.
This means that connections made with this version of the adapter will now have Encrypt=Yes and TrustServerCertificate=No set if you are using the default settings.
You should change the settings encrypt or trust_cert to accommodate for your use case.
- Support for dbt-core 1.2
- Support for MS ODBC Driver 18
- Support automatic retries with new
retriessetting introduced in core - The correct owner of a table/view is now visible in generated documentation (and in catalog.json)
- A lot of features of dbt-utils & T-SQL utils are now available out-of-the-box in dbt-core and this adapter. A new release of T-SQL utils will follow.
- Support for all
type_*macros - Support for all cross-database macros, except:
bool_orlistaggwill only work in SQL Server 2017 or newer or the cloud versions. Thelimit_numoption is unsupported.DISTINCTcannot be used in the measure.
- Support for all
- In some cases the
TIMESTAMPwould be used as data type instead ofDATETIMEOFFSET, fixed that
- Update adapter testing framework to 1.2.1
- Update pre-commit, tox, pytest and pre-commit hooks
- Type hinting in connection class
- Automated testing with SQL Server 2017, 2019 and 2022
- Automated testing with MS ODBC 17 and MS ODBC 18
- Add documentation about new features to official dbt docs pages
See changes included in v1.1.0rc1 below as well
- #251 fix incremental models with arrays for unique keys (@sdebruyn & @johnnytang24)
- #214 fix for sources with spaces in the names (@Freia3)
- #238 fix snapshots breaking when new columns are added (@jakemcaferty)
- #249 & #250 add Python 3.10 to automated testing (@sdebruyn)
- #248 update all documentation, README and include on dbt docs (@sdebruyn)
- #252 add automated test for #214 (@sdebruyn)
- update to dbt 1.1
- #194 uppercased information_schema (@TrololoLi)
- #215 Escape schema names so they can contain strange characters (@johnf)
- Documentation on how to contribute to the adapter
- Automatic release process by adding a new tag
- Consistent code style with pre-commit
- #201 use new dbt 1.0 logger (@semcha)
- #216 use new dbt testing framework (@dataders & @sdebruyn)
Please see dbt-core v1.0.0 release notes for upstream changes
- fix index naming when columns contain spaces #175
- re-organize macros to match new structure #184
- Added support for more authentication methods: automatic, environment variables, managed identity. All of them are documented in the readme. #178 contributed by @sdebruyn
Please see dbt-core v0.21.0 release notes for upstream changes
- in dbt-sqlserver v0.20.0, users couldn't use some out of the box tests, such as accepted_values. users can now also use CTEs in their
bespokecustom data tests - fixes issue with changing column types in incremental table column type #152 #169
- workaround for Azure CLI token expires after one hour. Now we get new tokens for every transaction. #156 #158
- workaround for Azure CLI token expires after one hour. Now we get new tokens for every transaction. #156 #158
- dbt-sqlserver will now work with dbt
v0.20.0. Please see dbt's upgrading tov0.20.0docs for more info. - users can now declare a custom
max_batch_sizein the project configuration to set the batch size used by the seed file loader. #127 and #151 thanks @jacobm001
sqlserver__load_csv_rowsnow has a safety provided bycalc_batch_size()to ensure the insert statements won't exceed SQL Server's 2100 parameter limit. #127 and #151 thanks @jacobm001- switched to using a
MANIFEST.into declare which files should be included - updated
pyodbcandazure-identitydependencies to their latest versions
- fixing and issue with empty seed table that dbt-redshift already addressed with fishtown-analytics/dbt#2255 #147
- drop unneeded debugging code that only was run when "Active Directory integrated" was given as the auth method #149
- hotfix for regression introduced by #126 that wouldn't surface syntax errors from the SQL engine #140 thanks @jeroen-mostert!
- ensure that macros are not recreated for incremental models #116 thanks @infused-kim
- authentication now is case-insensitive and accepts both
CLIandclias options. #100 thanks (@JCZuurmond)[https://github.com/JCZuurmond] - add unit tests for azure-identity related token fetching
- users can now delcare a model's database to be other than the one specified in the profile. This will only work for on-premise SQL Server and Azure SQL Managed Instance. #126 thanks @semcha!
- abandon four-part version names (
v0.19.0.2) in favor of three-part version names because it isn't SemVer and it causes problems with the~=pip operator used dbt-synapse, a pacakge that depends on dbt-sqlserver - allow CI to work with the lower-cost serverless Azure SQL #132
- we now use the correct connection string parameter so MSFT can montior dbt adoption in their telemetry. #98
- dbt-sqlserver's incremental materialization is now 100% aligneed logically to dbt's global_project behavior! this makes maintaining
dbt-sqlservereasier by decreasing code footprint. #102 - clean up CI config and corresponding Docker image #122
- dbt-sqlserver's snapshotting now 100% aligneed logically to dbt's snapshotting behavior! Users can now snapshot 'hard-deleted' record as mentioned in the dbt v0.19.0 release notes. An added benefit is that it makes maintaining
dbt-sqlserverby decreasing code footprint. #81 fishtown-analytics/dbt#3003
- small snapshot bug addressed via #81
- support for clustered columnstore index creation pre SQL Server 2016. #88 thanks @alangsbo
- support for scenarios where the target db's collation is different than the server's #87 @alangsbo
- This adapter has separate CI tests to ensure all the connection methods are working as they should #75
- This adapter has a CI job for running unit tests #103
- Update the tox setup #105
Adds support for:
- SQL Server down to version 2012
- authentication via:
- Azure CLI (see #71, thanks @JCZuurmond !), and
- MSFT ODBC Active Directory options (#53 #55 #58 thanks to @NandanHegde15 and @alieus)
- using a named instance (#51 thanks @alangsbo)
- Adds support down to SQL Server 2012
- The adapter is now automatically tested with Fishtowns official adapter-tests to increase stability when making changes and upgrades to the adapter.
- Fix for lack of precision in the snapshot check strategy. Previously when executing two check snapshots the same second, there was inconsistent data as a result. This was mostly noted when running the automatic adapter tests. NOTE: This fix will create a new snapshot version in the target table on first run after upgrade.
- Adds support for Azure Active Directory as authentication provider
- Fix for lack of precision in the snapshot check strategy. (#74 and #56 thanks @qed) Previously when executing two check snapshots the same second, there was inconsistent data as a result. This was mostly noted when running the automatic adapter tests. NOTE: This fix will create a new snapshot version in the target table on first run after upgrade.
- #52 Fix deprecation warning (Thanks @jnoynaert)
- The adapter is now automatically tested with Fishtowns official adapter-tests to increase stability when making changes and upgrades to the adapter. (#62 #64 #69 #74)
- We are also now testing specific target configs to make the devs more confident that everything is in working order (#75)
- Adds support for dbt v0.18.0
- Snapshots did not work on dbt v0.15.1 to v0.15.3
- Fix output of sql in the log files.
- Limited the version of dbt to 0.15, since later versions are unsupported.
- Fixes an issue with clustered columnstore index not beeing created.
- Ability to define an index in a poosthook
- Previously when a model run was interupted unfinished models prevented the next run and you had to manually delete them. This is now fixed so that unfinished models will be deleted on next run.
Fix release for v0.15.0
- Setting the port had no effect. Issue #9
- Unable to generate docs. Issue #12
Requires dbt v0.15.0 or greater
Requires dbt v0.14.x