- Support for dbt-core 1.3
- Python models are currently not supported in this adapter
- The following cross-db macros are not supported in this adapter:
bool_or
,array_construct
,array_concat
,array_append
- The macro
type_boolean
now returns the correct data type (bit
)
- Update adapter testing framework
- Update dependencies and pre-commit hooks
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
- Full support for the new grants config
- New configuration option:
auto_provision_aad_principals
- setting this totrue
will automatically create contained database users linked to Azure AD principals or groups if they don't exist yet when they're being used in grant configs
- Support for MS ODBC Driver 18
- Support automatic retries with new
retries
setting 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_or
listagg
will only work in SQL Server 2017 or newer or the cloud versions. Thelimit_num
option is unsupported.DISTINCT
cannot be used in the measure.
- Support for all
- In some cases the
TIMESTAMP
would 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
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.0
docs for more info. - users can now declare a custom
max_batch_size
in the project configuration to set the batch size used by the seed file loader. #127 and #151 thanks @jacobm001
sqlserver__load_csv_rows
now 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.in
to declare which files should be included - updated
pyodbc
andazure-identity
dependencies 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
CLI
andcli
as 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-sqlserver
easier 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-sqlserver
by 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