小编Mar*_*lli的帖子

启用扩展事件的成本是多少?

我一直在处理死锁,特别是获取他们的信息,正如你在这篇文章中看到的

在同一篇文章中,Shanky推荐了“您现在必须依靠扩展事件跟踪来捕获死锁信息

我的问题是:

1) 使用扩展事件是否会增加 CPU?

2) 它使用了多少内存、磁盘空间和 I/O?

任何相关文档的链接都将是奖励。

sql-server deadlock extended-events sql-server-2012

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

找出跟踪文件中的列

在处理每 10 分钟发生一次的意外 CPU 峰值时,我的一位同事准备了如下的服务器端跟踪:

-- Create a Queue
declare @rc int
declare @TraceID int
declare @maxfilesize bigint
declare @DateTime datetime

set @DateTime = '2015-09-03 10:50:00.000'
set @maxfilesize = 10240 --10GB

-- Please replace the text InsertFileNameHere, with an appropriate
-- filename prefixed by a path, e.g., c:\MyFolder\MyTrace. The .trc extension
-- will be appended to the filename automatically. If you are writing from
-- remote server to local drive, please use UNC path and make sure server has
-- …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012 trace

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

如何将 mongodb 节点设置为作为复制集的主节点返回?

这里有这个问题:

如何强制 mongod 成为副本集中的主节点?

但这不是我要找的答案。

下面有一个问题,这可能是相关的,但不一样。

在mongodb失败的情况下如何强制延迟成员成为主要成员

这个问题几乎是重复的,但涉及 2.6.11 版,我的是 3.0 版和 3.2 版。另外,除非我需要,否则我不想使用force : 1

强制成员成为 mongodb 中的主要成员

我一直在努力将答案中描述的大多数内容付诸实践,也许有一个例子或澄清,因此是这个问题。

我的复制工作正常,3 个节点,node1 是主节点。

当我运行以下命令时

//-----------------------------
//check the status of the replication
//-----------------------------
rs.status()
Run Code Online (Sandbox Code Playgroud)

我得到这个结果:

