抱歉,如果我没有使用正确的术语,我不是 DBA,但现在,我就在这里!
情况是上周,一个数据库服务器运行不正常(大约有 6 年历史)。托管公司构建了一个新服务器,并将所有当前数据转移到运行良好的新服务器上。
然而,不知何故,新服务器丢失了 36 小时的数据。托管公司为我们提供了包含这些数据的备份等。
由于某些表具有自动生成的键(类型integer),是否有任何方法可以将日期范围中的一组数据恢复到我的实时数据库中?我显然不能只是剪切和粘贴,因为所有数据的完整性都将丢失。
想法?
Windows Server 和 Microsoft SQL Server 2008。
所以我正在尝试使用 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 会为我提供我需要的一切,不要与报告编写者或为应用程序编写基本过程的人混淆。
我正在探索使用 SSIS 将大型数据集加载到目标表中。我遇到了“分区切换”作为将数据更快地加载到目标表的方法之一。
但是由于临时表必须与目标表分区具有几乎相同的配置才能进行分区切换,那么这里真正的好处是什么?
我担心的是在清理/转换后加载数据。如果临时表与目标分区完全相同,则两者的加载时间应该相同。还是将数据加载到巨大的分区聚集索引表中比加载到完全相同的空未分区聚集索引表中需要更多时间?
我们仍然需要填满临时表(它与目的地几乎相同),它需要与直接在目的地分区中加载数据相同的时间,对吧?为什么不直接加载到目的地呢?
就在这里加载数据的时间而言,真正的好处是什么?
我支持使用 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) 我知道这里面有很多变量,我不是在寻找精确的分钟数:秒 :) 我已经阅读了许多资源,这些资源声明 aTRUNCATE使用的资源比 a 少得多DELETE,因此执行速度更快。但是没有提到数量级。由于 aTRUNCATE是 DDL(数据定义语言)操作而不是 DML(数据操作语言)操作,并且只有系统表是事务的一部分,因此我认为它不会花费很长时间。
任何有经验的人都可以使用接近这种大小的桌子来做这件事,可以提供一些见解吗?我们最多谈一分钟,最多一个小时,几天,几周?
我的问题:我有一组视图,我想从中动态查询。我想将视图名称加载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 行 列名“值”无效。
但是,我尝试 …
我正在参加 Microsoft 认证 70-461 的模拟测试,并想确认我所看到的是否是错误(这是来自 Microsoft Press 的官方书籍,第九次印刷。我在现有勘误表中没有看到这一点)。
题:
您正在向
Hovercraft数据库添加表。您可以使用以下语句创建表:Run Code Online (Sandbox Code Playgroud)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) )您可以使用以下哪个语句向该表中插入数据?(每个正确答案都提供一个完整的解决方案。选择两个。)
选择是:
INSERT INTO Hovercraft.Testing (Notes, HullID, TestDate, Registration,)
VALUES (N'Hovercraft requires maintenance.', 142, '20120715', N'AAA320')
INSERT INTO Hovercraft.Testing (HullID, TestDate, Registration, Notes)
VALUES (124, '20120722', N'AAA321', N'Hovercraft in good condition. Next service in six months' time')
INSERT INTO Hovercraft.Testing (HullID, TestDate, Registration, …
一些系统扩展程序在 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 2016 标准版中是否以及如何获得每行 10KB 或 20KB。
我正在阅读 SQL Server 技术规范:
特别是“每行字节数”
它指的是 BOL 中的某些内容,我找不到。
SQL Server 联机丛书中的“行溢出数据超过 8 KB ”主题部分在哪里。?
sql-server ×10
backup ×1
errors ×1
linux ×1
partitioning ×1
restore ×1
ssms ×1
truncate ×1
view ×1