-
Notifications
You must be signed in to change notification settings - Fork 25
Description
- SqlPackage or DacFx Version: 161.8089.0
- .NET Framework (Windows-only) or .NET Core: .NET Framework
- Environment (local platform and source/target platforms): Windows
Steps to Reproduce:
When changing the case of an xml query that is encased in quotes in a database project, SSDT does not flag this as a difference, unless there is another 'valid' difference in the file as well. This means changes wont get deployed and applications will fail.
I have included a Test Solution file and test document so that this can be replicated in this repo
https://github.com/DotdigitalDBA/sqlPackageTickets/tree/main/SSDTXMLBug
Basic steps to reproduce:
- Create sproc with xml query
eg
SELECT
members.value('.','varchar(100)') as [TeamMembers]
FROM @SQLXML.nodes('/teams/dbateam/team') as team(members)
- Run schema compare in VS > No changes
- Change case of xml query
eg
SELECT
members.value('.','varchar(100)') as [TeamMembers]
FROM @SQLXML.nodes('/Teams/DBAteam/Team') as team(members)
- Run schema compare again > Still no changes. Even though this change will now break all your XML queries.
This has been routed through MS premier support. They provided a "workaround" to change collation to a case sensitive collation. This isn't suitable, collation shouldn't play any part here, regardless of the collation you choose, changing case in an XML query will break existing queries.
Did this occur in prior versions? If not - which version(s) did it work in?
(DacFx/SqlPackage/SSMS/Azure Data Studio)