标签: sql-server

找不到差异备份大小减小的原因

Sql备份作业总结:

嗨,我有一个备份工作,需要每月的第一天进行完整备份,并在每天上午 9 点到下午 5 点之间每 2 小时进行一次差异备份。

问题: 在测试灾难恢复计划时,我发现在几次差异备份后差异备份的大小减少了,当我包含缩小的差异备份(红色方块)时,我收到此错误:在此处输入图片说明 恢复中 在此处输入图片说明

知道为什么差异备份的大小会减少吗?以及如何恢复此差异备份?

请帮助并提前感谢您阅读和回答这个问题。

更新 如前所述,工作是从月初开始进行完整备份,差异备份的差异备份大小增加到位置 91 之间没有完整备份但是,正如您在图像中看到的那样,在位置 92 之前没有进行完整备份。

sql-server backup sql-server-2008-r2

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

是否可以从备份中部分恢复数据?

抱歉,如果我没有使用正确的术语,我不是 DBA,但现在,我就在这里!

情况是上周,一个数据库服务器运行不正常(大约有 6 年历史)。托管公司构建了一个新服务器,并将所有当前数据转移到运行良好的新服务器上。

然而,不知何故,新服务器丢失了 36 小时的数据。托管公司为我们提供了包含这些数据的备份等。

由于某些表具有自动生成的键(类型integer),是否有任何方法可以将日期范围中的一组数据恢复到我的实时数据库中?我显然不能只是剪切和粘贴,因为所有数据的完整性都将丢失。

想法?

Windows Server 和 Microsoft SQL Server 2008。

sql-server sql-server-2008-r2 restore

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

我是 MS SQL DB 开发人员,希望在服务器上获得更多权限

所以我正在尝试使用 Visual Studio,但无法将 DEV 数据库导入到项目中。我每周都会遇到这个问题几次,因为我要么创建 SSIS 包,要么从头开始构建数据库,或者创建需要我访问多个数据库、创建作业计划的 SSAS 模型......

我当前的错误是我无法在 Visual Studio 中对 DEV 数据库进行逆向工程,因为我没有视图定义。这可能是我遇到的更常见的问题之一。当我试图查看执行计划时,我遇到了同样的错误。

因此,基于这篇文章http://sqlmag.com/database-security/security-options-developers-devsandbox-environments 我想知道对架构的授予控制是否将涵盖我需要的一切。

出现的另一个问题是我无法查询数据库以查看谁可能锁定了我的查询。运行 SP_who2 只会告诉我我在做什么。不得不提交票证并等待 DBA 找出问题,这非常令人沮丧。我需要什么权利才能运行 SP_WHO2 或运行查询以查看系统中发生了什么。

当出现问题时,我是否应该无法杀死我自己的 SPID?SSMS 中的停止按钮并不总是有效。

我还想运行 Brent Ozar 的 spBlitz 工具,以便我可以调整我自己的查询。这应该不是开发人员的任务。我想知道我是否创建了一个索引,它是否曾经被命中以及多久被命中。或者我应该在另一个覆盖索引中包含一个我需要的列。

想法?作为一名数据库开发人员,Grant Control 会为我提供我需要的一切,不要与报告编写者或为应用程序编写基本过程的人混淆。

sql-server access-control

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

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

我正在探索使用 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
查看次数