配置SharePoint 2016的配置向导中,第三步创建配置数据库报错,然后百度、谷歌了一下,都没有解决,自己看日志搞定,也许会有人遇到类似问题,分享一下。
1、配置向导的错误截图,如下图:
2、根据上图找到错误日志,日志里的详细信息,如下:
Failed to create the configuration database.An exception of type System.Xml.Schema.XmlSchemaException was thrown. Additional exception information: Feature definition with Id ca7bd552-10b1-4563-85b9-5ed1d39c962a failed validation, file 'fieldswss4.xml', line 68, character 9:The 'ListInternal' attribute is not allowed.System.Xml.Schema.XmlSchemaException: Feature definition with Id ca7bd552-10b1-4563-85b9-5ed1d39c962a failed validation, file 'fieldswss4.xml', line 68, character 9:The 'ListInternal' attribute is not allowed. ---> System.Xml.Schema.XmlSchemaValidationException: The 'ListInternal' attribute is not allowed. --- End of inner exception stack trace --- at Microsoft.SharePoint.Administration.SPElementManifest.ElementXmlValidationCallBack(Object sender, ValidationEventArgs evtargs) at System.Xml.Schema.XmlSchemaValidator.SendValidationEvent(String code, String arg) at System.Xml.Schema.XmlSchemaValidator.ValidateAttribute(String lName, String ns, XmlValueGetter attributeValueGetter, String attributeStringValue, XmlSchemaInfo schemaInfo) at System.Xml.Schema.XmlSchemaValidator.ValidateAttribute(String localName, String namespaceUri, XmlValueGetter attributeValue, XmlSchemaInfo schemaInfo) at System.Xml.XsdValidatingReader.ValidateAttributes() at System.Xml.XsdValidatingReader.ProcessElementEvent() at System.Xml.XsdValidatingReader.Read() at System.Xml.XmlReader.MoveToContent() at System.Xml.XmlReader.IsStartElement() at Microsoft.SharePoint.Utilities.SPUtility.XsdValidateXml(XmlTextReader xmlStreamReader, String friendlyName, String pathXsdFile, String tagExpectedRootNode, Int32 desiredPathVersion, ValidationEventHandler xsdValEventHandler) at Microsoft.SharePoint.Administration.SPElementManifest.ValidateDefinition(String pathToFeatureAndElementManifestXsdFile) at Microsoft.SharePoint.Administration.SPFeatureDefinition.ValidateElementManifestXml(String pathToFeatureAndElementManifestXsdFile) at Microsoft.SharePoint.Administration.SPFeatureDefinition.ValidateDefinition(String pathToFeatureAndElementManifestXsdFile) at Microsoft.SharePoint.Administration.SPFeatureDefinitionCollection.AddCore(SPFeatureDefinition featdef, SPSite site, String solutionHash, Boolean fForce, Boolean fDoValidation, String pathToFeatureAndElementManifestXsdFile) at Microsoft.SharePoint.Administration.SPFarmFactory.EnsureOutOfBoxFeaturesInstalled(SPFarm farm, String[] rgsOutOfBoxFeatures, Int32 compatibilityLevel) at Microsoft.SharePoint.Administration.SPFarmFactory.CreateBasicServices(SPFarm farm) at Microsoft.SharePoint.Administration.SPFarmFactory.Create() at Microsoft.SharePoint.Administration.SPFarm.Create(SqlConnectionStringBuilder configurationDatabase, SqlConnectionStringBuilder administrationContentDatabase, SqlConnectionStringBuilder siteMapDatabase, IdentityType identityType, String farmUser, SecureString farmPassword, SecureString masterPassphrase) at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.CreateOrConnectConfigDb() at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.Run() at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
3、找到fieldswss4这个文件,如下图:
4、用vs打开fieldswss4这个文件,发现确实有这个属性,而且是有报错提醒的,如下图:
5、在SharePoint 2013环境中找到如下位置,发现也有类似文件,如下图:
6、对比了一下SharePoint 2013和SharePoint 2016版本的这个报错文件,发现SharePoint 2016多了如下几个Field:
7、把这四个Field的ListInternal属性删掉,然后再运行配置向导,发现运行成功,如下图:
总结
其实自己也不太清楚这个文件的作用,查了一下也没查到详细说明;不过删掉ListInternal属性确实可以成功运行配置向导,我想如果真的有问题,运行成功以后再还原回来也是可以的(修改之前已备份),不会影响SharePoint的运行。
……