microsoft / microsoft/sqlmanagementobjects
ConnectionFailureException when user running the command does not match the ConnectAsUserName
未关闭
还没有人认领这个 Issue。
- 主要语言
- C#
- 星标
- 143
- 派生
- 28
- PR 合并指标
- 30 天内没有已合并 PR
描述
$Credential = Get-Credential -Message "Enter your login name"
Import-Module -Name SqlServer
$ServerInstance = "SERVERNAME"
$Server = New-Object Microsoft.SqlServer.Management.Smo.Server $ServerInstance
$Server.ConnectionContext.LoginSecure = $true
$Server.ConnectionContext.ConnectAsUser = $true
$Server.ConnectionContext.ConnectAsUserName = $Credential.GetNetworkCredential().UserName
$Server.ConnectionContext.ConnectAsUserPassword = $Credential.GetNetworkCredential().Password
try {$Server.ConnectionContext.Connect()} catch {$_.Exception | Format-List -Force}
Throws the following error, when the user running the command does not match the ConnectAsUserName
ErrorRecord : Exception calling "Connect" with "0" argument(s): "Failed to connect to server SERVERNAME."
WasThrownFromThrowStatement : False
TargetSite : Void CheckActionPreference(System.Management.Automation.Language.FunctionContext, System.Exception)
Message : Exception calling "Connect" with "0" argument(s): "Failed to connect to server SERVERNAME."
Data : {[System.Management.Automation.Interpreter.InterpretedFrameInfo, System.Management.Automation.Interpreter.InterpretedFrameInfo[]]}
InnerException : Microsoft.SqlServer.Management.Common.ConnectionFailureException: Failed to connect to server SERVERNAME.
---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Diagnostics.StackTrace, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The
system cannot find the file specified.
File name: 'System.Diagnostics.StackTrace, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at Microsoft.Data.SqlClient.SqlConfigurableRetryLogicManager.get_ConnectionProvider()
at Microsoft.Data.SqlClient.SqlConnection.get_RetryLogicProvider()
at Microsoft.Data.SqlClient.SqlConnection.get_IsProviderRetriable()
at Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides)
at Microsoft.Data.SqlClient.SqlConnection.Open()
at Microsoft.SqlServer.Management.Common.ConnectionManager.InternalConnectImpl()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Security.Principal.WindowsIdentity.RunImpersonatedInternal(SafeAccessTokenHandle token, Action action)
at Microsoft.SqlServer.Management.Common.ConnectionManager.InternalConnect()
at Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
--- End of inner exception stack trace ---
at Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
at CallSite.Target(Closure, CallSite, Object)
HelpLink :
Source : System.Management.Automation
HResult : -2146233087
StackTrace : at System.Management.Automation.ExceptionHandlingOps.CheckActionPreference(FunctionContext funcContext, Exception exception)
at System.Management.Automation.Interpreter.ActionCallInstruction`2.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
Running Windows 11,
Name Version Source ProviderName
---- ------- ------ ------------
SqlServer 22.3.0 https://www.powershellgallery.c… PowerShellGet
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从提供的 PowerShell 复现步骤以及堆栈跟踪中的 ConnectionManager.InternalConnect 和 SqlConnection.Open 路径开始。检查当 ConnectAsUser 与调用方不同时,SqlServer 22.3.0 的依赖项集合是如何加载的,尤其是缺失的 System.Diagnostics.StackTrace 程序集。只要同一脚本能够成功连接,或能够明确识别底层依赖项问题,即可视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- csharp, powershell, sql
- 领域
- databases
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 35/100