Skip to main content

Como determinar a versão e edição do SQL Server e seus componentes.

Select @@version
 
SELECT SERVERPROPERTY (‘productversion’), SERVERPROPERTY (‘productlevel’), SERVERPROPERTY (‘edition’)

SQL – Localizar e Substituir String em todo o Banco de Dados

use BANCO
 
set nocount on
go
 
Declare @lookfor   varchar (8000)
DECLARE @replaceby VARCHAR (8000)
 
— ATENÇÃO!!! ESTES SÃO OS PARÂMETROS PARA SEARCH/REPLACE
 
SET @lookfor = ‘DE’
SET @replaceby = ‘PARA’
–SET @replaceby = NULL  — substituir pelo valor do replace, se = NULL a Query só pesquisa.
 
–drop table ##wrk
 
IF OBJECT_ID (‘TempDB..##wrk’) IS not NULL drop table ##wrk
 
 
create table ##wrk(
  qtde    int,
  tblName varchar( 255),
  colName varchar( 255),
  query   varchar(4000 )
)
 
declare cCursor cursor local fast_forward for
select tbl. name as tblName , col. name as colName , typ. name AS typeName
from
  sysobjects tbl
    inner join(
      syscolumns col
        inner join systypes typ
        on typ. xtype = col .xtype
    )
    on col. id = tbl .id
where tbl. xtype = ‘U’
  and typ .name in( ‘varchar’, ‘nvarchar’, ‘text’, ‘ntext’)
  and tbl .name not in(‘SiteLog’ )
declare @tblName  varchar (255)
declare @colName  varchar (255)
DECLARE @typeName VARCHAR (255)
declare @sql  nvarchar (4000)
declare @crlf char (2)
 
set @crlf = char( 13) + char (10)
 
open cCursor
fetch cCursor into @tblName, @colName , @typeName
 
while @@fetch_status = 0
begin
  set @sql = 
  set @sql = @sql + ‘declare @found bit’ + @crlf
  set @sql = @sql +  + @crlf 
  set @sql = @sql + ‘set @found = case when exists(‘ + @crlf
  set @sql = @sql + ‘                          select 1’ + @crlf
  set @sql = @sql + ‘                          from [‘ + @tblName + ‘]’ + @crlf
  set @sql = @sql + ‘                          where [‘ + @colName + ‘] like ”%” + @lookfor + ”%”’ + @crlf
  set @sql = @sql + ‘                        ) then 1’ + @crlf
  set @sql = @sql + ‘                else 0’ + @crlf
  set @sql = @sql + ‘             end’ + @crlf
  set @sql = @sql + ‘if @found = 1’ + @crlf 
  set @sql = @sql + ‘begin’ + @crlf 
  set @sql = @sql + ‘  insert into ##wrk’ + @crlf
  set @sql = @sql + ‘  select count(*), @tblName, @colName, ”select * from [‘ + @tblName + ‘] where [‘ + @colName + ‘] like ””%” + @lookfor + ”%”””’ + @crlf
  set @sql = @sql + ‘  from [‘ + @tblName + ‘]’ + @crlf
  set @sql = @sql + ‘  where [‘ + @colName + ‘] like ”%” + @lookfor + ”%”’ + @crlf
 
  IF @replaceby IS NOT NULL
  BEGIN
    IF @typeName IN( ‘text’, ‘ntext’)
    BEGIN
      set @sql = @sql + ‘  update [‘ + @tblName + ‘]’ + @crlf
      set @sql = @sql + ‘  set [‘ + @colName + ‘] = replace (convert(nvarchar(max), [‘ + @colName + ‘]), @lookfor collate Latin1_General_CS_AS, @replaceby collate Latin1_General_CS_AS)’ + @crlf
    END
    ELSE
    BEGIN
      set @sql = @sql + ‘  update [‘ + @tblName + ‘]’ + @crlf
      set @sql = @sql + ‘  set [‘ + @colName + ‘] = replace ([‘ + @colName + ‘], @lookfor collate Latin1_General_CS_AS, @replaceby collate Latin1_General_CS_AS)’ + @crlf
    END   
  END
 
  set @sql = @sql + ‘end’ + @crlf 
 
  execute sp_executesql @sql ,
                        N’@tblName varchar(255), @colName varchar(255), @lookfor varchar(8000), @replaceby varchar(8000)’,
                        @tblName , @colName, @lookfor, @replaceby
 
  fetch cCursor into @tblName, @colName, @typeName
end
go
 
select *
from ##wrk
go

Alterar hostname no CentOS

Segue uma dica que estava atrás e não encontrei, alterar o hostname sem precisar reiniciar o equipamento.

/bin/hostname novo.host.name

Isso mudará o nome do equipamento sem a necessidade de reiniciar o SO, porém ao realizar o reboot o nome voltará a ser o antigo. Nesse caso é usado para equipamentos que não possui janela para manutenção e para resolver o problema do caso do reboot basta alterar o nome no seguinte caminho.

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=aqui_colocamos_o_nome

Lembrando que se alterarmos somente no “/etc/sysconfig/network” o nome é alterado depois do reboot, então como forma mais pratica podemos primeiramente mudar o nome no “/bin/hostname novo.host.name” e depois alterar no “/etc/sysconfig/network”.

Como descobrir a distribuição Linux que estamos usando?

Aqui no meu trabalho estávamos tendo essa dificuldade, temos várias distribuições de Linux, muitas instaladas por ex-funcionários, e alguma delas não sabíamos ao certo que distribuição era (CentOS, SuSe, Ubuntu, Debian, etc…)

Normalmente usávamos o comando “uname -a” para ver algumas informações, mas em muitas vezes o kernel não trazia a informação da distribuição(e em alguns casos o kernel usado não era o oficial da distribuição), ou seja, esse comando não era nada cômodo e não atendia nossas necessidades.

Para resolver esse problema, utilize o comando abaixo, ele traz todas as informações que precisa.

cat /etc/issue

Muito mais fácil, e muito útil para aqueles servidores empoeirados que ninguém tem coragem de mexer.

Usando o Microsoft Web Deploy para sincronizar a configuração do IIS

Com o Web Deploy é possivel sincronizar a conifguração do IIS entre servidores, incluindo os arquivos do site se necessário.

Download: http://www.iis.net/extensions/WebDeploymentTool

Após realizar o download no site, instale, é necessario que o servidor tenha no minimo o Framework 2.0 com SP1 para instalação e seja um IIS 6, IIS 7 ou IIS 7.5 para que ele funcione.

Comando para sincronizar configuração do IIS entre dois servidores IIS 6 e não sincronizar arquivos:

msdeploy -debug -verb:sync -source:metakey=lm/w3svc,computername=ServidorOrigem -dest:metakey=lm/w3svc,computername=ServidorDestino -disableLink:contentExtension

O parametro –disableLink:contentExtension serve para não replicar arquivos, removendo ele ira replicar inclusive os arquivos do site.

O paramêtro –debug irá mostrar os erros detalhados, caso ocorram.

O paramêtro –verb:sync irá sincronizar a configuração entre os servidores Origem e Destino.

Pode ser usado um parâmetro –whatif no caso de desejar saber qual ação o MSDeploy iria fazer, mas na pratica ele ira apenas mostrar na tela, sem alterar nada no servidor destino, este comando é muito interessante quando se deseja comparar os servidores, mas não efetivamente deixa-los iguais.

Outro parâmetro que pode ser utilizado no caso de desejar evitar que algum campo do metabase do IIS seja replicado é o: -skip:attributes.name=NomeDaPropriedade do IIS, exemplo: –skip:attributes.name=ServerBindings, com este recurso é possivel por exemplo replicar dois servidores entre si, e ele não levar as propriedades de IP dos sites.

Também é possível criar pacotes para migrar sites ou publicar de ambiente de desenvolvimento para produção, e ele ir[a migrar:
– Configuração do site, incluindo banco de dados.
– Permissões NTFS, pacotes COM, Componentes no GAC e chaves de registro.
– Realiza a migração através de comando (no mesmo momento), ou exporta para arquivo.
– Migração de certificados SSL entre servidores.


Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /home/mmva7lky/public_html/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048