我有一个表,我想在其上创建索引以提高SELECT使用该表的几个查询的性能。
如何测试索引是否对表上的 DUI 操作产生了任何显着的不利影响?
该表是日志表,因此经常写入。在创建所需索引之前和之后针对该表运行特定INSERT或UPDATE查询是一种情况吗?
我有一个存储过程,它是供应商提供的系统的一部分。存储过程是加密的,所以我们看不到代码。
存储过程突然开始运行缓慢。
我想看看做的第一件事是看执行计划,试图找出是,然而,似乎问题出在哪里不是要显示该计划的方式(sp_Whoisactive就是NULL在query_plan场)
我也可能会尝试更新统计信息,但我无法查看存储过程使用的表。
查询的等待统计信息没有显示任何明显的信息
在没有未加密版本的情况下,是否真的可以对此查询进行任何类型的故障排除?
sql-server stored-procedures encryption troubleshooting sql-server-2014
所以我在 SQL2014 中创建了一个存储过程。开始时它有:开始交易
然后它插入一个表,它有一个自动递增的主键:插入到 tNotice。
然后在存储过程中,我需要针对 tNotice 表编写一个查询,以用于将另一个插入语句构建到不同的表中。我的问题是,是否会选择新插入的值,因为这将在事务中进行,并且直到存储过程结束才会提交?
我无法解决这个问题,如何让子查询为每个讲师返回最低的课程权重,它目前只返回最低的,我的子查询是错误的还是外部查询?
问题:显示每位讲师的最低课程作业权重,显示员工 ID、模块 ID 和所选的权重。
SELECT m1.ModuleID, m1.CWWeight, l.StaffID
FROM dbo.module as m1
INNER JOIN dbo.Lecturer as l
ON m1.ModuleConvenor = l.StaffID
WHERE m1.CWWeight = (SELECT MIN(m2.CWWeight)
FROM dbo.Module as m2)
Run Code Online (Sandbox Code Playgroud) 在内部,SQL Server 如何确定select(*)? 堆和聚集索引之间有区别吗?是否能够使用聚集索引做一些聪明的事情而不必加载整个表?
我正在尝试在这里设置一个测试环境以了解更多信息并将其应用于我们的生产环境。
我已经使用 CLuster 管理器创建并安装了 Windows 集群。现在,我将在两台计算机上安装 SQL Server Enterprise 2014,然后使用可用性组创建 HA。故障转移将是手动的。它们将在同步数据传输中。
我的问题是,我是否可以正常安装“独立安装或添加...”SQL Server,或者我需要使用“新的SQL Server故障转移群集安装”。
我在互联网上找不到任何关于此的信息。
我将在将在集群中配置的两个节点上安装 sql server。
我们有 4 个包含不同程序和功能的数据库。到目前为止,实际应用程序只能使用 sa 帐户访问数据库,现在我想将应用程序更改为使用 sa 帐户以外的其他帐户。为此,我需要创建一个新的 SQL 登录名并为该登录名分配某些权限。有没有类似脚本的方法来确定我需要为新创建的用户分配什么权限?
stored-procedures permissions role functions sql-server-2014
我正在开发一个 .Net 应用程序,它调用一个存储过程,该存储过程具有一个声明为 TYPE READONLY 的表值参数。
第一次尝试调用 SP 时,我收到了下一个错误:
消息 229,级别 14,状态 5,第 1 行
对象“TYPE_OBJ”、数据库“MY_DB”、架构“dbo”的 EXECUTE 权限被拒绝。
向用户授予 EXECUTE 权限后,它工作正常。
但是我在 MS-DOCS 中都找不到CREATE TYPE和使用表值参数中的任何对将其用作参数所需的权限的引用。
在哪里可以找到有关使用 TYPE 作为参数的必要权限的信息?
我有一个存储过程,它返回多个记录集以在应用程序中使用。有时,其中一些记录集是空的。
我想减少开销,只返回那些有 1 行或更多行的。
我的问题是 - 我怎样才能只返回那些有行的记录集?
应用程序只需要 0 个或更多记录集,并循环遍历每个记录集,然后将它们打印出来。
我知道我可以在应用程序代码中跳过它们,但我试图阻止它们被返回(如果为空)。
程序很简单:
CREATE PROCEDURE bfsp_PROC_NM
AS
BEGIN
SELECT * FROM TABLE_1
SELECT * FROM TABLE_2
SELECT * FROM TABLE_3
RETURN
END
GO
Run Code Online (Sandbox Code Playgroud)
在实际过程中,有些查询的开销很大,所以我不想测试查询,然后如果它返回一行或更多,再次执行它......因为它太昂贵了。
我们在SQL Server 2014中使用聚集列存储索引和分区。有些表有很多更新,我们发现某些分区有很多已删除的行。在我们的测试中,重建将表大小减少到三分之一并提高 10% 的性能。
除了检查sys.column_store_row_groupsdeleted_rows,是否还有其他的列存储索引碎片指标可以用来确定哪些分区/表应该重建?
sql-server clustered-index columnstore sql-server-2014 index-maintenance
sql-server-2014 ×10
sql-server ×8
index ×2
clustering ×1
columnstore ×1
encryption ×1
functions ×1
heap ×1
performance ×1
permissions ×1
role ×1
subquery ×1
t-sql ×1
transaction ×1