@@ -93,6 +93,12 @@ parameters:
9393 type : boolean
9494 default : true
9595
96+ # If true, run manual tests against legacy SQL Server versions (2016, 2017).
97+ # Enabled for CI pipelines; disabled for PR pipelines to keep validation fast.
98+ - name : runLegacySqlTests
99+ type : boolean
100+ default : true
101+
96102 - name : dotnetVerbosity
97103 type : string
98104 default : normal
@@ -289,6 +295,62 @@ stages:
289295 # Configuration of test jobs. Each entry in this object will become a test job, and the
290296 # properties of each entry will be supplied as parameters to the test job template.
291297 testConfigurations :
298+ # SQL Server 2016 and 2017 on Windows Server 2022 (x64 only).
299+ # x86 testing is intentionally skipped for these legacy SQL versions
300+ # because x86 support is already validated via SQL 2019 and 2022 images.
301+ ${{ if eq(parameters.runLegacySqlTests, true) }} :
302+ # Windows Server 22 with local SQL Server 2016, x64 build platform.
303+ windows_sql_16_x64 :
304+ pool : ${{parameters.defaultPoolName }}
305+ images :
306+ Win22_Sql16 : ADO-MMS22-SQL16
307+ TargetFrameworks : ${{parameters.targetFrameworks }}
308+ netcoreVersionTestUtils : ${{parameters.netcoreVersionTestUtils }}
309+ buildPlatforms : ${{parameters.buildPlatforms }}
310+ testSets : ${{parameters.testSets }}
311+ useManagedSNI : ${{parameters.useManagedSNI }}
312+ configSqlFor : local
313+ operatingSystem : Windows
314+ configProperties :
315+ TCPConnectionString : $(SQL_TCP_CONN_STRING)
316+ NPConnectionString : $(SQL_NP_CONN_STRING)
317+ AzureKeyVaultUrl : $(AzureKeyVaultUrl)
318+ AzureKeyVaultTenantId : $(AzureKeyVaultTenantId)
319+ SupportsIntegratedSecurity : true
320+ UserManagedIdentityClientId : $(UserManagedIdentityClientId)
321+ FileStreamDirectory : $(FileStreamDirectory)
322+ LocalDbAppName : $(LocalDbAppName)
323+ LocalDbSharedInstanceName : $(LocalDbSharedInstanceName)
324+ AliasName : $(SQLAliasName)
325+ SQLRootPath : $(SQL16RootPath)
326+ enableLocalDB : true
327+
328+ # Windows Server 22 with local SQL Server 2017, x64 build platform.
329+ windows_sql_17_x64 :
330+ pool : ${{parameters.defaultPoolName }}
331+ images :
332+ Win22_Sql17 : ADO-MMS22-SQL17
333+ TargetFrameworks : ${{parameters.targetFrameworks }}
334+ netcoreVersionTestUtils : ${{parameters.netcoreVersionTestUtils }}
335+ buildPlatforms : ${{parameters.buildPlatforms }}
336+ testSets : ${{parameters.testSets }}
337+ useManagedSNI : ${{parameters.useManagedSNI }}
338+ configSqlFor : local
339+ operatingSystem : Windows
340+ configProperties :
341+ TCPConnectionString : $(SQL_TCP_CONN_STRING)
342+ NPConnectionString : $(SQL_NP_CONN_STRING)
343+ AzureKeyVaultUrl : $(AzureKeyVaultUrl)
344+ AzureKeyVaultTenantId : $(AzureKeyVaultTenantId)
345+ SupportsIntegratedSecurity : true
346+ UserManagedIdentityClientId : $(UserManagedIdentityClientId)
347+ FileStreamDirectory : $(FileStreamDirectory)
348+ LocalDbAppName : $(LocalDbAppName)
349+ LocalDbSharedInstanceName : $(LocalDbSharedInstanceName)
350+ AliasName : $(SQLAliasName)
351+ SQLRootPath : $(SQL17RootPath)
352+ enableLocalDB : true
353+
292354 # Windows Server 22 with local SQL Server 2019, x64 build platform.
293355 windows_sql_19_x64 :
294356 pool : ${{parameters.defaultPoolName }}
0 commit comments