Pegar tamanho das bases no sql server

EXEC sp_MSforeachdb 'use ? exec sp_spaceused'

sp_spaceused é o cara que ve as informações de cada base, mas se rodar só ele, vai aparecer as informações para a base que está no contexto, o sp_MSforeachdb faz um foreach nas bases e vai rodando o sp_spaceused para cada uma, o “use ?” vai alterando as bases que o sp_MSforeachdb buscou.

Publicado em SQL, SQL server, Windows | Com a tag , , | Deixar um comentário

Redirecionamento de IP no Windows

Precisei redirecionar tudo que chegava para um IP específico no servidor em uma porta específica para um destino e porta específica. Consegui fazer com o comando abaixo

netsh interface portproxy add v4tov4 listenport=1433 listenaddress=192.168.0.1 connectport=1433 connectaddress=192.168.1.1 protocol=tcp

O comando acima adiciona uma configuração de ipv4 para ipv4 para todos os pacotes TCP que chegarem no IP 192.168.0.1 na porta 1433, e manda tudo para o IP 192.168.1.1 na porta 1433.
Lembrando que para a regra funcionar, é necessário que nenhum serviço esteja executando a porta que está no listenport, no meu caso, precisei parar o serviço do SQL Server, pois ele usa a porta 1433 como padrão.

Publicado em SQL server, Windows | Com a tag , , , , | Deixar um comentário

Mudar trust level com o appcmd para todas as versões do asp.net

Aprendi que para mudar o trustLevel de somente um site cadastrado no IIS 8 eu poderia usar o comando abaixo

appcmd set config "site.com.br" -section:system.web/trust /level:"Full" /commit:webroot

Ele faz commit no web.config do framework, e a configuração só vale para site.com.br. A configuração fica tipo isso

<location path="site.com.br">
   <system.web>
       <trust level="Full" />
   </system.web>
</location>

O problema que eu tive foi que o comando alterava o trust level somente para a versão 4 do asp.net, mesmo se o site estivesse utilizando a versão 2.0, era a versão 4 que era alterada. Pesquisando descobri que dá pra informar a versão no final do comando, assim é possível configurar tanto para a versão 2 quanto para a versão 4. O exemplo abaixo configura o trust level para full na versão 2.0 do asp.net.

appcmd set config "site.com.br" -section:system.web/trust /level:"Full" /commit:webroot /clr:2

O site que me ajudou com isso foi esse:
http://weblogs.asp.net/owscott/targeting-the-net-framework-version-and-bitness-in-appcmd

Publicado em asp.net, iis, Windows | Com a tag , , , , , , | Deixar um comentário

Exemplo para pegar valor do teclado no PHP

É possível buscar um valor do teclado pelo PHP executado como cliente com o exemplo abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
echo "Tem certeza que quer fazer isso? Digite 'sim' para continuar: ";
$handle = fopen ("php://stdin","r");
$line = fgets($handle);
if(trim($line) != 'sim'){
    echo "SAINDO!\n";
    exit;
}
fclose($handle);
echo "\n"; 
echo "Ok, feito!\n"
?>

Baseado no exemplo do link: http://stackoverflow.com/questions/15322371/php-wait-for-input-from-command-line

Publicado em php | Com a tag | Deixar um comentário

Atribuindo máscara de afinidade do processador

Nas versões mais recentes do IIS é possível atribuir processadores específicos para uma pool de aplicativo, alterando o valor do atributo Processor Affinity Mask. Para definir quais processadores a pool de aplicativo irá utilizar, podemos seguir a tabela abaixo:

tabelaCpu

Se quiser utilizar as CPUs 0 e 2, então some os valores do último campo, informe o valor 5, se quiser utilizar as CPUs 1, 2 e 3, informe o valor 14.

Mais detalhes explicando no link abaixo:

http://serverfault.com/questions/471105/formula-for-processor-affinity-mask-iis

Publicado em iis, Windows | Com a tag | Deixar um comentário

WSUS não lista computadores na interface gráfica

Pesquisei e tentei fazer várias coisas que encontrei, mas o que resolveu mesmo, no meu caso, que uso máquinas virtuais clonadas foi o seguinte:

Remover o valor SusClientId na chave de registro

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\

Reiniciar o serviço do Windows Update no computador cliente.

E executar os comandos abaixo para o servidor WSUS buscar os dados do cliente

wuauclt /resetauthorization /detectnow
wuauclt /reportnow

Como minhas máquinas eram clonadas, todas tinham o mesmo ID em SusClientId, então só uma máquina era listada, fazendo isso um novo ID é atribuído em SusClientId, daí ele é listado no WSUS.

Essa sequência por linha de comando fica:

reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v SusClientId /f
net stop wuauserv
net start wuauserv
wuauclt /resetauthorization /detectnow
wuauclt /reportnow

A luz veio no final do seguinte post http://www.petenetlive.com/KB/Article/0000591

 

Publicado em Windows | Com a tag , | Deixar um comentário

Substituir ponto para vírgula somente entre números

Tinha uma cabela com valores que eram o seguinte

teste.testando.net 732.790714 1015.813971 4040.766429 7655.756678
teste.testando.net 828.688462 1000.075683 4086.318462 6973.874025

Na minha tabela haviam trocentos valores, inviável alterar cada ponto entre os números na mão. No notepad++ dei o replace com preg match de

buscar por
(\d+)\.(\d+)

alterar por
$1,$2

Assim ele alterada os pontos por vírgulas somente entre os números.

Fonte: https://forums.adobe.com/thread/901976?start=0&tstart=0

 

Publicado em Uncategorized | Com a tag , | Deixar um comentário

Removendo linhas duplicadas no sql server

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] &gt; 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] &gt; 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

Publicado em SQL, SQL server, Windows | Com a tag , | Deixar um comentário

Limpar banco tempdb do sql server

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
Publicado em SQL, SQL server | Com a tag , , | Deixar um comentário

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

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

Publicado em vídeos | Com a tag , , , , | Deixar um comentário