标签: sql-server

分区切换 - 如果登台必须与目标表相同有什么好处

我正在探索使用 SSIS 将大型数据集加载到目标表中。我遇到了“分区切换”作为将数据更快地加载到目标表的方法之一。

但是由于临时表必须与目标表分区具有几乎相同的配置才能进行分区切换,那么这里真正的好处是什么?

我担心的是在清理/转换后加载数据。如果临时表与目标分区完全相同,则两者的加载时间应该相同。还是将数据加载到巨大的分区聚集索引表中比加载到完全相同的空未分区聚集索引表中需要更多时间?

我们仍然需要填满临时表(它与目的地几乎相同),它需要与直接在目的地分区中加载数据相同的时间,对吧?为什么不直接加载到目的地呢?

就在这里加载数据的时间而言,真正的好处是什么?

sql-server partitioning

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

我可以即时编辑 SQL Server 收到的批次吗?

我支持使用 SQL Server 2016 后端的第三方应用程序。我们没有源代码访问权限,第三方支持响应缓慢。大多数情况下,我可以索引和魔术来摆脱它向数据库抛出的有时可怕的查询,但是在很多情况下,我几乎无能为力(在时间、金钱和存储的限制下) )。查询是错误的

有没有办法在行政上将应用程序提交的查询替换为其他查询?如果应用程序名称匹配,我正在想象对批处理执行的某种正则表达式匹配。

例子:

-- Submitted by application
update Table set IsBilled = 0 where ID = '{EFD5F13C-6123-4913-B530-8941FC71B969}'

-- What I want the query to be (to avoid spurious updates to Table)
-- (Table is large, and the application is submitting this query on every page view)
update Table set IsBilled = 0 where ID = '{EFD5F13C-6123-4913-B530-8941FC71B969}' and IsBilled = 1

-- Proposed regex
-- Match
update Table set IsBilled = 0 where ID …
Run Code Online (Sandbox Code Playgroud)

sql-server

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

截断表在 252M 行(170GB 数据)上需要多长时间?

我知道这里面有很多变量,我不是在寻找精确的分钟数:秒 :) 我已经阅读了许多资源,这些资源声明 aTRUNCATE使用的资源比 a 少得多DELETE,因此执行速度更快。但是没有提到数量级。由于 aTRUNCATE是 DDL(数据定义语言)操作而不是 DML(数据操作语言)操作,并且只有系统表是事务的一部分,因此我认为它不会花费很长时间。

任何有经验的人都可以使用接近这种大小的桌子来做这件事,可以提供一些见解吗?我们最多谈一分钟,最多一个小时,几天,几周?

sql-server-2005 sql-server truncate

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

在视图名称为变量的过程中查询视图

我的问题:我有一组视图,我想从中动态查询。我想将视图名称加载SELECT * from sys.all_views到游标中(让我们称之为view_cursor),然后在过程中执行以下操作:

-- loop starts
FETCH NEXT FROM view_cursor INTO @view_name;
SELECT * FROM @view_name;
-- fetch next
-- loop ends
Run Code Online (Sandbox Code Playgroud)

我已经在一个视图中尝试过这个,我将它作为参数传递给存储过程:

CREATE PROCEDURE [dbo].[query_Special_View](@view_name VARCHAR(100)) AS
DECLARE viewname VARCHAR(100);
DECLARE @counter INT = 0;
BEGIN

    PRINT @view_name
    EXECUTE('SELECT COUNT(Value) INTO' + @counter + 'FROM' + @view_name + '');

    PRINT @counter;
END
Run Code Online (Sandbox Code Playgroud)

然后,我想使用现有视图名称执行该过程:

EXEC    [dbo].[query_Special_View]
        @view_name = N'A_very_special_LOC_view' -- the view name as parameter
GO
Run Code Online (Sandbox Code Playgroud)

结果是:

消息 207,级别 16,状态 1,第 1 行 列名“值”无效。

但是,我尝试 …

sql-server stored-procedures ssms view sql-server-2016

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

这个 INSERT 语句会起作用吗?教科书上的勘误?

我正在参加 Microsoft 认证 70-461 的模拟测试,并想确认我所看到的是否是错误(这是来自 Microsoft Press 的官方书籍,第九次印刷。我在现有勘误表中没有看到这一点)。

题:

您正在向Hovercraft数据库添加表。您可以使用以下语句创建表:

  Create Table Hovercraft.Testing
  ( TestIdentifier uniqueidentifier
  DEFAULT NEWSEQUENTIALID() PRIMARY KEY,
  HullId tinyint NOT NULL,
  TestDate date NOT NULL,
  Registration nvarchar(8) NOT NULL,
  Notes nvarchar(max)
  )
Run Code Online (Sandbox Code Playgroud)

您可以使用以下哪个语句向该表中插入数据?(每个正确答案都提供一个完整的解决方案。选择两个。)

