创建数据中心报错“找不到对象、因为它不存在或者您没有所需的权限。”

问题描述
创建管理中心/数据中心时报错“创建失败: 找不到对象“T_META_FORMENUMITEM”,因为它不存在或者您没有所需的权限。”

原因分析和解决思路
此问题一般发生在数据库和管理中心服务器分开部署的环境下。
直接原因是在创建数据库时未能从管理中心获取到模板库文件。
模板库文件是通过在SQL SERVER 里面执行XP_CMDSHELL这个系统存储过程调用PowerShell去请求形如'http://***:8000/CommonFileServer/K3CloudPattrenDbFile/SqlServerMCPatternDB.bak'的地址下载的。常见导致失败的问题原因有以下几点
1、数据库服务器无法通过计算机名称找到正确的管理中心服务器。比如存在计算机重名导致访问到错误的服务器、计算机名称可以解析但是无法访问。
2、管理中心使用的8000端口访问不同。一般是防火墙没开启端口导致。
3、新版的管理中心有IP白名单限制,需要将数据库服务器IP或其网关IP纳入白名单。
4、杀毒软件影响。因为XP_CMDSHELL是可能被病毒/木马利用,所以不少杀毒软件会拦截其操作,建议在数据库服务器上关注杀毒软件的提醒,明确是创建数据中心的操作做放行处理、或在创建数据中心时暂时停用,完成后启用杀毒软件。
5、XP_CMDSHELL未启用。同上一点现场可能因为安全考虑禁用了此存储过程导致无法执行。
6、TEMP目录权限异常。数据库在下载模板库文件时是按操作系统的环境变量存在在TEMP变量对应的目录下。如果此目录SQL SERVER实例的启动用户无权限则也会导致下载失败。
7、POWERSHELL无法运行。如PowerShell不在操作系统PATH环境变量的目录下、或PowerShell因操作系统异常无法启动等。
8、操作系统语言的千分符差异影响。在下载模板库后会尝试检查下载的文件大小是否正常,不同操作系统语言下千分符不一样。目前部分版本因为千分符识别问题可导致异常,如果操作系统语言非中文、前面其他问题都已排除的可能是此情
创建数据中心报错“找不到对象、因为它不存在或者您没有所需的权限。”
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



