[步骤]
系统监控发现本地服务6 大量并发 SQL 查询,改SQL 凭借 传入了 空字符 ,且字符串的前面拼入了N,系统将采用uncode 编码
5312
declare @p4 dbo.Tb_Ids insert into @p4 values(15884)insert into @p4 values(16331)declare @p5 dbo.Tb_StringIds insert into @p5 values(N'')exec sp_executesql N' select distinct o.ID,o.CustomerID,o.ClientOrderCode,o.OrderCode,o.OrderSourceID from dbo.RB_OrderInfo as o with(nolock) inner join @TB_OrderSourceIds tosci on o.OrderSourceID = tosci.Id inner join @TB_ClientOrderCodes oc on o.ClientOrderCode = oc.Id LEFT JOIN dbo.RB_Task_OrderProfit topi WITH(NOLOCK) ON o.OrderCode = topi.OrderCode AND topi.TaskType = 2 where o.CustomerID = @CustomerID and o.DownLoadUpdateTime<>''2000-01-01'' and topi.ID IS NULL ',N'@CustomerID int,@TB_OrderSourceIds [Tb_Ids] READONLY,@TB_ClientOrderCodes [Tb_StringIds] READONLY',@CustomerID=1,@TB_OrderSourceIds=@p4,@TB_ClientOrderCodes=@p5
declare @p4 dbo.Tb_Idsinsert into @p4 values(15522)insert into @p4 values(15523)insert into @p4 values(15528)insert into @p4 values(15537)insert into @p4 values(15538)insert into @p4 values(15539)insert into @p4 values(15541)insert into @p4 values(15548)insert into @p4 values(15568)insert into @p4 values(15584)insert into @p4 values(15585)insert into @p4 values(15588)insert into @p4 values(15592)insert into @p4 values(15606)insert into @p4 values(15617)insert into @p4 values(15619)insert into @p4 values(15622)insert into @p4 values(15627)insert into @p4 values(15656)insert into @p4 values(15657)insert into @p4 values(15662)insert into @p4 values(15670)insert into @p4 values(15671)insert into @p4 values(15672)insert into @p4 values(15673)insert into @p4 values(15675)insert into @p4 values(15697)insert into @p4 values(15698)insert into @p4 values(15715)insert into @p4 values(15729)insert into @p4 values(15745)insert into @p4 values(15746)insert into @p4 values(15747)insert into @p4 values(15748)insert into @p4 values(15775)insert into @p4 values(15778)insert into @p4 values(15883)insert into @p4 values(15884)insert into @p4 values(16231)insert into @p4 values(16331)insert into @p4 values(16332)insert into @p4 values(16344)insert into @p4 values(16549)insert into @p4 values(17847)insert into @p4 values(19357)insert into @p4 values(19673)insert into @p4 values(20269)declare @p5 dbo.Tb_StringIdsinsert into @p5 values(N'701-1855667-5333815')insert into @p5 values(N'249-4470368-8974247')insert into @p5 values(N'206-7708800-6677154')insert into @p5 values(N'701-7248842-5845062')insert into @p5 values(N'701-9613572-0837825')insert into @p5 values(N'503-7455990-7107819')insert into @p5 values(N'303-0794494-8860315')insert into @p5 values(N'112-0290743-8028247')insert into @p5 values(N'503-8480262-8506237')insert into @p5 values(N'249-1461117-8079042')insert into @p5 values(N'250-5029351-2119853')insert into @p5 values(N'250-6875905-7154229')insert into @p5 values(N'204-5664038-3277923')insert into @p5 values(N'028-3500313-5389107')insert into @p5 values(N'408-3993307-1264353')insert into @p5 values(N'111-0965043-9232227')insert into @p5 values(N'112-9405261-2334630')insert into @p5 values(N'303-1606523-8485969')insert into @p5 values(N'503-6313044-2165441')insert into @p5 values(N'249-6623397-0515059')insert into @p5 values(N'204-2818771-2891566')insert into @p5 values(N'205-4894728-7851550')insert into @p5 values(N'407-6414933-4189909')insert into @p5 values(N'250-7119044-2982234')insert into @p5 values(N'249-2454426-7115056')insert into @p5 values(N'503-3237049-4807009')insert into @p5 values(N'702-8375966-4415445')insert into @p5 values(N'702-6259691
-1949825')insert into @p5 values(N'701-2348146-0741000')insert into @p5 values(N'701-0338711-4226654')insert into @p5 values(N'701-4370839-5541041')insert into @p5 values(N'206-3748698-6065928')insert into @p5 values(N'114-9105330-6526651')insert into @p5 values(N'112-0913683-9455466')insert into @p5 values(N'702-3854819-5441837')insert into @p5 values(N'701-4302043-6877034')insert into @p5 values(N'250-0356311-2089409')insert into @p5 values(N'402-6475966-2051524')insert into @p5 values(N'114-1385674-2126649')insert into @p5 values(N'701-4595120-3809016')insert into @p5 values(N'405-5258618-6125146')insert into @p5 values(N'')insert into @p5 values(N'203-2970769-8945128')insert into @p5 values(N'305-5440288-0109154')insert into @p5 values(N'306-8367695-5022740')insert into @p5 values(N'405-0991801-4979509')insert into @p5 values(N'404-1198536-1759556')insert into @p5 values(N'249-8766373-4670212')insert into @p5 values(N'250-9691502-3839064')insert into @p5 values(N'503-8080406-2804615')insert into @p5 values(N'304-9548864-1340340')exec sp_executesql N' select distinct o.ID,o.CustomerID,o.ClientOrderCode,o.OrderCode,o.OrderSourceID from dbo.RB_OrderInfo as o with(nolock) inner join @TB_OrderSourceIds tosci on o.OrderSourceID = tosci.Id inner join @TB_ClientOrderCodes oc on o.ClientOrderCode = oc.Id LEFT JOIN dbo.RB_Task_OrderProfit topi WITH(NOLOCK) ON o.OrderCode = topi.OrderCode AND topi.TaskType = 2 where o.CustomerID = @CustomerID and o.DownLoadUpdateTime<>''2000-01-01'' and topi.ID IS NULL ',N'@CustomerID int,@TB_OrderSourceIds [Tb_Ids] READONLY,@TB_ClientOrderCodes [Tb_StringIds] READONLY',@CustomerID=1,@TB_OrderSourceIds=@p4,@TB_ClientOrderCodes=@p5

[结果]
[期望]
ClientOrderCode varchar no 100 no no no Chinese_PRC_CI_AS
去掉无效数据 如 整形的 0 字符串的 空白,去掉 字符编码处理