Category Archives: SQL

Uma pequena coleção de comandos DBCC

Existe um número bem legal de comandos DBCC que não fazem nada de mais a não ser checar consistencia no banco de dados. Eu coloque alguns no script abaixo. O primeiro comando é o único considerado mais “perigoso”, isso causará um grande stress no sistema de I/O enquanto efetua a limpesa do cache. Dependendo do workload, isso pode levar alguns minutos, e durante o processo ele pode impactar a performance.

-- A Small Collection of Useful DBCC Commands
-- Glenn Berry
-- August 2010
-- http://glennberrysqlperformance.spaces.live.com/
-- Twitter: GlennAlanBerry

-- Clears out contents of buffer cache
-- Use caution before doing this on a production system!
DBCC DROPCLEANBUFFERS;

-- Clears procedure cache on entire Continue reading Uma pequena coleção de comandos DBCC 

O lado ruim do MCM

Como muitas coisas na vida o MCM também tem seu lado ruim…
Não posso dizer que eh um curso ruim mas, existem alguns dias que você não irá querer sair do apartamento, ou pior, vai querer ir embora.
Dependendo do instrutor mesmo que o tópico seja ruim ele ainda consegue extrair alguma coisa, mas tem outros que não fazem a minima questão.
Não vou citar quais pois seria muita falta de educação, eh muito pouco provável que eles leiam meu blog e ainda por cima saibam alguma coisa de português pra tentar responder…
Meu concelho eh, 70% ta no material de pre-leitura, 10% no material dos instrutores e 20% na sua boa vontade de aprender.

Script de Fragmentação de Índices

Bom,,, o script abaixo analisa todos os objetos de índices da instância do SQL e mostra a fragmentação dos índices… em teoria, quanto maior a coluna fragmentation mais fragmentado estará o índice.

SELECT CONVERT(NVARCHAR(130), SERVERPROPERTY(‘servername’)) AS instancename ,
db.name AS databaseName ,
ps.OBJECT_ID AS objectID ,
ps.index_id AS indexID ,
ps.partition_number AS partitionNumber ,
ps.avg_fragmentation_in_percent AS fragmentation ,
ps.page_count
FROM sys.databases db
INNER JOIN sys.dm_db_index_physical_stats(NULL, NULL, NULL, NULL,
N’Limited’) ps ON db.database_id = ps.database_id
WHERE ps.index_id > 0
AND ps.page_count > 100
AND ps.avg_fragmentation_in_percent > 30
OPTION ( MAXDOP 1 ) ;

Event Log Error – Resolve Partial Assembly failed for Microsoft.VC80.CRT.mui

“Resolve Partial Assembly failed for Microsoft.VC80.CRT.mui” é um erro que fica em System no event log, o Event Id: 59 e Source: SideBySide. Ele é acompanhado por outro erro com o mesmo Event ID e Source:“Generate Activation Context failed for c:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\msmdctr90.DLL. Reference error message: Access is denied”Verifique com qual conta o serviço Performance Logs and Alerts está sendo executado. Provavelmente é o Network Service. Esta conta não tem acesso ao c:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\ (Ou lugar onde você instalou o SQL). Para resolver isso permita que o grupo Performance Log Users tenha acesso à List Folder Contents para esta pasta.

Siga os seguintes passos:

  1. Botão direito em c:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\ e selecione Sharing and Security…
  2. Selecione a aba Security
  3. Click em Add
  4. Click em Locations e selecione o nome do computador local
  5. Click em Advanced e em seguida em Find Now
  6. Na lista que aparece duplo-click no grupo chamado Performance Log Users
  7. Tenha certeza que a caixa do List Folder Contents esta com Allow selecionado e click em OK

Preparação para o MCM SQL Server 2008 – Parte VI

Então….
faz um tempo que não escrevo sobre a novela do MCM,,,
Essa história do pagamento deu uma dor de cabeça, o pessoal do banco não ajudo em nada, a empresa não tem cartão de crédito pra ajudar, e fazer transferencia bancária internacional tem umas taxas e sai bem caro e demora….
Mas, qualquer um ficaria chateado, desmotivado,,, talvez até um pouco jururú, mas não, um amigo tem O cartão coração de mãe, consegui fazer o pagamento do esquema hoje e já ta confirmado.
MAIO é nois na Microsoft fazendo o MCM uhuhuhuhu

Como ler o Select @@version

A simples query SELECT @@VERSION pode informado um pouco sobre a instalação do SQL Server (e o sistema operacional), assumindo que você sabe ler o resultado. Muitas pessoas não sabem diferenciar entre as informações do SO e do SQL.
Você pode determinar se você está rodando em x86 (32 bits), x64 ou IA64 (64 bits), para ambos SO e SQL, Você pode determinar a versão e o build do SQL Server, você ainda pode descobrir qual versão do Service Pack do Windows.
[//]Vendo o primeiro exemplo abaixo, você pode ver as informações do SQL Server na primeira parte do resultado, em seguida as informações do sistema operacional que está após a palavra “on”.

Microsoft SQL Server 2008 R2 (CTP) – 10.50.1092.20 (Intel X86) Jul 22 2009 21:29:56 Copyright (c) Microsoft Corporation Enterprise Evaluation Edition on Windows NT 6.1 (Build 7100: )

 

-- SQL Server Major Versions
9.00 - SQL Server 2005
10.0 - SQL Server 2008
10.25 - SQL Server Azure
10.50 - SQL Server 2008 R2
 

-- SQL Server 2005/2008 Build lists

--   2005 SP2 Builds                  2008 SP3 Builds
-- Build       Description        Build       Description
-- 3042        SP2 RTM              4035        SP3 RTM
-- 3161        SP2 CU1              4207        SP3 CU1
-- 3175        SP2 CU2              4211        SP3 CU2 
-- 3186        SP2 CU3              4220        SP3 CU3         
-- 3200        SP2 CU4              4226        SP3 CU4         
-- 3215        SP2 CU5              4230        SP3 CU5          
-- 3228        SP2 CU6              4266        SP3 CU6        
-- 3239        SP2 CU7              4273        SP3 CU7        
-- 3257        SP2 CU8
-- 3282        SP2 CU9
-- 3294        SP2 CU10
-- 3301        SP2 CU11
-- 3315        SP2 CU12
-- 3325        SP2 CU13
-- 3328        SP2 CU14
-- 3330        SP2 CU15
-- 3355        SP2 CU16
-- 3356        SP2 CU17

--   2008 RTM Builds                    2008 SP1 Builds
-- Build       Description        Build        Description
-- 1600        Gold RTM
-- 1763        RTM CU1
-- 1779        RTM CU2
-- 1787        RTM CU3    -->      2531        SP1 RTM
-- 1798        RTM CU4    -->      2710        SP1 CU1
-- 1806        RTM CU5    -->      2714        SP1 CU2 
-- 1812        RTM CU6    -->      2723        SP1 CU3
-- 1818        RTM CU7    -->      2734        SP1 CU4
-- 1823        RTM CU8    -->      2746        SP1 CU5

-- Windows Major Versions
Windows NT 5.1    - Windows XP
Windows NT 5.2    - Windows Server 2003
Windows NT 6.0, Build 6001 - Vista 
Windows NT 6.0, Build 6002 - Windows Server 2008
Windows NT 6.1  - Windows Server 2008 R2 or Windows 7
-- Alguns exemplos do SELECT @@VERSION

-- 32-bit SQL Server 2005 Developer Edition Build 4262, running on 32-bit Windows Server 2003 SP2
Microsoft SQL Server 2005 - 9.00.4262.00 (Intel X86)   Aug 13 2009 17:08:37   
Copyright (c) 1988-2005 Microsoft Corporation  Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

-- 32-bit SQL Server 2005 Standard Edition Build 4262, running on 32-bit Windows Server 2003 SP2
Microsoft SQL Server 2005 - 9.00.4262.00 (Intel X86)   Aug 13 2009 17:08:37   
Copyright (c) 1988-2005 Microsoft Corporation  Standard Edition 
on Windows NT 5.2 (Build 3790: Service Pack 2)

-- 64-bit SQL Server 2008 Enterprise Edition Build 2746, running on 64-bit Windows Server 2003 SP2
Microsoft SQL Server 2008 (SP1) - 10.0.2746.0 (X64)   Nov  9 2009 16:37:47   
Copyright (c) 1988-2008 Microsoft Corporation  Enterprise Edition (64-bit) 
on Windows NT 5.2 <X64> (Build 3790: Service Pack 2)  

-- 64-bit SQL Server 2008 Enterprise Edition Build 2746, running on 64-bit Windows Server 2008 SP2
Microsoft SQL Server 2008 (SP1) - 10.0.2746.0 (X64)   Nov  9 2009 16:37:47   
Copyright (c) 1988-2008 Microsoft Corporation  Enterprise Edition (64-bit) 
on Windows NT 6.0 <X64> (Build 6002: Service Pack 2) 

-- 64-bit SQL Server 2008 Enterprise Edition Build 2746, running on 64-bit Windows Server 2008 R2 (or Windows 7)
Microsoft SQL Server 2008 (SP1) - 10.0.2746.0 (X64)   Nov  9 2009 16:37:47
Copyright (c) 1988-2008 Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: )