我们无法弄清楚为什么 AD FS 2016 在 SQL 属性存储上执行某个 SQL 查询。
- 当我们重命名数据库以准备停用该数据库时,首先出现了问题。我们重命名它以查看是否有任何东西在使用它。
- 重命名后,AD FS 2016 开始抛出无法登录数据库的错误。这并不奇怪,除了它正在执行的 SQL 查询在任何依赖方或 OAuth 注册的声明规则中的任何地方都找不到。
- 那么,是否存在可以放置全局策略的位置,该策略将在每次请求令牌时执行并应用于每个依赖方,因为 SQL 查询不在请求令牌的依赖方上?
这是 AD FS 2016 在其事件查看器中报告的完整错误。
在 SQL 属性存储中执行查询时发生错误。
其他数据连接信息:POLICY3907:服务器=已编辑;数据库=已编辑。查询:SELECT [REDACTED] FROM [REDACTED].[REDACTED] WHERE [REDACTED]=@PARAMETER0 参数:REDACTED,
用户操作 检查异常详细信息以执行以下一项或多项操作(如果适用)。验证到 SQL 属性存储的连接字符串是否有效。确保连接字符串可以访问 SQL 属性存储并且 SQL 属性存储存在。验证 SQL 查询和参数是否有效。
异常详细信息:Microsoft.IdentityServer.ClaimsPolicy.Engine.AttributeStore.Sql.SqlAttributeStoreQueryExecutionException:POLICY3904:执行查询:'SELECT [REDACTED] FROM [REDACTED].[REDACTED] WHERE [REDACTED]=@PARAMETER0' 参数:'REDACTED, ' 失败的。连接信息:'POLICY3907: Server=REDACTED;Database=REDACTED.'。---> System.Data.SqlClient.SqlException:无法打开登录请求的数据库“已编辑”。登录失败。用户“已编辑”登录失败。在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity 身份,SqlConnectionString connectionOptions,SqlCredential 凭据,对象 providerInfo,字符串 newPassword,SecureString newSecurePassword,布尔重定向用户实例,SqlConnectionString userConnectionOptions,
1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1 次重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal& 连接)在 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource
1 重试)在 System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 retry) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.IdentityServer.ClaimsPolicy.Engine.AttributeStore.Sql.SyncQueryExecutor.BeginExecuteQuery(String query, List
1 queryParameters,AsyncCallback 回调,对象状态)
---内部异常堆栈跟踪结束---在 Microsoft.IdentityServer.ClaimsPolicy.Engine.AttributeStore.Sql.SyncQueryExecutor.BeginExecuteQuery(字符串查询,列表1 queryParameters, AsyncCallback callback, Object state) at Microsoft.IdentityServer.ClaimsPolicy.Engine.AttributeStore.Sql.SqlAttributeStore.BeginExecuteQuery(String query, String[] queryParameterValues, AsyncCallback callback, Object state) at Microsoft.IdentityServer.ClaimsPolicy.Language.AttributeLookupIssuanceStatement.BeginEvaluate(IEnumerable
1 匹配声明,PolicyContext policyContext,AsyncCallback 回调,对象状态)System.Data.SqlClient.SqlException (0x80131904):无法打开登录请求的数据库“已编辑”。登录失败。用户“已编辑”登录失败。在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity 身份,SqlConnectionString connectionOptions,SqlCredential 凭据,对象 providerInfo,字符串 newPassword,SecureString newSecurePassword,布尔重定向用户实例,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,DbConnectionPool 池,字符串 accessToken,布尔 applyTransientFaultHandling,SqlAuthenticationProviderManager sqlAuthProviderManager ) 在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions 选项,DbConnectionPoolKey poolKey,对象 poolGroupProviderInfo,DbConnectionPool 池,DbConnection owningConnection,
1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1 次重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal& 连接)在 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource
1 重试)在 System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 retry) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.IdentityServer.ClaimsPolicy.Engine.AttributeStore.Sql.SyncQueryExecutor.BeginExecuteQuery(String query, List
1 queryParameters,AsyncCallback 回调, 对象状态) ClientConnectionId:a7e6a99c-b3c5-495d-be39-7d700321a5c3 错误号:4060,State:1,Class:11