选择是:

  1. INSERT INTO Hovercraft.Testing (Notes, HullID, TestDate, Registration,) VALUES (N'Hovercraft requires maintenance.', 142, '20120715', N'AAA320')

  2. INSERT INTO Hovercraft.Testing (HullID, TestDate, Registration, Notes) VALUES (124, '20120722', N'AAA321', N'Hovercraft in good condition. Next service in six months' time')

  3. INSERT INTO Hovercraft.Testing (HullID, TestDate, Registration, …

sql-server errors

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

Linux SQL Server 是否支持 xp_create_subdir

一些系统扩展程序在 2017 RC2 上工作

例如

exec xp_dirtree @directory = '/var', @depth = 1
Run Code Online (Sandbox Code Playgroud)

正确返回 /var 中包含的目录

然而:

exec xp_create_subdir '/foo'
Run Code Online (Sandbox Code Playgroud)

退货

Msg 22048, Level 15, State 0, Line 18
Error executing extended stored procedure: Invalid Parameter
Run Code Online (Sandbox Code Playgroud)

是否支持该过程,如果支持,参数的语法是什么?

在 Ubuntu 上测试运行,在 MacOS 上的 Docker 容器内。

select @@VERSION
Microsoft SQL Server 2017 (RC2) - 14.0.900.75 (X64)   Jul 27 2017 08:53:49   Copyright (C) 2017 Microsoft Corporation  Developer Edition (64-bit) on Linux (Ubuntu 16.04.2 LTS)
Run Code Online (Sandbox Code Playgroud)

sql-server linux

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

SQL Server:超过 8KB 的行:文档在哪里?

我需要正确了解在 SQL Server 2016 标准版中是否以及如何获得每行 10KB 或 20KB。

我正在阅读 SQL Server 技术规范:

https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server#Engine

特别是“每行字节数

它指的是 BOL 中的某些内容,我找不到。

SQL Server 联机丛书中的“行溢出数据超过 8 KB ”主题部分在哪里。?

sql-server sql-server-2016

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

如何调查“积极索引”

在我的数据库上运行 sp_BlitzIndex 后,我发现了许多“主动索引”(https://www.brentozar.com/blitzindex/sp_blitzindex-aggressive-indexes/)。不仅如此,我还发现“积极索引”的数量正在缓慢增加。

我是一名涉足 DBA 方面的开发人员,我不知道如何从 sp_BlitzIndex 提供的有关主动索引的信息改进它们。

我可以调整单个查询的性能,但是我不知道如何找出索引变得激进时可能发生的查询,并且我假设发生锁定是因为服务器负载不足 - 这不会如果我调整单个查询,情况并非如此。

任何有关如何进一步调查的提示将不胜感激。

performance sql-server sp-blitzindex performance-tuning

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

SQL Server 2016 作业永远运行

我在 SQL 2016 上创建了一个 SQL Server 作业。这是一个从我们的备份实用程序 DDBoost 运行完整备份的作业。当我执行作业时,所有数据库的备份将在 5 分钟内完成。但是,该作业将永远运行。有任何想法吗?

USE [master]
GO
DECLARE @returnCode int
EXEC   @returnCode = dbo.emc_run_backup 
' -c <FullyQualifiedName> -k -S 4 -l full -y +90d 
-a "NSR_DFA_SI=TRUE" -a "NSR_DFA_SI_USE_DD=TRUE" 
-a "NSR_DFA_SI_DD_HOST=adc-dd-02" -a "NSR_DFA_SI_DD_USER=ddboost" 
-a "NSR_DFA_SI_DEVICE_PATH=/sql-prod" 
-a "NSR_DFA_SI_DD_LOCKBOX_PATH=D:\Program Files\EMC DD Boost Modules\DDBMA\config"
-a "NSR_SKIP_NON_BACKUPABLE_STATE_DB=TRUE" 
-a "SKIP_BACKUP_PROMOTION=FALSE" "MSSQL$PRSQL01:"'

IF @returnCode <> 0
BEGIN
    RAISERROR ('Fail!', 16, 1)
END
Run Code Online (Sandbox Code Playgroud)

sql-server jobs

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

Ola Hallengren DatabaseBackup 在定位 Windows 目录时出错

需要帮助解决使用Ola Hallengren 的存储过程将数据库备份到共享文件夹的问题。

我有一个在 SQL Server 启动时执行的过程。它运行Ola HallengrenDatabaseBackup程序。SQL Server 服务在NT Service.

该共享对运行 SQL 的计算机具有权限。

现在,如果DatabaseBackup手动执行它会很好。当它在启动时自动执行时失败并出现以下错误:

Msg 50000, Level 16, State 1, Procedure DatabaseBackup, Line 786 [Batch Start Line 0] 目录 \\*** 不存在

如果我用Execute As DBO子句更改程序,它会失败并出现相同的错误。

我也试过AlterSP withExecute As Self子句 - 又是同样的错误。

所以问题是:

我该怎么做才能让它发挥作用?

  • 文件路径以 UNC 路径的形式提供(例如\\machine2\backup\
  • 这是 SQL Express,所以我无权访问 SQL 代理作业。
  • 因此,这是一个配置为在 SQL Server 实例启动时运行的存储过程,而不是设置为在 SQL 代理启动时运行的 SQL 作业。

security sql-server ola-hallengren

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