AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-20589

Tom's questions

Martin Hope
Tom
Asked: 2016-06-30 05:52:23 +0800 CST

Códigos de recursos do arquivo Configuration.ini

  • 1

Pesquisei, mas não consegui encontrar uma lista de códigos e descrições disponíveis ao usar o arquivo configuration.ini.

Alguém pode me ligar alguma informação?

sql-server
  • 1 respostas
  • 602 Views
Martin Hope
Tom
Asked: 2015-12-03 14:16:05 +0800 CST

Alterar o número da porta para SQL 2012 Cluster

  • 2

Tenho tentado alterar o número da porta de um cluster SQL 2012 com pouco sucesso. Eu pensei que poderia fazer isso da mesma maneira normal por meio do gerenciador de configuração, no entanto, mesmo com os serviços inativos no cluster e alterando a porta em ambos os nós, o número da porta antiga permanece.

Comecei a ler sobre a necessidade de remover e adicionar pontos de verificação para o cluster, mas não consegui encontrar nada relacionado ao SQL 2012.

Estou assumindo que preciso usar os comandos do PowerShell Remove-ClusterCheckpointe , para Add-ClusterCheckpointser honesto, não estou claro quais parâmetros devo usar.

Alguém já fez isso para o SQL 2012 no Windows 2012 R2?

sql-server-2012 clustering
  • 2 respostas
  • 3886 Views
Martin Hope
Tom
Asked: 2015-11-27 05:16:07 +0800 CST

Erro de agrupamento de banco de dados contido

  • 6

Ao alterar um banco de dados para parcialmente contido, recebo o seguinte erro:

Não é possível resolver o conflito de agrupamento entre "Latin1_General_CI_AS" e "Latin1_General_100_CI_AS_KS_WS_SC" na operação EXCEPT.

Foram encontrados erros no procedimento 'RSExecRole.DeleteExtensionModuleDDL' durante a compilação do objeto >. A opção de contenção do banco de dados 'VeeamOne' foi alterada ou este objeto estava presente no modelo db e o usuário tentou criar um novo banco de dados contido. Falha na instrução ALTER DATABASE. A opção de contenção do banco de dados 'VeeamOne' não pôde ser alterada porque foram encontrados erros de compilação durante a validação dos módulos SQL. Veja os erros anteriores. Falha na instrução ALTER DATABASE. (Provedor de Dados .Net SqlClient)

Acho que o objeto que está relatando é do SSRS. No entanto, o banco de dados no qual estou alterando o agrupamento é um aplicativo completamente separado.

Alguém tem alguma sugestão de como resolver isso?

==================================================== ======================= OK, este é o código para o proc, não tenho certeza do que faz com que ele não seja capaz de ser contido

