@@ -59,6 +59,8 @@ internal static class DEFAULT
5959 internal static readonly SqlAuthenticationMethod Authentication = DbConnectionStringDefaults . Authentication ;
6060 internal static readonly SqlConnectionAttestationProtocol AttestationProtocol = DbConnectionStringDefaults . AttestationProtocol ;
6161 internal static readonly SqlConnectionIPAddressPreference IpAddressPreference = DbConnectionStringDefaults . IPAddressPreference ;
62+ internal const string ServerSPN = DbConnectionStringDefaults . ServerSPN ;
63+ internal const string FailoverPartnerSPN = DbConnectionStringDefaults . FailoverPartnerSPN ;
6264#if NETFRAMEWORK
6365 internal static readonly bool TransparentNetworkIPResolution = DbConnectionStringDefaults . TransparentNetworkIPResolution ;
6466 internal const bool Connection_Reset = DbConnectionStringDefaults . ConnectionReset ;
@@ -113,6 +115,8 @@ internal static class KEY
113115 internal const string Connect_Retry_Count = DbConnectionStringKeywords . ConnectRetryCount ;
114116 internal const string Connect_Retry_Interval = DbConnectionStringKeywords . ConnectRetryInterval ;
115117 internal const string Authentication = DbConnectionStringKeywords . Authentication ;
118+ internal const string Server_SPN = DbConnectionStringKeywords . ServerSPN ;
119+ internal const string Failover_Partner_SPN = DbConnectionStringKeywords . FailoverPartnerSPN ;
116120#if NETFRAMEWORK
117121 internal const string TransparentNetworkIPResolution = DbConnectionStringKeywords . TransparentNetworkIPResolution ;
118122#if ADONET_CERT_AUTH
@@ -173,6 +177,9 @@ private static class SYNONYM
173177 internal const string User = DbConnectionStringSynonyms . User ;
174178 // workstation id
175179 internal const string WSID = DbConnectionStringSynonyms . WSID ;
180+ // server SPNs
181+ internal const string ServerSPN = DbConnectionStringSynonyms . ServerSPN ;
182+ internal const string FailoverPartnerSPN = DbConnectionStringSynonyms . FailoverPartnerSPN ;
176183
177184#if NETFRAMEWORK
178185 internal const string TRANSPARENTNETWORKIPRESOLUTION = DbConnectionStringSynonyms . TRANSPARENTNETWORKIPRESOLUTION ;
@@ -212,9 +219,9 @@ internal static class TRANSACTIONBINDING
212219 }
213220
214221#if NETFRAMEWORK
215- internal const int SynonymCount = 29 ;
222+ internal const int SynonymCount = 31 ;
216223#else
217- internal const int SynonymCount = 26 ;
224+ internal const int SynonymCount = 28 ;
218225 internal const int DeprecatedSynonymCount = 2 ;
219226#endif // NETFRAMEWORK
220227
@@ -257,6 +264,8 @@ internal static class TRANSACTIONBINDING
257264 private readonly string _initialCatalog ;
258265 private readonly string _password ;
259266 private readonly string _userID ;
267+ private readonly string _serverSPN ;
268+ private readonly string _failoverPartnerSPN ;
260269
261270 private readonly string _workstationId ;
262271
@@ -322,6 +331,8 @@ internal SqlConnectionString(string connectionString) : base(connectionString, G
322331 _enclaveAttestationUrl = ConvertValueToString ( KEY . EnclaveAttestationUrl , DEFAULT . EnclaveAttestationUrl ) ;
323332 _attestationProtocol = ConvertValueToAttestationProtocol ( ) ;
324333 _ipAddressPreference = ConvertValueToIPAddressPreference ( ) ;
334+ _serverSPN = ConvertValueToString ( KEY . Server_SPN , DEFAULT . ServerSPN ) ;
335+ _failoverPartnerSPN = ConvertValueToString ( KEY . Failover_Partner_SPN , DEFAULT . FailoverPartnerSPN ) ;
325336
326337 // Temporary string - this value is stored internally as an enum.
327338 string typeSystemVersionString = ConvertValueToString ( KEY . Type_System_Version , null ) ;
@@ -675,6 +686,8 @@ internal SqlConnectionString(SqlConnectionString connectionOptions, string dataS
675686 _columnEncryptionSetting = connectionOptions . _columnEncryptionSetting ;
676687 _enclaveAttestationUrl = connectionOptions . _enclaveAttestationUrl ;
677688 _attestationProtocol = connectionOptions . _attestationProtocol ;
689+ _serverSPN = connectionOptions . _serverSPN ;
690+ _failoverPartnerSPN = connectionOptions . _failoverPartnerSPN ;
678691#if NETFRAMEWORK
679692 _connectionReset = connectionOptions . _connectionReset ;
680693 _contextConnection = connectionOptions . _contextConnection ;
@@ -732,7 +745,8 @@ internal SqlConnectionString(SqlConnectionString connectionOptions, string dataS
732745 internal string UserID => _userID ;
733746 internal string WorkstationId => _workstationId ;
734747 internal PoolBlockingPeriod PoolBlockingPeriod => _poolBlockingPeriod ;
735-
748+ internal string ServerSPN => _serverSPN ;
749+ internal string FailoverPartnerSPN => _failoverPartnerSPN ;
736750
737751 internal TypeSystem TypeSystemVersion => _typeSystemVersion ;
738752 internal Version TypeSystemAssemblyVersion => _typeSystemAssemblyVersion ;
@@ -843,6 +857,8 @@ internal static Dictionary<string, string> GetParseSynonyms()
843857 { KEY . Connect_Retry_Interval , KEY . Connect_Retry_Interval } ,
844858 { KEY . Authentication , KEY . Authentication } ,
845859 { KEY . IPAddressPreference , KEY . IPAddressPreference } ,
860+ { KEY . Server_SPN , KEY . Server_SPN } ,
861+ { KEY . Failover_Partner_SPN , KEY . Failover_Partner_SPN } ,
846862
847863 { SYNONYM . APP , KEY . Application_Name } ,
848864 { SYNONYM . APPLICATIONINTENT , KEY . ApplicationIntent } ,
@@ -871,6 +887,8 @@ internal static Dictionary<string, string> GetParseSynonyms()
871887 { SYNONYM . UID , KEY . User_ID } ,
872888 { SYNONYM . User , KEY . User_ID } ,
873889 { SYNONYM . WSID , KEY . Workstation_Id } ,
890+ { SYNONYM . ServerSPN , KEY . Server_SPN } ,
891+ { SYNONYM . FailoverPartnerSPN , KEY . Failover_Partner_SPN } ,
874892#if NETFRAMEWORK
875893#if ADONET_CERT_AUTH
876894 { KEY . Certificate , KEY . Certificate } ,
0 commit comments