进程无法向表“"dbo"."XXX"”进行大容量复制,元数据查询失败,对于造型说明无效的字符值

本文解决了MSSQL中进程无法向表进行大容量复制的问题,指出订阅数据库必须使用发布数据库的备份先还原,直接创建新数据库或仅通过脚本创建表结构都无法解决问题。
进程无法向表“"dbo"."XXX"”进行大容量复制。 (源: MSSQL_REPL,错误号: MSSQL_REPL20037)
获取帮助: http://help/MSSQL_REPL20037 


元数据查询失败
对于造型说明无效的字符值 (源: MSSQLServer,错误号: 22018)
获取帮助: http://help/22018 


未指定的错误


原因是:

订阅数据库那里没有还原,是新创建的空数据库

解决方法:

订阅数据库必须用发布数据库的备份先还原,

直接创建新数据库不行,用脚本创建表结构也不行

SELECT * FROM ( SELECT row_number ( ) OVER ( partition BY quot.QuotationId, node.InstanceGuid, node.InstanceNodeName, node.TransactUser ORDER BY node.CreateDate DESC ) AS rownum /* 排序并分组*/ , NEWID( ) AS Guid, quot.AutoGuid, quot.QuotationId, quot.QuotationName, quot.Creator, quot.CreateDate, quot.Saler, quot.UpdateTime, quot.UpdateUser AS UpdateUserName, quot.Address, quot.DistId, quot.SolutionId, quot.ProjectId, quot.InstanceId AS InstanceGuid, quot.Version, quot.UnStandStatus, quot.AgentName, quot.AgentId, instance.Status AS InstanceStatus, instance.CreateDate AS InstanceCreateDate, instance.ComplateDate AS InstanceComplateDate, node.InstanceNodeGuid, node.InstanceNodeName, node.Status AS InstanceNodeStatus, node.TransactUser, CASE WHEN node.Status IS NULL THEN '新建' WHEN node.Status = 'Wait' THEN '待办理' ELSE '完成' END AS InstanceNodeStatusCN, CASE WHEN node.Status IS NULL THEN 0 WHEN node.Status = 'Wait' THEN 1 ELSE 2 END AS InstanceNodeStatusSort, node.CreateDate AS InstanceNodeCreateDate, node.SubmitResult, node.SubmitUser, node.ComplateDate AS InstanceNodeComplateDate, node.PrevUser, node.Remark, quot.IsFormal, quot.TaskStatus, dbo.Project.ProjectName, dbo.Customer.QC, dbo.Project.CustomName, dbo.BaseOrganization.OrgName, b1.UserName AS TUserName, b2.UserName AS CUserName, dbo.Project.Manager, managerUser.UserName AS ManagerCN, quot.IsBid, Project.BiddingStatus, Project.UseType FROM dbo.Quotation AS quot INNER JOIN dbo.Project ON quot.ProjectId = dbo.Project.ProjectId INNER JOIN dbo.BaseOrganization ON dbo.Project.OrgId = dbo.BaseOrganization.OrgId LEFT OUTER JOIN dbo.Customer ON dbo.Project.CustomName = dbo.Customer.KHID LEFT OUTER JOIN dbo.BaseInstance AS instance ON quot.InstanceId = instance.InstanceGuid LEFT OUTER JOIN dbo.BaseInstanceNode AS node ON quot.InstanceId = node.InstanceGuid LEFT OUTER JOIN dbo.BaseUser AS managerUser ON Project.Manager = managerUser.UserId LEFT OUTER JOIN dbo.BaseUser AS b1 ON node.TransactUser = b1.UserId LEFT OUTER JOIN dbo.BaseUser AS b3 ON quot.UpdateUser = b3.UserId LEFT OUTER JOIN dbo.BaseUser AS b2 ON quot.Creator = b2.UserId AND node.InstanceNodeName NOT IN ( '启动' ) ) AS T WHERE T.rownum = 1帮我优化这段sql语句的查询速度
最新发布
03-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值