小编Aar*_*and的帖子

找不到存储过程

我创建了一个用游标重建索引的过程。我没有正确执行,而是收到一条错误消息:

消息 2812,级别 16,状态 62
找不​​到存储过程

该怎么做才能摆脱这种情况呢?

USE [ACT]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
ALTER PROCEDURE [dbo].[myProcedure]
AS
BEGIN

DECLARE @idx_name VARCHAR(200) -- Index name  
DECLARE @tableName VARCHAR(256) -- Table Name
DECLARE @sql varchar(500) 

DECLARE Index_Rebuild_Cursor CURSOR FOR  
SELECT OBJECT_NAME(ps.OBJECT_ID)tbl_name,b.name idx_name
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS ps
INNER JOIN sys.indexes AS b ON ps.OBJECT_ID = b.OBJECT_ID
AND ps.index_id = b.index_id 
WHERE ps.avg_fragmentation_in_percent>80

OPEN Index_Rebuild_Cursor   
FETCH NEXT FROM Index_Rebuild_Cursor INTO @tableName,@idx_name

WHILE @@FETCH_STATUS = …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005

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

在事务进行时收缩事务日志

我有几个 GB 的导入到我的 SQL Server 2005(标准版)数据库中。

导入分为 4 个部分,每个部分在自己的事务中。

您可以猜到,事务日志文件非常大。我磁盘上的空间也有限,但应该适合数据。导入时,磁盘上的可用空间约为 2 GB。

在我的交易正在进行时缩小文件是否有效?也会有影响吗?

sql-server-2005 sql-server shrink transaction transaction-log

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

在我不知情的情况下更改了列的序数位置

我有一个乱序的列(通常,不是在 select 语句方面),我只是不知道它是如何变成那样的。

我一直在研究这个很长一段时间,结果是空的。我也无法在测试中重现它。

我已经通知开发人员,他们不允许运行未明确命名列的查询,正是出于这个原因。

然而,与此同时,我不知道我们是如何走到这种地步的,这让我很抓狂。

sql-server

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

在 SSMS 中看不到 SQL Server 代理

我的笔记本电脑上安装了 SSMS 2012,主机上安装了 SQL Server 2012,但是当我尝试安排 sql 作业时,我没有在左侧列表中找到“SQL Server 代理”!!?

sql-server ssms sql-server-2012 sql-server-agent

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

简单地插入到临时表并失败

谁能告诉我为什么这对我不起作用?

CREATE TABLE #UndistributedCmds
(
pendingcmdcount int,
estimatedprocesstime INT
)
INSERT INTO #UndistributedCmds

EXEC sp_replmonitorsubscriptionpendingcmds ...
Run Code Online (Sandbox Code Playgroud)

错误:

消息 8164,级别 16,状态 1,过程 sp_replmonitorsubscriptionpendingcmds,第 152 行
INSERT EXEC 语句不能嵌套。

该错误似乎暗示存储过程定义的第 152 行是问题所在,但我无法理解这一点。这是因为存储过程本身有多个存储过程吗?

sql-server stored-procedures t-sql temporary-tables

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

复制在请求之间花费太多时间

我们在 SQL Server 2014 中使用事务复制,有一个主(发布者)、1 个分发者(专用服务器)和 3 个从(订阅者)。

所有的写入都是对 master 进行的,而读取是从 3 个订阅者之一完成的。

我的问题是,如果您进行了插入/更新/删除操作,并且页面正在刷新,则更新尚不存在。在订阅者更新之前有 1-4 秒的延迟,这会使用户感到困惑,因为该行已插入/删除/更新,但尚未反映在订阅者上...

我们正在考虑进行点对点复制,但这似乎是 IDENTITY 的开销,它可以返回写入一个,但复制也需要太多时间......

我们可以/应该做什么?

replication sql-server transactional-replication

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

在什么情况下我更有可能从异步自动更新统计信息中受益?

我每周使用Ola Hallengren 的解决方案更新统计数据。

根据下面的文章,我正在考虑启用 Auto Stats Async 并打开跟踪标志 2371。

具有大表的数据库应使用自动更新统计数据异步功能

现在,我的数据库的 async 选项为 false:

在此处输入图片说明

此外,来自SQL Server 2008 及更高版本的重要修补程序

此设置允许异步自动更新统计信息,同时您当前运行的查询继续使用旧统计信息,直到更新的统计信息可供使用,从而降低不可预测的查询性能。对此的替代方案(这是默认设置)是暂停查询执行(仅适用于使用该对象统计信息的查询),同时为该对象自动同步更新统计信息。根据对象的大小以及硬件和 I/O 子系统,这可能需要几秒钟到几分钟的时间。

题:

在测试环境中,在将 Auto Update Stats Async 设置为 ON 之前/之后,可以进行哪些好的简单测试?

在什么情况下我更有可能从异步自动更新统计信息中受益?

数据库 500GB+,大表。

sql-server optimization statistics sql-server-2014

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

具有可用性组的 tempdb 的任何不同指南?

我在两节点 Windows Server 故障转移群集上运行的 SQL Server 2014 上设置了一个可用性组。设置由两个独立实例 + 同步自动故障转移组成。

我读过的许多 Microsoft 文章都提倡为 TempDB 使用多个文件来提高性能。似乎他们建议使用 8 个文件。

在这种配置的情况下,我应该这样做吗?它会提高性能吗?

sql-server tempdb availability-groups sql-server-2014

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

在 DROP/Add 列语句中更改 Key (PK, FK) 属性

我想通过添加一列来更改表格。到目前为止,这里没什么可看的,但我想让这个列成为复合键的一部分,即,我现在有一个布局

table_name( Field_1  datatype PK, Field_2 datatype,....) 
Run Code Online (Sandbox Code Playgroud)

并且我希望插入的列,比如 Field_k 与现有的单字段 PK 一起成为 PK 的一部分。

我还没有找到有关如何执行此操作或是否可行的任何来源。请问有什么建议吗?

foreign-key database-design sql-server alter-table ddl

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

不精确的查询带来不同的结果

我从 Excel 粘贴了一个公式并粘贴到 SQL Server Management Studio。

一旦我执行它,我得到一个意想不到的结果:

SELECT (((10320238-2092189)/2092189)*100.0)/4.0 --returns 75.000000
Run Code Online (Sandbox Code Playgroud)

但是在对查询中的每个值添加精度后,它返回正确的结果:

SELECT (((10320238.0-2092189.0)/2092189.0)*100.0)/4.0 --returns 98.31866289250000
Run Code Online (Sandbox Code Playgroud)

为什么第一个查询不会带来 98% 的结果?的内部数据类型是10320238什么?是integer吗?

发动机是

Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64) 
    Oct 20 2015 15:36:27 
    Copyright (c) Microsoft Corporation
    Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql sql-server-2012

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