小编Sim*_*ran的帖子

SQLServerAgent 当前未运行,因此无法通知此操作

这是我第一次尝试使用 SQL 服务器代理。我收到此错误:

Msg 22022, Level 16, State 1, Line 0
SQLServerAgent is not currently running so it cannot be notified of this action.
Run Code Online (Sandbox Code Playgroud)

我去服务检查它是否正在运行。我试图启动它并立即得到了这个。然后服务当然停止了。: 错误

然后我尝试使用 SQL 服务器配置管理器:

在尝试在那里启动服务时, 在此处输入图片说明

当我尝试通过 SQL 服务器配置管理器更改登录帐户时:

在此处输入图片说明

如何启动此服务?

sql

4
推荐指数
2
解决办法
7896
查看次数

使用SQL中的select选择查询和插入

我有这样的选择查询:

select 
    SUM(Percentage) as SUM, 
    @cnt as Count, 
    (SUM(Percentage) / @cnt) as Percentage 
from 
    #Temp2 
group By 
    RowNumber 
order by 
    Percentage desc
Run Code Online (Sandbox Code Playgroud)

Percentage 上面的查询列看起来像这样:

在此输入图像描述

然后我在上面的查询下面有一个查询:

Update dbo.ResultsStored 
set FinalSearchSeral = @searchNumber, 
    ModifiedAt = getDate(), 
    PercentMatch = t.Perc 
from 
    (select (SUM(Percentage) / @cnt) as Perc 
     from #Temp2 
     GROUP BY RowNumber) t  
where 
    HashedKey = HASHBYTES('MD5', @StringConcat)

select * 
from dbo.ResultsStored 
order by PercentMatch desc
Run Code Online (Sandbox Code Playgroud)

注意:where这里的子句不是问题,因为我打算仅使用匹配的哈希码代码更新行.

select语句的结果令我感到困惑.

上面的select语句导致Percentage列包含以下结果:

在此输入图像描述

我不明白为什么用上述查询计算的百分比不同?

但是,第一个查询结果正确,第二个查询出错.

sql sql-server

2
推荐指数
1
解决办法
77
查看次数

T - SQL中的并行处理

我有一个存储过程,一个接一个地调用35 Inline table valued functions(TVF).

所有这些内联TVF都返回了dbo.Match函数的计算结果表.

这里的问题是,尽管所有适当的索引都已到位,但只有当前一个内联TVF完成其结果时才会调用下一个内联TVF.我想要一种并行执行这些的方法,以便不必等待其他人完成,可以将它们转换为程序或任何其他适合性能和并行处理的信封吗?

由于dbo.Match功能是共同所有,并基于来自声明内联TVF传递的参数结果,我相信,如果有一个概念,将同步threadssql.那么,是否有任何可用的工作来解决这些问题以减少执行时间?

我附上了一些代码,以便对我所说的内容有一个很好的了解:

      if @firstname is not null
      begin
      SELECT @constVal = FunctionWeight 
     FROM   dbo.FunctionWeights WHERE  FunctionWeights.FunctionId = 1;
      INSERT INTO #Temp2  
     (RowNumber,ValFromUser,ColumnName,ValFromFunc,FuncWeight,percentage) 
     SELECT RowNumber,@firstname,'firstname',PercentMatch,@constVal,PercentMatch * @constVal     FROM   dbo.MatchFirstName(@firstname, @checkbool)
    END 



if @Middlename is not null
  BEGIN
      SELECT @constVal = FunctionWeight FROM   dbo.FunctionWeights
 WHERE  FunctionWeights.FunctionId = 2;
  INSERT INTO #Temp2 (RowNumber,ValFromUser,ColumnName,ValFromFunc,FuncWeight,percentage)
      SELECT RowNumber, @MiddleName,'Middlename',PercentMatch, @constVal,PercentMatch * @constVal 
      FROM   dbo.MatchMiddleName(@MiddleName, @checkbool)
END 
Run Code Online (Sandbox Code Playgroud)

sql-server

1
推荐指数
1
解决办法
181
查看次数

TSQL中变量的值为LEN

@ColumnnName在T-SQL 用户定义函数中有一个变量,它基本上包含列Name.

例如 :

declare @ColumnnName= 'firstName'
Run Code Online (Sandbox Code Playgroud)

这意味着我的表中有一个名为Column的列,firstName并且此列名存储在名为的变量中@ColumnnName.

我有这样的查询:

Insert into @Temp([Row], VarLength) select  Rowid, LEN(@ColumnnName) from Patients
 where 
/ 
*rest of code 
*/
Run Code Online (Sandbox Code Playgroud)

在上面的查询中,LEN(@ColumnnName)将返回9firstName的长度而不是firstName列中包含的值.

如何获取包含firstName列的值的长度,而不是字符串firstName本身的长度.

编辑:

完整查询是这样的:

Insert into @Temp([Row], Counts, VarLength) select  Rowid, @counter, LEN(@ColumnnName) from Patients where 
(case when @ColumnnName = 'firstname' then firstname 
            when @ColumnnName = 'middlename' then middlename 
            when @ColumnnName = 'lastname' then lastname 
            when @ColumnnName = 'State' then [State] 
            when @ColumnnName = 'City' …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server ssms

0
推荐指数
1
解决办法
184
查看次数

标签 统计

sql ×3

sql-server ×3

ssms ×1

t-sql ×1