{
    "set" : "Krishna",
    "date" : ISODate("2016-04-26T14:59:40.263Z"),
    "myState" : 1,
    "members" : [
        {
            "_id" : 0,
            "name" : "jpb01275:37001",
            "health" : 1,
            "state" : 1,
            "stateStr" : "PRIMARY",
            "uptime" : 1022,
            "optime" : Timestamp(1461678841, 1),
            "optimeDate" : ISODate("2016-04-26T13:54:01Z"),
            "electionTime" : Timestamp(1461682464, …
Run Code Online (Sandbox Code Playgroud)

replication mongodb mongodb-3.0

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

左外连接 - 查询计划中的排序操作 - 有什么方法可以调整这个简单的查询?

在处理以下查询以回答此问题时:

如何以数据库不可知的方式查询图表数据?

有以下表格:

CREATE TABLE [dbo].[#foo] ( 
[creation]  DATETIME                         NOT NULL,
[value]     MONEY                                NULL,
[DT]        AS (CONVERT([date],[CREATION])) PERSISTED)


-- add a clustered index on the dt column
CREATE CLUSTERED INDEX CI_FOO ON #FOO(DT)
GO
Run Code Online (Sandbox Code Playgroud)

和另一个加入表:

create table #bar (dt date primary key clustered)
go
Run Code Online (Sandbox Code Playgroud)

可以在此处找到将数据加载到这些表中

但是在运行以下查询时:

WITH RADHE AS (
SELECT THE_ROW=ROW_NUMBER() OVER(PARTITION BY B.DT ORDER BY B.DT),
       THE_DATE=B.dt,
       THE_NUMBER_OF_RECORDS_ON_THIS_DAY=CASE WHEN F.DT IS NULL THEN 0 ELSE COUNT(*) OVER (PARTITION BY F.DT ) END ,
       THE_TOTAL_VALUE_FOR_THE_DAY=COALESCE(SUM(F.VALUE) OVER (PARTITION BY …
Run Code Online (Sandbox Code Playgroud)

performance sql-server optimization execution-plan sort-operator query-performance

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

分发器尚未正确安装。无法启用数据库进行发布

在我的一台服务器中创建出版物的过程中,我不断收到以下错误消息

分发器尚未正确安装。无法启用数据库进行发布。

尽管我已经多次删除并重新创建了分配器。

--==============================================================
-- replication - create publication - complete
-- marcelo miorelli
-- 06-Oct-2015
--==============================================================

select @@servername
select @@version
select @@spid
select @@servicename

--==============================================================
-- step 00 --  configuring the distributor
-- if there is already a distributor AND it is not healthy, 
-- you can have a look at the jobs related to this distributor and
-- MAYBE, if you need to get rid of it, run this step
-- generally you need to run this when …
Run Code Online (Sandbox Code Playgroud)

replication sql-server transactional-replication sql-server-2016

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

在虚拟机上应用 sql server 累积更新或服务包时 - 停止 VMWaretools 的安全方法是什么?

在对 sql server 2016 SP1 应用累积更新时,需要停止大量服务和应用程序才能继续进行更新。

其中包括虚拟机的核心,即 VMware Tools 核心服务。

停止此应用程序的所有实例以继续更新是否安全?

什么是安全的方法?

在此处输入图片说明

在此处输入图片说明

sql-server virtualisation windows-server sql-server-2016 patching

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

由于此查询中定义的提示,查询处理器无法生成查询计划

有一个类似的问题,但不一样:

查询处理器无法生成查询计划

我有以下查询和以下过滤索引,但我看不出该查询无法使用下面描述的过滤索引的任何原因:

- 查询 - 使用max列或仅使用列都没有关系,它不喜欢索引提示

SELECT -- MAX(AC1.changeDate)   
          AC1.changeDate
          FROM [dbo].[applicationStateChange]  AS ac1  WITH(INDEX(FI_ASC_ChangeDate))  
          WHERE ac1.applicationID = 130002
          AND AC1.newStatus = 'PLC'  
Run Code Online (Sandbox Code Playgroud)

-- 这是我的过滤索引 - 这个索引只是为了优化上面的查询

CREATE NONCLUSTERED INDEX FI_ASC_ChangeDate  
ON [dbo].[applicationStateChange] (   applicationID DESC)  
INCLUDE ( [changeDate] )
WHERE newStatus = 'PLC'  
WITH (  PAD_INDEX = OFF, FILLFACTOR = 100  , SORT_IN_TEMPDB = OFF , IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = On, 
DROP_EXISTING = ON, 
DATA_COMPRESSION=PAGE, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON ) …
Run Code Online (Sandbox Code Playgroud)

index optimization execution-plan filtered-index sql-server-2016

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

如何编写用户定义的表类型的脚本?

我可以 使用以下任一脚本获取所有表类型的名称和定义

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED


IF OBJECT_ID('TEMPDB..#RADHE') IS NOT NULL
   DROP TABLE #RADHE

CREATE TABLE #RADHE
(
 RADHE SYSNAME,
 COLUMN_NAME SYSNAME,
 TYPE_COLUMN SYSNAME,
 PRIMARY KEY CLUSTERED (RADHE,COLUMN_NAME)
 )

DECLARE @sql nvarchar(max) = N'', 
  @stub nvarchar(max) = N'SELECT [RADHE]=N''$--RADHE--$'', 
   COLUMN_NAME=name, TYPE_COLUMN=system_type_name
   FROM sys.dm_exec_describe_first_result_set(''DECLARE 
   @tvp $--RADHE--$; SELECT * FROM @tvp;'',null,null)
   ORDER BY column_ordinal;';

SELECT @sql += REPLACE(@stub, N'$--RADHE--$', 
  QUOTENAME(s.name) + N'.' + QUOTENAME(t.name))
FROM sys.table_types AS t
INNER JOIN sys.schemas AS s
ON t.[schema_id] = s.[schema_id];

INSERT …
Run Code Online (Sandbox Code Playgroud)

sql-server scripting sql-server-2016 user-defined-table-type automation

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

SQL Server 可信连接附加安全性

使用 Windows 身份验证,有没有办法禁止用户通过 ODBC 连接到数据库?

security sql-server connectivity sql-server-2017

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

防止 SysAdmin 执行数据库还原

我是我的 SQL Server 2008 的系统管理员,我需要成为,但我想在生产服务器上设置我的安全性,以防止我意外恢复到生产数据库。我经常将数据库恢复到测试机器上供开发人员调试/测试,虽然我总是非常小心,大约十年后,今天我不是。

我的想法是在恢复权限上设置拒绝,如果我真的需要恢复,请删除拒绝,但我找不到这样的东西。

有谁知道如何做到这一点,或者有更好的主意?

security sql-server permissions sql-server-2008-r2 restore

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