USE [VeeamOne]
GO
/****** Object:  StoredProcedure [reporter].[DeleteExtensionModuleDDL]    Script Date: 02/12/2015 12:06:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [reporter].[DeleteExtensionModuleDDL]
@EMID int
AS
BEGIN
SET NOCOUNT ON;
declare @Debug bit;
set @Debug = 0;
declare @Emulate bit;
set @Emulate = 0;
declare @reportPackDestructorFunctionName nvarchar(max)
exec @reportPackDestructorFunctionName = [reporter].GenerateExtensionModuleDestructorName @EMID
if exists(select * from sys.objects where (object_id = OBJECT_ID(@reportPackDestructorFunctionName) and type in (N'P', N'PC')))
begin
exec @reportPackDestructorFunctionName
declare @objectsToDelete as table (Name nvarchar(2048), Type nvarchar(2048))
insert @objectsToDelete exec @reportPackDestructorFunctionName
if @Debug = 1
begin
select * from @objectsToDelete
end
declare @TablesToDelete    as table(ObjectID int, Name varchar(max))
declare @FunctionsToDelete   as Table(Name nvarchar(max))
declare @StoredProceduresToDelete as Table(Name nvarchar(max))
declare @AssembliesToDelete   as Table(Name nvarchar(max))
declare @ViewsToDelete    as Table(Name nvarchar(max))
insert into @TablesToDelete
select object_id(Name), Name
from @objectsToDelete
where Type = 'Table'
insert into @FunctionsToDelete
select Name
from @objectsToDelete
where Type = 'Function'
insert into @StoredProceduresToDelete
select Name
from @objectsToDelete
where Type = 'Procedure'
union
select @reportPackDestructorFunctionName
insert into @AssembliesToDelete
select Name
from @objectsToDelete
where Type = 'Assembly'
insert into @ViewsToDelete
select Name
from @objectsToDelete
where Type = 'View'
declare @DependencyTree as Table(ForeignKeyObjectID int, ForeignKeyObjectName nvarchar(max),
ParentTableID int, ParentTableName nvarchar(max),
ChildTableID int, ChildTableName nvarchar(max), Generation int)
declare @Generation int;
set @Generation = 0;
insert into @DependencyTree
select  distinct(fk.object_id) as ForeignKeyObjectID, fk.name as ForeignKeyObjectName,
fk.referenced_object_id as ParentTableID, parent.name as ParentTableName,
fk.parent_object_id as ChildTableID, child.name as ChildTableName, @Generation
from  sys.foreign_keys as fk
inner join sys.objects as parent
on   fk.referenced_object_id = parent.object_id
inner join sys.objects as child
on   fk.parent_object_id = child.object_id
where  fk.referenced_object_id in (select ObjectID from @TablesToDelete)
while @@ROWCOUNT > 0
begin
set @Generation = @Generation + 1
insert into @DependencyTree
select  fk.object_id as ForeignKeyObjectID, fk.name as ForeignKeyObjectName,
fk.referenced_object_id as ParentTableID, parent.name as ParentTableName,
fk.parent_object_id as ChildTableID, child.name as ChildTableName, @Generation
from  @DependencyTree dt
inner join sys.foreign_keys as fk
on   fk.referenced_object_id = dt.ChildTableID
inner join sys.objects as parent
on   fk.referenced_object_id = parent.object_id
inner join sys.objects as child
on   fk.parent_object_id = child.object_id
except
select  ForeignKeyObjectID, ForeignKeyObjectName,
ParentTableID, ParentTableName,
ChildTableID, ChildTableName, @Generation
from  @DependencyTree
end
declare @clearScript as table(ID int primary key identity (0,1), ScriptText nvarchar(max))
insert into @clearScript
select  'alter table [reporter].[' + ChildTableName +
'] drop constraint [' + ForeignKeyObjectName + ']'
from  @DependencyTree
where  ParentTableName in (select Name from @TablesToDelete)
insert into @clearScript
select 'drop table [reporter].[' + Name + ']' from @TablesToDelete
insert into @clearScript
select 'drop function [reporter].[' + Name + ']'
from @FunctionsToDelete
insert into @clearScript
select 'drop procedure [reporter].[' + Name + ']'
from @StoredProceduresToDelete
insert into @clearScript
select 'drop assembly [reporter].[' + Name + ']'
from @AssembliesToDelete
insert into @clearScript
select 'drop view [reporter].[' + Name + ']'
from @ViewsToDelete
if @Debug = 1
begin
select * from @clearScript
end
declare @str nvarchar(max)
declare @ID int;
set @ID  = 0;
declare @MaxID int
select @MaxID = MAX(ID) from @clearScript
print ''
while @ID <= @MaxID
begin
select @str = ScriptText from @clearScript where ID = @ID
if @Emulate = 1
print(@str)
else
exec sp_executesql @statement = @str
set @ID = @ID + 1
end
end
END
sql-server sql-server-2012
  • 3 respostas
  • 6117 Views
Martin Hope
Tom
Asked: 2015-10-22 02:26:30 +0800 CST

COLABORAÇÃO E UNIÃO DE TODOS

  • 4

Tenho as seguintes dúvidas:

SELECT  *
FROM    OPENQUERY([SERVERA],
    'SELECT ''SERVERA'',[PhoneNum]
    ,[PhoneExt]
    ,COUNT(2) as CNT
    FROM [DB].[dbo].[ResourcePhone] WHERE PhoneNum like ''+44%''
    OR PhoneNum like ''+41%''
    GROUP BY PhoneNum, PhoneExt
    HAVING COUNT(2) > 1;')
        UNION ALL
SELECT  *
FROM    OPENQUERY([SERVERB],
    'SELECT ''SERVERA'',[PhoneNum]
    ,[PhoneExt]
    ,COUNT(2) as CNT
    FROM [DB].[dbo].[ResourcePhone] WHERE PhoneNum like ''+44%''
    OR PhoneNum like ''+41%''
    GROUP BY PhoneNum, PhoneExt
    HAVING COUNT(2) > 1;')

Estou recebendo o erro A conversão implícita do valor varchar em varchar não pode ser executada porque o agrupamento do valor não foi resolvido devido a um conflito de agrupamento entre "Latin1_General_CI_AS" e "SQL_Latin1_General_CP1_CI_AS" no operador UNION ALL.

Eu verifiquei o agrupamento das colunas e banco de dados envolvidos e eles são todos arquivos Latin1_General_BIN. A diferença é SERVERAtem um agrupamento de SQL_Latin1_General_CP1_CI_ASe SERVERBtem um agrupamento de Latin1_General_CI_AS. Eu tentei adicionar COLLATE SQL_Latin1_General_CP1_CI_ASaos nomes das colunas, mas isso não funcionou.

Alguém pode aconselhar como resolver isso?


Consulta exata adicionada

SELECT  *
FROM    OPENQUERY([SERVERA],
    'SELECT ''SERVERA'',resourcephone.[PhoneNum]
    ,resourcephone.[PhoneExt]
    ,COUNT(2) as CNT
    FROM [rtc].[dbo].[ResourcePhone] WHERE PhoneNum like ''+44%''
    OR PhoneNum like ''+41%''
    GROUP BY PhoneNum, PhoneExt
    HAVING COUNT(2) > 1;')
        UNION ALL
SELECT  *
FROM    OPENQUERY([SERVERB],
    'SELECT ''SERVERB'' COLLATE Latin1_General_CI_AS, resourcephone.[PhoneNum] COLLATE Latin1_General_CI_AS
    ,resourcephone.[PhoneExt] COLLATE Latin1_General_CI_AS
    ,COUNT(2) as CNT
    FROM [rtc].[dbo].[ResourcePhone] WHERE PhoneNum  like ''+44%''
    OR PhoneNum like ''+41%''
    GROUP BY PhoneNum, PhoneExt 
    HAVING COUNT(2) > 1;')

Esta consulta dá a seguinte mensagem:

Msg 457, Nível 16, Estado 1, Linha 1 A conversão implícita do valor varchar em varchar não pode ser executada porque a collation do valor não foi resolvida devido a um conflito de collation entre "Latin1_General_CI_AS" e "Latin1_General_BIN" no operador UNION ALL.

sql-server t-sql
  • 1 respostas
  • 17105 Views
Martin Hope
Tom
Asked: 2015-10-03 05:09:35 +0800 CST

NEGAR VER DEFINIÇÃO AO PÚBLICO

  • 2

Eu tenho uma conta SQL sem permissões além de ter a função pública. Eu executei o seguinte comando para negar permissões para as exibições do sistema:

  use master
    DENY VIEW ANY DEFINITION TO public;

No entanto, quando eu consulto a visualização sys.databases, ainda recebo os metadados retornados. Meu entendimento foi que esse não deveria ser o caso?

sql-server-2012 permissions
  • 1 respostas
  • 1345 Views
Martin Hope
Tom
Asked: 2015-06-13 04:41:16 +0800 CST

Criar banco de dados e LCK_M_S

  • 3

Estamos enfrentando problemas ao criar um banco de dados na GUI do SSMS, pois às vezes ele atinge o tempo limite reclamando que não foi possível obter um bloqueio exclusivo no banco de dados do modelo. Outras vezes, o banco de dados é criado, mas parece estar demorando muito.

Também adicionei a conta de serviço à política de segurança local Executar manutenção de volume.

Este é um novo servidor SQL em cluster sem nenhum outro processo em execução no momento.

Eu consultei os tipos de espera e o maior é LCK_M_S

Eu perguntei sys.dm_tran_locksdurante o tempo em que ele é criado e posso ver dois bloqueios

Fechaduras

Isso está correto, alguém tem algum conselho sobre por que a criação do banco de dados pode estar demorando tanto?

Mesmos problemas ao usar o código, sendo os seguintes:

CREATE DATABASE [TestTom]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'TestTom', FILENAME = N'G:\MSSQL11.MSSQLSERVER\MSSQL\DATA\TestTom.mdf' , SIZE = 1048576KB , FILEGROWTH = 1048576KB )
 LOG ON 
( NAME = N'TestTom_log', FILENAME = N'F:\MSSQL11.MSSQLSERVER\MSSQL\Data\TestTom_log.ldf' , SIZE = 1048576KB , FILEGROWTH = 1048576KB )
GO
ALTER DATABASE [TestTom] SET COMPATIBILITY_LEVEL = 110
GO
ALTER DATABASE [TestTom] SET ANSI_NULL_DEFAULT OFF 
GO
ALTER DATABASE [TestTom] SET ANSI_NULLS OFF 
GO
ALTER DATABASE [TestTom] SET ANSI_PADDING OFF 
GO
ALTER DATABASE [TestTom] SET ANSI_WARNINGS OFF 
GO
ALTER DATABASE [TestTom] SET ARITHABORT OFF 
GO
ALTER DATABASE [TestTom] SET AUTO_CLOSE OFF 
GO
ALTER DATABASE [TestTom] SET AUTO_CREATE_STATISTICS ON 
GO
ALTER DATABASE [TestTom] SET AUTO_SHRINK OFF 
GO
ALTER DATABASE [TestTom] SET AUTO_UPDATE_STATISTICS ON 
GO
ALTER DATABASE [TestTom] SET CURSOR_CLOSE_ON_COMMIT OFF 
GO
ALTER DATABASE [TestTom] SET CURSOR_DEFAULT  GLOBAL 
GO
ALTER DATABASE [TestTom] SET CONCAT_NULL_YIELDS_NULL OFF 
GO
ALTER DATABASE [TestTom] SET NUMERIC_ROUNDABORT OFF 
GO
ALTER DATABASE [TestTom] SET QUOTED_IDENTIFIER OFF 
GO
ALTER DATABASE [TestTom] SET RECURSIVE_TRIGGERS OFF 
GO
ALTER DATABASE [TestTom] SET  DISABLE_BROKER 
GO
ALTER DATABASE [TestTom] SET AUTO_UPDATE_STATISTICS_ASYNC OFF 
GO
ALTER DATABASE [TestTom] SET DATE_CORRELATION_OPTIMIZATION OFF 
GO
ALTER DATABASE [TestTom] SET PARAMETERIZATION SIMPLE 
GO
ALTER DATABASE [TestTom] SET READ_COMMITTED_SNAPSHOT OFF 
GO
ALTER DATABASE [TestTom] SET  READ_WRITE 
GO
ALTER DATABASE [TestTom] SET RECOVERY SIMPLE 
GO
ALTER DATABASE [TestTom] SET  MULTI_USER 
GO
ALTER DATABASE [TestTom] SET PAGE_VERIFY CHECKSUM  
GO
ALTER DATABASE [TestTom] SET TARGET_RECOVERY_TIME = 0 SECONDS 
GO
USE [TestTom]
GO
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [TestTom] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO
locking sql-server-2012
  • 1 respostas
  • 306 Views
Martin Hope
Tom
Asked: 2015-05-30 06:46:42 +0800 CST

Anexando nome incorreto do banco de dados em sys.master_files

  • 0

Tenho movido alguns bancos de dados do SQL 2008 para o SQL 2012 usando o método desanexar e anexar. Eu mapeio corretamente todos os arquivos e os nomes físicos e lógicos aparecem corretamente nas propriedades do banco de dados.

No entanto, se eu executar sys.master_files, posso ver que todos os meus arquivos receberam o mesmo nome de arquivo na coluna Nome do DMV e isso está deixando nosso sistema de alerta enlouquecido.

Alguém já viu isso antes ou sabe como posso consertar?

Obrigado

sql-server sql-server-2012
  • 1 respostas
  • 1807 Views
Martin Hope
Tom
Asked: 2015-05-14 01:13:27 +0800 CST

Carga de trabalho de captura e reprodução

  • 7

Temos um novo servidor que também estamos migrando e queremos ver os benefícios potenciais do hardware. Portanto, a ideia é capturar uma carga de trabalho e reproduzi-la em nossa nova caixa.

Minha pergunta é, no entanto, em relação a ver os benefícios de desempenho. Estarei executando alguns contadores de desempenho, mas, idealmente, queremos ver o quanto as consultas individuais são mais rápidas.

Eu terei essas informações na captura inicial da carga de trabalho, no entanto, quando eu reproduzir isso em meu novo servidor, preciso simultaneamente executar um rastreamento para capturar as novas informações da carga de trabalho também. Com efeito, executando o SQL Profiler duas vezes ao mesmo tempo para reproduzir e capturar?

sql-server performance
  • 2 respostas
  • 2261 Views
Martin Hope
Tom
Asked: 2015-04-25 00:50:18 +0800 CST

Falhas de página altas/seg Leituras de páginas baixas/seg

  • 2

Atualmente, tenho falhas de página/s com média de 1269, enquanto minhas leituras de página/s têm uma média de 0,3.

Estou apenas tentando interpretar o que isso significa. Presumo que estou recebendo muitas falhas de página suaves neste caso e o problema que o usuário está enfrentando com lentidão é devido ao aplicativo ter que esperar que as páginas fiquem livres na memória?

Em qual caso devo rastrear bloqueios e bloqueios?

sql-server memory
  • 1 respostas
  • 2504 Views
Martin Hope
Tom
Asked: 2015-03-27 08:03:08 +0800 CST

CXPACKET SUSPENDED e tipo de espera NULL

  • 3

Eu estava executando a consulta neste artigo:

http://sqlity.net/en/708/why-cxpacket-waits-are-not-your-performance-problem/

Para ver o que meus threads estavam esperando em relação a uma consulta suspensa com um tipo de espera de CXPACKET.

No entanto, para o SPID em questão, os threads em execução estavam mostrando tipos de espera de NULL com todos os outros threads em um estado SUSPENDED com um tipo de espera de CXPACKET.

Eu esperava que um dos threads tivesse algum tipo de espera diferente de CXPACKET, alguém pode me explicar o que está acontecendo nessa situação?

Obrigado

sql-server wait-types
  • 2 respostas
  • 14162 Views
Martin Hope
Tom
Asked: 2014-10-25 01:38:00 +0800 CST

A conta da máquina que causa uma validação de acesso ao servidor baseada em token falhou com um erro de infraestrutura

  • 1

Como o erro sugere, o log SQL está sendo preenchido com o erro:

Login failed for user 'xxx\xxx$'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: xxx.xxx.xxx.xxx]

Este é um cluster SQL e a conta que está tentando fazer login é a conta do nó passivo. A conta não existe no próprio SQL, então não acho que seja uma incompatibilidade de SID.

Eu verifiquei os DMVs do buffer de anel que coloquei abaixo, mas não acho que isso esteja me dando muito.

runtime Notification_Time   ErrorCode   CallingAPIName  APIName SPID    Record Id   Type    Record Time Current Time
2014-10-24 10:22:50.953 2014-10-23 15:38:24.547 0x139F  NLShimImpersonate   ImpersonateSecurityContext  62  18610   RING_BUFFER_SECURITY_ERROR  10966336138 11033802544

Eu verifiquei e o IIS não está no nó passivo, então não há salto duplo vindo de lá, e nos serviços não consigo ver nada óbvio sobre o que poderia estar causando isso. O navegador SQL está definido como serviço local, isso pode estar tentando fazer login?

sql-server sql-server-2008
  • 1 respostas
  • 3314 Views
Martin Hope
Tom
Asked: 2014-10-08 05:19:31 +0800 CST

Espaço de log TempDB e ACTIVE_TRANSACTION

  • 8

Nossa solução de monitoramento (SCOM) está sinalizando que o log tempdb está ficando sem espaço. No entanto, temos o crescimento automático definido para pedaços de 1 GB para o log e temos 25 GB de espaço na unidade.

Eu olhei para o que log_reuse_wait_descera e descobri que eraACTIVE_TRANSACTION

Comecei a me perguntar se, por algum motivo, o arquivo de log estava sendo preenchido e o crescimento automático não estava funcionando, e depois de algumas pesquisas descobri que o arquivo de log ainda deveria crescer mesmo durante um ACTIVE_TRANSACTION.

Encontrei um artigo sobre problemas semelhantes em que o log do tempdb ficou sem espaço:

http://sqltimes.wordpress.com/2014/07/05/sql-server-error-messages-the-transaction-log-for-database-tempdb-is-full-due-to-active_transaction/

Aqui eles emitiram um CHECKPOINTpara resolver o problema em tempdb. Eu sei que um CHECKPOINTlibera páginas sujas para o disco, mas não entendo como isso resolveria o ACTIVE_TRANSACTIONproblema?

Além disso, também não sei por que recebemos esse alerta quando há muito espaço. Existe uma situação em que o tempdbpreenchimento e o crescimento automático não funcionam por algum motivo?

sql-server transaction-log
  • 2 respostas
  • 42371 Views
Martin Hope
Tom
Asked: 2014-10-01 03:51:42 +0800 CST

VLF, Encolhimento e Recuperação Simples

  • 1

Atualmente, temos um log de transações que está crescendo de forma incremental e possui muitos arquivos VLF. Vou seguir um processo de redução e, em seguida, aumentar novamente o arquivo de log para um tamanho adequado para aliviar esse problema.

Minha pergunta é que o encolhimento reduzirá apenas do final do arquivo até a última parte ativa do log. Portanto, devo mudar para recuperação simples primeiro e depois realizar a redução?

Em seguida, voltarei a executar um backup completo para iniciar a cadeia de backup novamente.

sql-server transaction-log
  • 2 respostas
  • 1106 Views
Martin Hope
Tom
Asked: 2014-08-01 03:28:56 +0800 CST

Plano de consulta diferente ao usar valores compilados

  • 1

Eu extraí um plano de execução do cache do plano e do XML extraí os valores compilados. Em seguida, executei a consulta no SSMS usando os valores compilados e os planos de consulta são diferentes, embora sejam executados no mesmo banco de dados.

Alguém pode explicar por que isso ocorreu?

sql-server sql-server-2012
  • 1 respostas
  • 127 Views
Martin Hope
Tom
Asked: 2014-07-29 01:58:11 +0800 CST

Ajuda na leitura do XML de impasse

  • 2

Mesmo lendo o blog de Bart Duncan sobre a leitura de impasses, ainda luto com isso. Incluí o XML de um impasse específico.

  <?xml version="1.0" encoding="utf-8" ?> 
- <deadlock>
- <victim-list>
  <victimProcess id="process2fea928" /> 
  </victim-list>
- <process-list>
- <process XDES="0x64e18e3a8" clientapp=".Net SqlClient Data Provider+TransactionalSqlSession" clientoption1="673316896" clientoption2="128056" currentdb="12" ecid="0" hostname="APPSVM7" hostpid="3208" id="process2fea928" isolationlevel="read uncommitted (1)" kpid="11776" lastattention="1900-01-01T00:00:00.240" lastbatchcompleted="2014-07-25T00:00:41.240" lastbatchstarted="2014-07-25T00:00:41.240" lasttranstarted="2014-07-25T00:00:41.230" lockMode="X" lockTimeout="4294967295" loginname="NTSERVERS\AX2012WEBPROD" logused="0" ownerId="9934810052" priority="0" sbid="0" schedulerid="16" spid="148" status="suspended" taskpriority="0" trancount="2" transactionname="MgdSqlSessionTran" waitresource="OBJECT: 12:277576027:10" waittime="4440" xactid="9934810052">
- <executionStack>
  <frame line="25" procname="Search_Service_Application_CrawlStoreDB_3a7fefdbc44a48ef902a65ffb71c7d3a.dbo.proc_MSS_GetNextCrawlBatch" sqlhandle="0x03000c004f6ab01d5de1f8008ca2000001000000000000000000000000000000000000000000000000000000" stmtend="3504" stmtstart="3362">INSERT INTO MSSBatchHistory WITH(TABLOCKX)(CrawlID) VALUES (@CrawlID)</frame> 
  </executionStack>
  <inputbuf>Proc [Database Id = 12 Object Id = 498100815]</inputbuf> 
  </process>
- <process XDES="0x4212ea3a8" clientapp="SharePoint[OWSTIMER][1][Search_Service_Application_CrawlStoreDB_3a7fefdbc44a48ef902a65ffb71c7d3a]" clientoption1="673185824" clientoption2="128056" currentdb="12" ecid="0" hostname="APPSVM7" hostpid="9480" id="process403a188" isolationlevel="read committed (2)" kpid="14060" lastattention="1900-01-01T00:00:00.360" lastbatchcompleted="2014-07-25T00:00:40.360" lastbatchstarted="2014-07-25T00:00:40.360" lasttranstarted="2014-07-25T00:00:40.387" lockMode="Sch-M" lockTimeout="4294967295" loginname="NTSERVERS\AX2012WEBPROD" logused="168" ownerId="9934809243" priority="0" sbid="0" schedulerid="11" spid="170" status="suspended" taskpriority="-10" trancount="1" transactionname="ALTER INDEX" waitresource="OBJECT: 12:277576027:0" waittime="584" xactid="9934809243">
- <executionStack>
  <frame line="1" procname="adhoc" sqlhandle="0x01000c00d14d6c19c006e5650400000000000000000000000000000000000000000000000000000000000000" stmtend="294" stmtstart="24">ALTER INDEX IX_MSSBatchHistory ON dbo.MSSBatchHistory REBUILD WITH (MAXDOP = 0, FILLFACTOR = 95, DATA_COMPRESSION = PAGE, ONLINE = ON)</frame> 
  <frame line="133" procname="Search_Service_Application_CrawlStoreDB_3a7fefdbc44a48ef902a65ffb71c7d3a.dbo.proc_MSS_DefragGathererIndexes" sqlhandle="0x03000c0018d2e62d8e07d6008ca2000001000000000000000000000000000000000000000000000000000000" stmtend="8816" stmtstart="8768">EXEC (@command)</frame> 
  </executionStack>
  <inputbuf>Proc [Database Id = 12 Object Id = 770101784]</inputbuf> 
  </process>
  </process-list>
- <resource-list>
- <objectlock associatedObjectId="277576027" dbid="12" id="lock4f20fdc00" lockPartition="10" mode="IS" objectname="Search_Service_Application_CrawlStoreDB_3a7fefdbc44a48ef902a65ffb71c7d3a.dbo.MSSBatchHistory" objid="277576027" subresource="FULL">
- <owner-list>
  <owner id="process403a188" mode="IS" /> 
  </owner-list>
- <waiter-list>
  <waiter id="process2fea928" mode="X" requestType="wait" /> 
  </waiter-list>
  </objectlock>
- <objectlock associatedObjectId="277576027" dbid="12" id="lock4d7444c00" lockPartition="0" mode="X" objectname="Search_Service_Application_CrawlStoreDB_3a7fefdbc44a48ef902a65ffb71c7d3a.dbo.MSSBatchHistory" objid="277576027" subresource="FULL">
- <owner-list>
  <owner id="process2fea928" mode="X" /> 
  </owner-list>
- <waiter-list>
  <waiter id="process403a188" mode="Sch-M" requestType="wait" /> 
  </waiter-list>
  </objectlock>
  </resource-list>
  </deadlock>

Parece que está ocorrendo o seguinte:

SPID 148 running the query (line 25 of proc Search_Service_Application_CrawlStoreDB_3a7fefdbc44a48ef902a65ffb71c7d3a.dbo.proc_MSS_GetNextCrawlBatch)
INSERT INTO MSSBatchHistory WITH(TABLOCKX)(CrawlID) VALUES (@CrawlID)

SPID170 running the query (line 1 of adhoc query)
INDEX IX_MSSBatchHistory ON dbo.MSSBatchHistory REBUILD WITH (MAXDOP = 0, FILLFACTOR = 95, DATA_COMPRESSION = PAGE, ONLINE = ON)

No entanto, no segundo operationStack há um segundo quadro, ou seja, este:

<frame line="133" procname="Search_Service_Application_CrawlStoreDB_3a7fefdbc44a48ef902a65ffb71c7d3a.dbo.proc_MSS_DefragGathererIndexes" sqlhandle="0x03000c0018d2e62d8e07d6008ca2000001000000000000000000000000000000000000000000000000000000" stmtend="8816" stmtstart="8768">EXEC (@command)</frame> 

Como isso afeta o impasse? Este é outro processo que estava em execução no momento?

Obrigado

sql-server sql-server-2012
  • 2 respostas
  • 2774 Views
Martin Hope
Tom
Asked: 2014-07-22 03:40:39 +0800 CST

Coletando estatísticas de espera

  • 3

Atualmente, usamos uma ferramenta de monitoramento que nos mostra nossas principais estatísticas de espera por número de tarefas em espera ou tempo total de espera. Abaixo estão as estatísticas de espera por número de tarefas em espera e também o tempo de espera por tarefa.

Temos usuários reclamando de lentidão no sistema, mas as métricas do servidor parecem boas em termos de E/S de disco, memória e CPU. Alguém sabe se as esperas PREEMPTIVE são um problema?

Number of waiting tasks
SOS_SCHEDULER_YIELD
PAGELATCH_EX
PAGELATCH_SH
PREEMPTIVE_XE_CALLBACKEXECUTE
PREEMPTIVE_XE_GETTARGETSTATE
PREEMPTIVE_XE_SESSIONCOMMIT

Average wait per task
PAGEIOLATCH_SH
PREEMPTIVE_XE_GETTARGETSTATE 

Atualização:
executei uma consulta de Paul Randal semelhante à que você postou e obtive o seguinte:

WaitType    Wait_S  Resource_S  Signal_S    WaitCount   Percentage  AvgWait_S   AvgRes_S    AvgSig_S
PREEMPTIVE_XE_GETTARGETSTATE    9704.81 9704.81 0.00    604647  44.60   0.0161  0.0161  0.0000

Eu sei que isso não combina muito bem, mas basicamente esse tipo de espera foi responsável por 44,60% de todos os tipos de espera. Além disso, como não houve esperas de sinal neste tipo, isso indica que não há pressão da CPU, mas sim uma espera em algum outro recurso. No entanto, não tenho certeza de como deduzo o que é esse recurso.

Também este é o SQL 2012 SP1

Update2 AS solicitado aqui são os resultados de sua consulta. Em relação aos eventos estendidos, as únicas sessões em execução são o padrão system_health e 2 do SharePoint que acabei de notar, eles devem ter sido colocados lá por padrão. Posso desligá-los. Será que eles estão causando algum problema?

É interessante que meu PREEMPTIVE_XE_GETTARGETSTATE não pareça estar nesta lista.

wait_type   wait_time_ms    signal_wait_time_ms resource_wait_time_ms   percent_total_waits percent_total_signal_waits  percent_total_resource_waits
SP_SERVER_DIAGNOSTICS_SLEEP 300014  355508314   0   24.621089361251698  99.883069863550302  0.000000000000000
MSQL_XP 96782   0   4268999 0.295653861591811   0.000000000000000   0.295653861591811
ASYNC_IO_COMPLETION 56193   64  345552  0.023935987107964   0.000017981341700   0.023931554722962
BACKUPTHREAD    41100   6850    265025  0.018828979257262   0.001924565478840   0.018354575549998
LCK_M_U 40500   71  41030   0.002846491499596   0.000019948050948   0.002841574322484
PWAIT_ALL_COMPONENTS_INITIALIZED    31422   0   94205   0.006524262955146   0.000000000000000   0.006524262955146
XE_LIVE_TARGET_TVF  28050   0   33458   0.002317167771915   0.000000000000000   0.002317167771915
LCK_M_X 4027    50  29195   0.002025392177944   0.000014047923203   0.002021929377161
SQLTRACE_INCREMENTAL_FLUSH_SLEEP    4018    613 355390660   24.612983567922965  0.000172227538471   24.612941113985366
CXPACKET    3756    1   14755   0.001021941767062   0.000000280958464   0.001021872511047
sql-server sql-server-2012
  • 3 respostas
  • 3153 Views
Martin Hope
Tom
Asked: 2014-06-20 00:07:49 +0800 CST

Desativando o crescimento automático para um arquivo específico

  • 1

Temos um grupo de arquivos principal com vários arquivos, cada um em discos diferentes. Um dos discos está quase cheio e, como tal, tivemos que desativar o crescimento automático desse arquivo. Há algo que eu deva considerar ao fazer isso?

Não acredito que possa forçar uma tabela a estar em um arquivo específico quando todos estão no mesmo grupo de arquivos; portanto, do ponto de vista do administrador, não consegui pensar em nada.

sql-server
  • 1 respostas
  • 617 Views
Martin Hope
Tom
Asked: 2014-05-07 23:43:07 +0800 CST

NTEXT, indexação e leituras lógicas lob

  • 1

Temos uma consulta que se beneficiaria de um índice de cobertura, mas uma das colunas que seria retornada é um tipo de dados NTEXT. Eu sei que isso não pode ser adicionado ao índice e também sei que seria bom converter a coluna para nvarchar (max), no entanto, como este é um aplicativo de terceiros (é o Microsoft Dynamics!), No momento não podemos fazer isso .

Os problemas parecem ser todas as leituras lógicas lob que estão sendo executadas como parte de uma pesquisa RID. Existe alguma maneira de acelerar isso?

sql-server index
  • 1 respostas
  • 2453 Views
Martin Hope
Tom
Asked: 2013-08-20 06:11:23 +0800 CST

Dividindo em SQL

  • 2

alguém pode me explicar por que essa consulta retorna 0,000?

SELECT CAST(20/1024 AS NUMERIC(10,3))

Estou apenas tentando fazer uma conversão simples de MB para GB

Obrigado

sql-server t-sql
  • 3 respostas
  • 16318 Views
Martin Hope
Tom
Asked: 2013-07-27 01:42:04 +0800 CST

Permissões no nível do servidor SQL

  • 6

Estou ciente do código fornecido pela Microsoft para transferir logins entre servidores SQL, porém isso só faz a conta e a senha.

E se essa conta específica tiver várias funções e permissões atribuídas a ela no nível do servidor, existe um código equivalente para criar o script dessas permissões também?

Obrigado

sql-server security
  • 5 respostas
  • 4857 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve