小编A_V*_*A_V的帖子

管理工作室的任务卡住了,你是怎么处理的?

在管理工作室中单击“使数据库脱机”后,如果单击关闭,此消息将保持挂起并且不会关闭。

https://i.imgur.com/KD6AROv.png

在管理工作室处理此类卡住工作的好方法是什么?你能通过活动监视器杀死他们吗?我应该寻求什么过程阻止这项工作通过并终止它?

sql-server ssms

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

索引上的高 IO,是否有更高性能的解决方案?

我有这个查询,它过去需要几分钟才能运行,现在需要 6 秒,但它每天运行数千次,所以我想让它更快。

https://www.brentozar.com/pastetheplan/?id=SJMLjJOWm

似乎在此查询期间超过 99% 的 I/O 发生在一次聚集索引扫描上。

这正常吗?这个查询足以证明为它添加任何额外的索引是合理的,所以我想知道我是否在这里遗漏了一些明显的东西。

dbo.GROUP_CONCAT 函数来自这个 github 组装项目 https://github.com/orlando-colamatteo/ms-sql-server-group-concat-sqlclr

SpecsProd 表定义:

CREATE TABLE [dbo].[SpecsProd](
    [ID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    [specsID_1] [int] NULL,
    [specsID_2] [int] NULL,
    [specID] [int] NOT NULL,
    [productID] [int] NOT NULL,
    [SpecValue_1] [varchar](1000) NULL,
    [SpecValue_2] [varchar](1000) NULL,
    [Flock] [bit] NULL,
    [SpecValue_1a] [varchar](2000) NULL,
    [SpecValue_2a] [varchar](2000) NULL,
 CONSTRAINT [PK_SpecsProd] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql execution-plan sql-server-2016

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

SQL Server - 无法删除空闲作业

目前,我正在将服务器从一家公司转移到另一家公司。

他们希望将 SQL Server 安装在服务器上,以便我们清除所有数据库、维护计划和作业。

我正在尝试删除一堆 SQL Server 代理作业,但即使它们被禁用,它们仍处于“空闲”模式,因此在尝试删除它们时会引发以下错误:

删除 Job 失败job_name.Subplan_1。( Microsoft.SqlServer.Smo)

执行 Transact-SQL 语句或批处理时发生异常。( Microsoft.SqlServer.ConnectionInfo)

DELETE语句与REFERENCE约束冲突FK_subplan_job_id。数据库“msdb”、表dbo.sysmaintplan_subplans、列中发生冲突job_id

该语句已终止。(Microsoft SQL Server,错误:547)

如何从作业中删除 IDLE 状态以便删除通过?

sql-server-2005 sql-server sql-server-agent

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

修复 SQL Server 2008R2 时缺少 .msi 文件会出错

我已经安装了 SQL Server 2008R2 SP1 数据库,我正在尝试使用 2008R2 安装二进制文件对其进行修复。

在修复加载过程中,窗口突然关闭并给我这个错误信息,有谁知道该怎么办?到目前为止,我的搜索技巧让我一个人呆着。

http://i.stack.imgur.com/KVtM6.png

sql-server sql-server-2008-r2

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

Sql Server - 从聚合构建整数的 json 数组

我想使用聚合来构建一个简单的单维标量值 JSON 数组,如下面示例中的 LuckyNumbers 数组:

[{
    "id": 1,
    "name": "Josian",
    "LuckyNumbers": [581, 777]
}, {
    "id": 2,
    "name": "Paul",
    "LuckyNumbers": [123551, 5, 646464, 1345, 75, 76]
}, {
    "id": 3,
    "name": "Seasonique",
    "LuckyNumbers": [1]
}]
Run Code Online (Sandbox Code Playgroud)

使用 Postgresql 12,您可以使用本机聚合函数(fiddle)来完成此操作

--Postgresql 12 schema
create table person (   Id int primary key,   name varchar(20) ); 
insert into person values (1,'Josian'), (2,'Paul'), (3,'Seasonique');  
create table LuckyNumbers (PersonId int references person(Id), LuckyNumber int);
insert into LuckyNumbers (PersonId, LuckyNumber) values (1,581), (1,777), (2,123551), (2,5), …
Run Code Online (Sandbox Code Playgroud)

sql-server json sql-server-2019

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

如何用退格键擦除sqlplus?

使用 SQL*PLUS,我无法在行命令期间使用退格按钮擦除内容。

当我按下退格键时,它不是擦除而是写 ^H

有没有办法配置退格键使其按预期工作?

oracle oracle-11g-r2 sqlplus

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

自动完成太慢:可能的优化吗?

我网站的自动完成搜索功能搜索包含销售商品型号的 varchar 字段。

该字段可以包含 1 到 75 个字符的字符串,并且该表包含 400 000 行。我提出了一个仅从字符串开头搜索的查询,执行时间大约为 150-250 毫秒,这是可以接受的,但现在我的经理希望查询搜索任何子字符串,这会使查询速度慢 3-10 倍(大约 1000-2000 毫秒)。

我构建了一个 JS 小提琴,为您提供数据的示例以及两个查询的示例。

http://sqlfiddle.com/#!6/9efa3/2/0

表上已经有一些索引了。加速这个自动完成搜索字段的最佳实践是什么?(数据库版本为SQLSERVER 2008R2)

这是我正在处理的数据的一个简短示例:

CREATE TABLE [Products](
    [productid] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    [model] [nvarchar](75) NOT NULL 
 CONSTRAINT [PK_Products] PRIMARY KEY CLUSTERED 
(
    [productid] ASC
));

insert into products values ('UMPX1AA0011 danish e-315 woot');
insert into products values ('P27y719VC');
insert into products values ('VG2y439m-LED');
insert into products values ('UMUyX165AAB01');
insert into products values ('U28y79VF');
insert into products values …
Run Code Online (Sandbox Code Playgroud)

performance sql-server sql-server-2008-r2 string-searching query-performance

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

删除字符串结尾的不可见空字符

由于未知原因,我的 VARCHAR(1000) 列之一中的许多字符串都以不可见字符结尾。

declare @BrokenString varbinary(max)=0x6D0079002000620075006700670065006400200073007400720069006E00670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F003F00;
select cast(@BrokenString as nvarchar(max)) -- returns 'my bugged string'
select cast(@BrokenString as nvarchar(max)) + ' is bugged' -- still returns 'my bugged string' !

declare @BrokenStringTable table (Brokey nvarchar(max));
insert into @BrokenStringTable
select cast(@BrokenString as nvarchar(max));
select * from @BrokenStringTable for json auto;
Run Code Online (Sandbox Code Playgroud)

select * from @BrokenStringTable for json auto;语句的输出如下所示:

[{"Brokey":"my bugged string\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000??"}]
Run Code Online (Sandbox Code Playgroud)

如何检测表中哪些记录包含这些字符?似乎使用 charindex、where+like 和任何其他正常解决方案都不适用于这些。

sql-server varchar sql-server-2016

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

达到文件大小限制时会发生什么?

我有一个 SQL Server 2008 R2 标准版数据库,我已为其配置了ROWS(.mdf) 数据库文件自动增长功能ON,并将最大大小设置为 10GB。

一段时间后,我收到一条警报,提示我的tempdb日志已填满驱动器。我认为我的数据库大小被限制在 9990MB 左右,无法进一步扩展。

这两件事可能有关联吗?无法扩展的数据库是否会将其事务存储在tempdb中?

当数据库ROWS文件已满并且有人不断向其中添加数据时会发生什么?

数据来自SQL Server性能数据监控:

截屏

sql-server sql-server-2008-r2 disk-space

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

简单恢复数据库以节省空间

这个旧的 SQL Server 2000 实例有一个 14 Gb 的数据磁盘和一个 30 Gb 的备份磁盘。

即使它很旧,它仍然有大量用户进行交易,因此该服务器上唯一数据库的日志文件每天都会填满数据驱动器。

我想我会把它放在简单的恢复中并刷新事务日志,但我想知道它会产生什么影响。

如果没有 T-log,您就不能使用备份恢复到完整备份时间以外的任何其他时间点,对吗?在对数据库进行此类更改时,除此之外我应该注意哪些最重要的影响?当我不生成 t-log 时,除了丢失一天的数据(每天备份到磁带)之外,还有什么可能发生?

提前致谢

sql-server sql-server-2000 recovery-model

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