왠지 나의 경우에만 국한될 것으로 보이지만 Workaround 를 남긴다.
사실 시나리오는 이랬다.
1. SharePoint 사이트가 죽었다.
2. DataBase 는 모두 살아 있었기에 구성 마법사를 돌려본다.
3. Argument Exception 이 발생하며 구성 마법사가 실패된다.
4. Event Log 를 보니 104 오류가 발생한다.
정리해보자면 아래와 같은데...
현상 : 손상된 SharePoint 사이트로 부터 복구를 수행하기 위하여 이전에 추가되었던 Configratuion Database 혹은 Content Database 를 연결하려고 할경우 발생하는 오류.
복구방법
- Stsadm 툴을 이용하여 SharePoint DataBase 의 스키마 업그레이를 수행하면 된다.
- stsadm -o upgrade -inplace -url http://siteurl -forceupgrade
- psconfig -cmd upgrade -inplace b2b -force -wait
- 혹은 SharePoint Service Pack 2 를 재설치한다.
복구방법은 단순하긴 하지만 위의 케이스가 내경우에만 해당될것 같다고 얘기한것은 다름이 아니라 SharePoint 가 죽기전에도 분명 SP2 는 이미 설치되어 있었다는 이야기다. 중간 이야기를 빼먹었지만 중앙관리가 살아났었지만 여전히 사이트 컬렉션은 살아나지 않았었다. 특정 사이트 컬렉션의 컨텐츠 데이터베이스만 스키마가 달랐다는 이야기인가?~ 흠... 아무래도 복구 순서를 잘못했었던듯 싶다.
One or more configuration settings failed. Completed configuration settings will not be rolled back. Resolve the problem and run this configuation wizard again. The following contains detailed information about the failure:
Failed to register SharePoint services.
An exception of type System.ArgumentException was thrown. Additionall exception inforamtion: An object in the SharePoint administrative framework, "SPSearchDataAccessServiceInstance Parent=SPServerName=SERVERNAME", depends on other objects which do not exist. Ensure that all of the objects dependencies are created and retry this operation.
To dialnose the problem, review the application event log and the configuration log file located at: LOGFILE FULLPATH
--------------------------------------------------------------------------------------------------------------------------------
Failed to register SharePoint services.
An exception of type System.ArgumentException was thrown. Additional exception information: An object in the SharePoint administrative framework, "SPSearchDataAccessServiceInstance Parent=SPServer Name=SERVERNAME", depends on other objects which do not exist. Ensure that all of the objects dependencies are created and retry this operation.
System.ArgumentException: An object in the SharePoint administrative framework, "SPSearchDataAccessServiceInstance Parent=SPServer Name=SERVERNAME", depends on other objects which do not exist. Ensure that all of the objects dependencies are created and retry this operation. ---> System.Data.SqlClient.SqlException: The INSERT statement conflicted with the FOREIGN KEY SAME TABLE constraint "FK_Objects_Objects". The conflict occurred in database "WSS_Config", table "dbo.Objects", column 'Id'.
The statement has been terminated.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.SharePoint.Utilities.SqlSession.ExecuteNonQuery(SqlCommand command)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.StoreObject(SPPersistedObject obj, Boolean storeClassIfNecessary, Boolean ensure)
--- End of inner exception stack trace ---
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.StoreObject(SPPersistedObject obj, Boolean storeClassIfNecessary, Boolean ensure)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.PutObject(SPPersistedObject obj, Boolean ensure)
at Microsoft.SharePoint.Administration.SPPersistedObject.Update()
at Microsoft.SharePoint.Administration.SPServiceInstance.Update()
at Microsoft.SharePoint.Administration.SPPersistedObject.Update(Boolean ensure)
at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.InstallServiceInstanceInConfigDB(Boolean provisionTheServiceInstanceToo, String serviceInstanceRegistryKeyName, Object sharepointServiceObject)
at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.InstallServiceInstances(Boolean provisionTheServiceInstancesToo, String serviceRegistryKeyName, Object sharepointServiceObject)
at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.InstallServices(Boolean provisionTheServicesToo)
at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.Run()
at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
--------------------------------------------------------------------------------------------------------------------------------
The schema version (3.1.8.0) of the database WSS_AdminContent on SERVERNAMEis not consistent with the expected database schema version (3.1.3.0) on SERVERNAME. Connections to this database from this server have been blocked to avoid data loss. Upgrade the web front end or the content database to ensure that these versions match.
5617
포스트 메타 정보
자동 검색 관련글
- Sharepoint 2007 SP2 적용하기by 레오
- MSDN Ramp Up - SharePoint 트랙 추가by 짜두르
- Office SharePoint Server 2007용 사이트 디자인 및 구축by 레오
- IRM Event Errorby 레오
- Windows SharePoint Services 3.0 Tools v1.3 - 한글템플릿 나타내기by 레오




덧글