diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/SqlTestDatabaseReaperTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/SqlTestDatabaseReaperTests.cs index 92d676755..64b453b04 100644 --- a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/SqlTestDatabaseReaperTests.cs +++ b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/SqlTestDatabaseReaperTests.cs @@ -103,7 +103,9 @@ public sealed class SqlTestDatabaseReaperTests // what bounds the character set of every candidate: without it a database named // "_" + arbitrary text would be fed to the drop statement, and before the // statement was parameterised that was a second-order injection running as sa. - var notAGuid = $"{AdminUiSqlServer.TestDatabasePrefix}20250101000000_notaguid"; + // Unique per run: the SQL Server is shared by every checkout and CI, and a fixed name collided with a + // concurrent run's create / finally-drop. Digits only after "notaguid_", so it can never parse as a GUID. + var notAGuid = $"{AdminUiSqlServer.TestDatabasePrefix}20250101000000_notaguid_{Environment.ProcessId}_{Random.Shared.Next(1_000_000)}"; CreateDatabase(master, notAGuid);