前言
配置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:
-
- SMTotalSize
- SMLastModifiedDate
- SMTotalFileStreamSize
- SMTotalFileCount
7、把這四個Field的ListInternal屬性刪掉,然后再運行配置向導,發現運行成功,如下圖:
總結
其實自己也不太清楚這個文件的作用,查了一下也沒查到詳細說明;不過刪掉ListInternal屬性確實可以成功運行配置向導,我想如果真的有問題,運行成功以后再還原回來也是可以的(修改之前已備份),不會影響SharePoint的運行。
當然,有知道這個文件作用的,歡迎留言告知,多謝!
相關錯誤
也看到有遇到一樣錯誤的情況,但是因為內存不足,跟自己的情況不符,附后參考吧。
http://fangdahai.blogspot.hk/2016/05/invalid-feature-definition-error-during.html





