Removendo linhas duplicadas no sql server

março 22nd, 2016 by franklin Sem comentários »

Tive um problema que foi assim:
tabela dados

ID DATAINICIO
A001 2011-01-01
A001 2011-01-01
A002 2011-01-01
A002 2011-01-01
A002 2011-01-01
A003 2011-01-01

Tinha várias tabelas com várias linhas duplicadas, como eram muitas, era inviável remover uma a uma na mão. Utilizei o script abaixo para remover os campos duplicados.

WITH cte AS (
  SELECT [%CAMPO1%], [%CAMPO2%], 
     row_number() OVER(PARTITION BY %CAMPO1%, %CAMPO2% ORDER BY %CAMPO1%) AS [rn]
  FROM [%TABELA%]
)
DELETE cte WHERE [rn] > 1

 

No caso em questão, fica

WITH cte AS (
  SELECT [ID], [DATAINICIO], 
     row_number() OVER(PARTITION BY ID, DATAINICIO ORDER BY ID) AS [rn]
  FROM [dados]
)
DELETE cte WHERE [rn] > 1

 

Não precisa informar todos os campos da tabela, no exemplo foi colocado dois somente para ter certeza que mais de um campo tem o mesmo valor, é para ter certeza que a linha toda está realmente duplicada, é possível colocar mais campos também.

Links que me ajudaram:
http://stackoverflow.com/questions/18390574/how-to-delete-duplicate-rows-in-sql-server
http://www.codeproject.com/Articles/157977/Remove-Duplicate-Rows-from-a-Table-in-SQL-Server

Limpar banco tempdb do sql server

março 15th, 2016 by franklin Sem comentários »

O banco tempdb estava consumindo um espaço absurdo do sql server. Pesquisando achei a seguinte solução.

-- write everything from your buffers to the disc!
CHECKPOINT; 
GO
-- Clean all buffers and caches
DBCC DROPCLEANBUFFERS; 
DBCC FREEPROCCACHE;
DBCC FREESYSTEMCACHE('ALL');
DBCC FREESESSIONCACHE;
GO
-- Clean tempdb
USE [tempdb]
GO
DBCC SHRINKFILE (N'tempdev' , 0, TRUNCATEONLY)
GO

Transmitir vídeos do PC para o ChromeCast pelo Google Chrome

fevereiro 8th, 2016 by franklin Sem comentários »

A extensão que faz o meio campo é o cast player, instala ele no chrome, marca a opção “Allow access to file URLs”

Reinicia o Chrome, clica no ícone no lado superior direito para habilitar o plug in, arrasta o vídeo para a tela e manda pro chromecast transmitir, até a legenda carrega 😀

Links para download da extensão:

http://castplayer.me/
https://chrome.google.com/webstore/detail/cast-player/dionggdmdobjjolppiiejleechniphok

Can’t connect to MySQL server on ‘localhost’ (10048).

janeiro 13th, 2016 by franklin Sem comentários »

No windows esse erro acontece porque já existem muitas conexões abertas, então o range default de portas que ele usa, que é entre 1024 a 5000, já estão sendo utilizadas, então o erro acontece.

Para solucionar, é possível aumentar esse range, para que haja mais conexões, para isso adicione uma chave do registro em

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\

com o nome de MaxUserPort com valor 65534 e tipo DWORD, assim o novo limite para utilização das portas serão de 1024 a 65534 portas, se alterar o limite para 10000, será de 1024 a 10000.

OBS: é necessário reiniciar o servidor para que a configuração tenha efeito.
OBS 2: testei a configuração em um servidor Windows 2003 e funcionou.

Baseado nos links abaixo:
https://support.microsoft.com/en-us/kb/956188
https://support.microsoft.com/en-us/kb/196271
http://serverfault.com/questions/98505/cant-connect-to-mysql-server-on-localhost-10048

Problema no upload de imagem no ASP

janeiro 11th, 2016 by franklin Sem comentários »

