Comments (7)
@Francois-BellegardeOSF yes, this particular collation was chosen for performance reasons. I also like to use it at development time to make sure we maintain compatibility with case-sensitive databases. But you can still use our schema with non-case sensitive databases. The UTF-8 issue should be the only compatibility concern.
from durabletask-mssql.
@cgillum
Thank you for this prompt and clear response. This is helping me immensely.
from durabletask-mssql.
@Francois-BellegardeOSF what collation is your database using?
SELECT DB_NAME() As DB, DATABASEPROPERTYEX(DB_NAME(), 'Collation') AS Collation
from durabletask-mssql.
The schema we use assumes you are using a _UTF8
database collation. The default setup uses Latin1_General_100_BIN2_UTF8
, which should be able to handle non-ASCII characters fine in varchar
columns.
Support for UTF-8 collation was added in SQL Server 2019: https://techcommunity.microsoft.com/t5/sql-server-blog/introducing-utf-8-support-for-sql-server/ba-p/734928.
from durabletask-mssql.
When I create a DB, it still defaults to SQL_Latin1_General_CP1_CI_AS. And apparently, this is also what IT did in production.
I tested reimporting the DB after editing model.xml in the .bacpac and it solved this issue.
It will be unpleasant and maybe impractical for large databases, but in my case it's manageable.
Thank you for clearing this up. Could this not have been made to explicitly use a UTF8 collation on the columns?
If people edit their schema to use a different collation, would it cause an issue? I would think that as long as every column are changed, at least there would not be internal issues. I wonder how future proof this would be.
from durabletask-mssql.
@cgillum
I just realized this is a case sensitive collation. This makes it a huge breaking change for existing databases.
Would you say this would be safe to use with a case insensitive equivalent?
from durabletask-mssql.
@cgillum , we can't change the collation for our production running DB. Another the DTF tables are in the same DB with other business tables. To change collation will break our other logic.
Do we have other solution to resolve this issue?
from durabletask-mssql.
Related Issues (20)
- App fails to start up when upgrading from 1.0.0 to 1.2.0 schema
- Automate database schema upgrade testing HOT 1
- SqlException Transaction (Process ID 66) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. HOT 4
- Connection String question HOT 12
- NewEvents stuck due to InvalidCastException HOT 6
- MaxActiveOrchestrations set to 1 does not work, mutliple Orchestrations are running HOT 1
- SqlOrchestrationService is not visible when referencing Microsoft.Azure.Functions.Worker.Extensions.DurableTask.SqlServer HOT 1
- Update Microsoft.Data.SqlClient and related dependencies
- Durable Entity creates NullReferenceException with Microsoft.Azure.Functions.Worker.Extensions.DurableTask.SqlServer HOT 5
- Recommendations on storing large payloads HOT 4
- NullReferenceException in SqlORchestrationService HOT 7
- Orchestration execution retry due to OperationCanceledException? HOT 4
- Error propagation is not working properly even after upgrading to latest version of Sql server HOT 1
- Non-Deterministic workflow detected HOT 4
- NU1605: Warning As Error: Detected package downgrade: Microsoft.Azure.WebJobs.Extensions.DurableTask from 2.13.2 to 2.13.1 HOT 1
- Under what circumstance does DTF SQL provider throws Duplicate execution error HOT 5
- Always encrypted support for python HOT 2
- SqlUtils retry logic does not handle DB closed connections HOT 9
- Dt.CreateInstance stored proc is causing deadlocks (proposed ROLLBACK change that fixes the issue) HOT 11
- Change task scheduling to give more even flow of orchestrations
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from durabletask-mssql.