PowerApps连接SQL Server 2017时凭据无效,请求排查解决方案
解决PowerApps连接SQL Server时的"凭据缺失或无效"错误
我之前也碰到过类似的PowerApps本地网关连SQL Server的坑,结合你的SQL Server 2017环境和已做的操作,给你几个针对性的排查方向,亲测大部分这类问题都能通过这些步骤解决:
1. 检查网关服务的运行账户
PowerApps本地网关是通过自身的服务账户来访问SQL Server的,你填写的Windows账户不一定是网关正在使用的账户:
- 打开Windows服务(按下Win+R,输入
services.msc回车) - 找到On-premises data gateway服务,右键选择「属性」→「登录」选项卡
- 默认情况下网关可能使用
NT SERVICE\PBIEgwService这个系统账户,这个账户大概率没有你的SQL Server访问权限 - 把登录账户改成你填写的
DESKTOPNAME\MyWindowsUsername,输入密码后点击「应用」,然后重启网关服务
2. 验证SQL Server的Windows账户权限
确保你的Windows账户在SQL Server里有合法的访问权限:
- 打开SQL Server Management Studio(SSMS),用
DESKTOPNAME\MyWindowsUsername账户登录(选择Windows身份验证) - 确认能正常访问
Planner数据库,比如查看表、执行简单查询 - 如果SSMS都登录失败,说明这个账户没有SQL Server的登录权限:
- 用SA账户或其他有权限的账户登录SSMS
- 展开「安全性」→「登录名」,右键新建登录名,选择你的Windows账户,然后给它分配
Planner数据库的db_datareader和db_datawriter权限(至少)
3. 确认SQL Server实例的端口配置
你用的是命名实例DESKTOPNAME\PRAVDA,默认命名实例会使用动态端口,这可能导致网关无法稳定连接:
- 打开SQL Server配置管理器,依次展开「SQL Server网络配置」→「PRAVDA的协议」
- 右键「TCP/IP」选择「属性」,切换到「IP地址」选项卡
- 拉到最下面的「IPAll」部分,把「TCP端口」设置为固定值(比如1433,或者其他未被占用的端口),清空「TCP动态端口」
- 重启SQL Server服务,然后在PowerApps的连接参数里,把Server名称改成
DESKTOPNAME,端口号(比如DESKTOPNAME,1433)再尝试连接
4. 用网关诊断工具排查具体错误
网关自带的诊断工具能给出比PowerApps更详细的错误信息:
- 打开「On-premises data gateway」配置管理器
- 切换到「诊断」选项卡,点击「添加数据源」,选择SQL Server
- 输入你的连接参数(Server名称、数据库名、Windows账户凭据),点击「测试连接」
- 根据诊断结果定位问题(比如权限不足、网络不通等)
5. 检查凭据输入细节
有时候小细节容易被忽略:
- 确认用户名
DESKTOPNAME\MyWindowsUsername完全正确,有没有多余的空格或大小写错误(Windows账户大小写不敏感,但网关偶尔会严格校验) - 密码是否包含特殊字符(比如
@、$),手动输入时有没有打错,可以尝试复制粘贴密码避免输入错误
内容的提问来源于stack exchange,提问作者notjoshno
相关产品推荐
相关产品推荐

