O seu browser não é suportado

Tem de atualizar o seu browser para utilizar o site.

Atualize para a versão mais recente do Internet Explorer

Diminui o desempenho quando executa um SELECT... CONSULTA depois de actualizar para o SQL Server 2012 e posterior

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 3144525
Sintomas
Depois de actualizar do Microsoft SQL Server 2008 R2 ou uma versão anterior para o SQL Server 2012 ou uma versão posterior, poderá notar queseleccionar... PARA as consultas que contêm funções definidas pelo utilizador demoram mais tempo a concretizar do que nas versões anteriores.
Causa
Este problema ocorre porque esse seleccionar... EM demonstrações que contêm funções definidas pelo utilizador (UDFs) são operações totalmente registadas e demorar mais tempo a concluir no SQL Server 2012 e versões posteriores.

Nota Seleccione qualquer ... PARA as instruções que contêm funções definidas pelo utilizador são operações registadas minimamente em versões anteriores (SQL Server 2008 R2 e anteriores). Esta alteração foi introduzida para se certificar da integridade dos dados, tal como a função definida pelo utilizador pode efectuar operações de leitura/escrita no mesmo objecto e pode causar danos nos dados se o registo mínimo é activado.
Como contornar
Se seleccionar as funções definidas pelo utilizador que são utilizadas no ... EM declaração de não efectuar qualquer operação de acesso de dados, pode especificar a cláusula SCHEMABINDING para as funções definidas pelo utilizador que irá definir a propriedade de UserDataAccess derivada para essas funções definidas pelo utilizador para 0. Após esta alteração, SELECT... EM demonstrações ser minimamente registadas. Para mais informações, consulte a amostra no blogue para obter um exemplo sobre como utilizar o SCHEMABINDING.

Nota Se a instrução referencia ainda pelo menos uma função definida pelo utilizador que tenha esta propriedade definida como 1, a operação totalmente é registada.
Mais Informação
O código de exemplo seguinte demonstra a diferença de comportamento entre o SQL Server 2008 R2 e SQL Server 2012 ou 2014:

create database DB1gouse DB1gocreate function dbo.MyTrim (@name as varchar(100))returns varchar (100)asbeginreturn (RTRIM(ltrim(@name)))endgocreate table dbo.tab_prod (c1 int, c2 varchar(10))godeclare @a int set @a = 1while @a <= 100000begin insert into tab_prodvalues (@a , '  test ')set @a = @a + 1endbegin transelect  *,  dbo.mytrim(c2) as trimc2 into tab_test from tab_prod

A tabela seguinte compara o tempo de CPU para uma operação em seleccionar no SQL Server 2008 R2 do SQL Server 2014:

VersãoTempo de execução (tempo da CPU)
SQL Server 2008 R2719 ms
SQL Server 20141360 ms

A tabela seguinte compara a utilização de registo da transacção para uma operação em seleccionar no SQL Server 2008 R2 do SQL Server 2014:

VersãoNome da base de dadosTamanho do registo (MB)O espaço de registo utilizado (%)Estado
SQL Server 2008 R2DS10.742187551.578950
SQL Server 2014DS132.1796938.44380
Nota importante Os resultados destas tabelas são apenas um exemplo da alteração de comportamento entre o SQL Server 2008 R2 e 2014 do SQL Server e muito específicos para o ambiente do laboratório que foi utilizado para este ensaio. A diferença de desempenho real no seu ambiente depende do hardware que a instância SQL está em execução no.
Nota Este é um artigo de “PUBLICAÇÃO RÁPIDA” criado directamente a partir da organização de suporte da Microsoft. As informações contidas neste artigo são fornecidas “tal como estão” em resposta a problemas recentes. Devido à urgência em disponibilizar este artigo, os materiais poderão incluir erros tipográficos e ser revistos em qualquer altura sem aviso prévio. Consulte os Termos de Utilização para outras considerações.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3144525 - Última Revisão: 03/03/2016 22:37:00 - Revisão: 1.0

  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB3144525 KbMtpt
Esta informação foi útil?