Power Query连接SQL数据库报错:找不到存储过程'usp_vd_rollup_query'
解决Power Query调用SQL存储过程找不到的问题
检查存储过程的权限与可见性
新员工的数据库账号大概率没有访问usp_vd_rollup_query存储过程的权限,或者默认数据库上下文不对。可以在SQL服务器上执行下面的语句验证:USE live; EXECUTE AS LOGIN = '新员工的数据库账号'; SELECT * FROM sys.procedures WHERE name = 'usp_vd_rollup_query'; REVERT;如果查不出结果,要么给账号加该存储过程的
EXECUTE权限,要么确保连接时指定了live作为默认数据库。确认Power Query的连接上下文
核对新员工电脑上的Power Query连接设置:- 打开Power Query编辑器,找到对应的SQL数据源,检查初始目录是不是设成了
live(别是默认的master库) - 看查询语句里有没有明确指定库名,比如要写成
EXEC live.dbo.usp_vd_rollup_query,而不是只写EXEC usp_vd_rollup_query
- 打开Power Query编辑器,找到对应的SQL数据源,检查初始目录是不是设成了
清除Power Query缓存的凭据
虽说用的是共享凭据,但新员工电脑可能缓存了错误的凭据信息:- 打开Excel/Power BI的文件>选项>数据源设置
- 找到
sage2018.local;live这个数据源,点清除凭据,之后重新输入共享凭据连接
验证网络与SQL实例访问
新员工电脑可能没法正确解析数据库服务器地址,或者实例访问规则有问题:- 打开命令提示符,跑
ping sage2018.local确认能解析到正确IP - 用SSMS手动连接
sage2018.local(如果是命名实例要加\实例名),尝试执行EXEC usp_vd_rollup_query,看能不能正常运行
- 打开命令提示符,跑
内容的提问来源于stack exchange,提问作者VaughanD
相关产品推荐
相关产品推荐

