Open qianmengnet opened 6 years ago
导入的数据库类型和版本是什么?
sqlserver 2008 r2
刚看到了errerlog,以前没注意。 errorlog里面出现的错误主要有这么几个
{"dateTime":"2018-05-29 08:33:23","detail":"tableName siteserver_AdministratorsInRoles, fileName 1.json","message":"违反了 PRIMARY KEY 约束 'PK_siteserver_AdministratorsInRoles_Id'。不能在对象 'dbo.siteserver_AdministratorsInRoles' 中插入重复键。\r\n语句已终止。","stackTrace":" 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction)\r\n 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)\r\n 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)\r\n 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)\r\n 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource
1 completion, Int32 timeout, Task& task, Boolean asyncWrite)\r\n 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)\r\n 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(IDbCommand command) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 738\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(IDbConnection connection, String commandText, IDataParameter[] commandParameters) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 954\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(String connectionString, String commandText, IDataParameter[] commandParameters) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 795\r\n 在 SiteServer.CMS.Provider.DatabaseDao.InsertRows(String tableName, String columnNames, List
1 valuesList, List1 parameterList) 位置 C:\\projects\\cms\\SiteServer.CMS\\Provider\\DatabaseDao.cs:行号 1746\r\n 在 SiteServer.CMS.Provider.DatabaseDao.InsertMultiple(String tableName, IEnumerable
1 items, List1 tableColumns) 位置 C:\\projects\\cms\\SiteServer.CMS\\Provider\\DatabaseDao.cs:行号 1728\r\n 在 SiteServer.Cli.Commands.RestoreManager.Execute(String[] args)"}
{"dateTime":"2018-05-29 08:33:25","detail":"tableName siteserver_ContentCheck, fileName 2.json","message":"违反了 PRIMARY KEY 约束 'PK_siteserver_ContentCheck_Id'。不能在对象 'dbo.siteserver_ContentCheck' 中插入重复键。\r\n语句已终止。","stackTrace":" 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction)\r\n 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)\r\n 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)\r\n 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)\r\n 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource
1 completion, Int32 timeout, Task& task, Boolean asyncWrite)\r\n 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)\r\n 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(IDbCommand command) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 738\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(IDbConnection connection, String commandText, IDataParameter[] commandParameters) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 954\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(String connectionString, String commandText, IDataParameter[] commandParameters) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 795\r\n 在 SiteServer.CMS.Provider.DatabaseDao.InsertRows(String tableName, String columnNames, List
1 valuesList, List1 parameterList) 位置 C:\\projects\\cms\\SiteServer.CMS\\Provider\\DatabaseDao.cs:行号 1746\r\n 在 SiteServer.CMS.Provider.DatabaseDao.InsertMultiple(String tableName, IEnumerable
1 items, List1 tableColumns) 位置 C:\\projects\\cms\\SiteServer.CMS\\Provider\\DatabaseDao.cs:行号 1720\r\n 在 SiteServer.Cli.Commands.RestoreManager.Execute(String[] args)"}
{"dateTime":"2018-05-29 08:38:03","detail":"tableName siteserver_Tracking, fileName 591.json","message":"违反了 PRIMARY KEY 约束 'PK_siteserver_Tracking_trackingid'。不能在对象 'dbo.siteserver_Tracking' 中插入重复键。\r\n语句已终止。","stackTrace":" 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction)\r\n 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)\r\n 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)\r\n 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)\r\n 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource
1 completion, Int32 timeout, Task& task, Boolean asyncWrite)\r\n 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)\r\n 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(IDbCommand command) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 738\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(IDbConnection connection, String commandText, IDataParameter[] commandParameters) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 954\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(String connectionString, String commandText, IDataParameter[] commandParameters) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 795\r\n 在 SiteServer.CMS.Provider.DatabaseDao.InsertRows(String tableName, String columnNames, List
1 valuesList, List1 parameterList) 位置 C:\\projects\\cms\\SiteServer.CMS\\Provider\\DatabaseDao.cs:行号 1746\r\n 在 SiteServer.CMS.Provider.DatabaseDao.InsertMultiple(String tableName, IEnumerable
1 items, List1 tableColumns) 位置 C:\\projects\\cms\\SiteServer.CMS\\Provider\\DatabaseDao.cs:行号 1720\r\n 在 SiteServer.Cli.Commands.RestoreManager.Execute(String[] args)"}
{"dateTime":"2018-05-29 08:35:16","detail":"tableName model_news, fileName 2.json","message":"违反了 PRIMARY KEY 约束 'PK_modelnews_id'。不能在对象 'dbo.model_news' 中插入重复键。\r\n语句已终止。","stackTrace":" 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction)\r\n 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)\r\n 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)\r\n 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)\r\n 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource
1 completion, Int32 timeout, Task& task, Boolean asyncWrite)\r\n 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)\r\n 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(IDbCommand command) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 738\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(IDbConnection connection, String commandText, IDataParameter[] commandParameters) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 954\r\n 在 SiteServer.CMS.Data.DbHelper.ExecuteNonQuery(String connectionString, String commandText, IDataParameter[] commandParameters) 位置 C:\\projects\\cms\\SiteServer.CMS\\Data\\DbHelper.cs:行号 795\r\n 在 SiteServer.CMS.Provider.DatabaseDao.InsertRows(String tableName, String columnNames, List
1 valuesList, List1 parameterList) 位置 C:\\projects\\cms\\SiteServer.CMS\\Provider\\DatabaseDao.cs:行号 1746\r\n 在 SiteServer.CMS.Provider.DatabaseDao.InsertMultiple(String tableName, IEnumerable
1 items, List1 tableColumns) 位置 C:\\projects\\cms\\SiteServer.CMS\\Provider\\DatabaseDao.cs:行号 1720\r\n 在 SiteServer.Cli.Commands.RestoreManager.Execute(String[] args)"}
因为数据量比较大,而且部分内容的id可能有重复,特别是siteserver_AdministratorsInRoles这个,以前的id都是null,所以里面有重复。
另外无论出了什么错误,无论什么提示,最终 siteserver_ContentCheck 和其他超出500条的都只保留了500条
sqlserver 2008是有问题,我们正在修复,建议用sqlserver 2012版本,这个我们测试没有问题
安装了sqlserver2012 升级仍然出现这个问题,只能恢复500条数据
可以把备份文件压缩一下发给我们,我们测试看看什么问题导致的,support@siteserver.cn
已经发送
好的,我们查一下
好几个站点,有一些站点内容比较多,单独用的辅助表,最多的一个4008行,但是使用命令行升级之后,恢复到数据库中,最多也才500行,丢失了不少东西。
到底是命令行的限制还是运行时间的问题,或者是其他问题,建议官方检查一下