Especificamente utilizando o componente Scripting.Dictionary, com o método Item desse componente ocorre o erro

Microsoft VBScript runtime error ‘800a01a8’
Object required: ‘UploadRequest.Item(…)’

Pesquisando, vi que o problema ocorre depois da instalação do seguinte KB: KB3104002

A Microsoft já disponibilizou correção para ele. O link explicando o problema é https://support.microsoft.com/en-us/kb/3104002

Para download é https://support.microsoft.com/en-us/kb/3125446

Consegui me nortear através do link http://www.scriptbrasil.com.br/forum/topic/181611-erro-de-tempo-de-execu%C3%A7%C3%A3o-do-microsoft-vbscript-erro-800a01a8/

Importar certificado (.cer) por linha de comando no Windows

janeiro 7th, 2016 by franklin 7 comments »

O comando é o seguinte

certutil -addstore -enterprise -f "CA" "C:\certificado.cer"

-addstore para adicionar um certificado
-enterprise para adicionar o certificado a nível de computador, e não somente ao usuário
-f para forçar substituição
“CA” para onde será importado o certificado, no caso é para Autirudades de certificação intermediárias. Poderia ser “My”, para importar em Pessoal
“C:\certificado.crt” é o caminho da onde está localizado o certificado.

Habilitar SSI no Windows 2012 Server com IIS8

janeiro 6th, 2016 by franklin Sem comentários »

Para utilizar Server-Side Include no servidor, extensões .shtml e .shtm, é necessário habilitar o recurso no servidor, é possível fazer isso pelo PowerShell, para isso abra o PowerShell, em 64bits se o seu sistema for 64bits, e digite os seguintes comandos:

Import-Module ServerManager
Add-WindowsFeature Web-Includes

Após isso é necessário reboot do servidor, após reinicializar o SSI estará habilitado no IIS.

SQL Server pulando campo com id auto increment

outubro 22nd, 2015 by franklin 4 comments »

Isso acontece a partir da versão 2012 do sql server. Quando tu tem uma tabela com campo id auto increment, e o serviço do sql server é parado de forma abrupta, após a inicialização do serviço, a próxima inserção na tabela terá um acréscimo de 1000, para o tipo int, ou 10000, para o tipo bigint no campo id.

FullTable

Na internet encontrei alguns links para o contorno desse problema, um deles é criar uma sequência, conforme descrito no link http://www.codeproject.com/Tips/668042/SQL-Server-Auto-Identity-Column-Value-Jump-Is, e a outra é adicionar o parametro -t272, na inicialização do sql server.

StartupParameter

Pesquisando vi que esse parâmetro não é oficialmente documentado pela Microsoft, e ele parece modificar a engine do sql server. Vi que muita gente fez isso para sanar o problema e não teve problemas com essa configuração, mas não há nenhuma documentação oficial a respeito disso.

Referência:
http://www.codeproject.com/Tips/668042/SQL-Server-Auto-Identity-Column-Value-Jump-Is
http://dba.stackexchange.com/questions/88930/identity-value-jumps-when-restarting-sql-server

Interfaces para informações de cache do OpCache

outubro 22nd, 2015 by franklin 1 comment »

Pesquisando achei algumas interfaces bem legais de informação de consumo do opcache para o site. Alguns exemplos de código:

hitrate-two

Código fonte https://raw.github.com/rlerdorf/opcache-status/master/opcache.php

hitrate-three

Código fonte https://raw.githubusercontent.com/amnuts/opcache-gui/master/index.php

hitrate

Mais interfaces podem ser encontradas no link abaixo:
https://github.com/search?q=opcache&nwo=rlerdorf%2Fopcache-status&search_target=global&ref=cmdform

Referência: https://ttcshelbyville.wordpress.com/2013/11/28/using-zend-opcache-in-php-5-56-on-iis/

 

Várias dicas

outubro 20th, 2015 by franklin Sem comentários »

Windows, powershell, php, wordpress, etc e tal…

https://www.saotn.org/