“Função” Substring dentro do Prompt de Comando

Olá a todos.

O post que inicia a semana não é especificamente sobre SQL Server, mas pode vir a ser utilizado.
Vamos entender melhor:

Ocasionalmente, precisamos efetuar backups de bancos de dados utilizando a data e hora atuais como parte do nome (como faz a “Backup Database Task”, dentro dos planos de execução).

Extrair estes dados utilizando as linguagens T-SQL ou VBScript é simples, mas o que dizer quando a execução do backup é feita através de uma tarefa agendada que invoca SQLCMD.EXE?

Há duas alternativas:

  1. Criar um arquivo com a lógica do backup, usando T-SQL, e passar como parâmetro do utilitário SQLCMD.EXE (SQLCMD -i input.sql …)
  2. Criar um arquivo BAT ou CMD e extrair os valores de dia, mês, ano, hora, minuto das variáveis de ambiente DATE e TIME.

O foco deste post é mostrar como implementar a segunda opção.

É uma funcionalidade pouco conhecida do Shell do Windows (cmd.exe) o uso do operador :~ em conjunto com outras variáveis de ambiente.
Por exemplo:

SET VAR1=HELLO
ECHO %VAR1:~2%

O resultado é “LLO”; significa que são retornados os caracteres a partir da posição 3 (sim, o primeiro valor do índice é zero) até o fim da string.
Se quisermos apenas alguns caracteres, temos que informar a quantidade ao usar o operador:

ECHO %VAR1:~2,2%

Resultado: LL

Com base nestes resultados, já podemos criar nosso arquivo batch que fará a execução do backup:

@ECHO OFF

SET DT=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%

SET TM=%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%

SQLCMD -E -S . -Q “BACKUP DATABASE [DB1] TO DISK = ‘D:\Temp\Backup\DB1_FULL_%DT%_%TM%.BAK’ WITH INIT “

Agora, podemos incrementar nosso arquivo batch com parâmetros para substituição, log, etc.

Atualização:

No meu ambiente, as configurações regionais estão definidas como Português-Brasil (formato DD/MM/YYYY. Logo, se o servidor ou estação estiver em inglês ou outro idioma, será necessário fazer uma adaptação.

 

Espero que tenha contribuído.
Boa semana a todos.

Anúncios

Esta é uma situação comum.
Agradecimentos ao Márcio Hunecke pela compilação!

Márcio Hunecke - marciohunecke@hotmail.com

 

Em algumas situações, “não muito bem explicadas”, o File Replication Services pára de replicar o SYSVOL ou o conteúdo da DFS. Nessas situações é necessário reiniciar as replicas FRS. Esse erro é comum acontecer quando um domain controler é virtualizado (P2V).

Exemplo do erro na replicação do SYSVOL

image

Solução é apresentada no link: http://support.microsoft.com/kb/290762/en-us

Resumidamente:

Após os passos acima, o problema de replicação deve estar corrigido. Os logs abaixo devem aparecer (13553, 13554 e 13516).

image

image

image

image

Para quem está utilizando somente controladores de domínio Windows Server 2008 ou superior, é fortemente recomendado migrar a replicação do SYSVOL de FRS para DFS-R. Segue link com procedimento e mais informações: http://technet.microsoft.com/en-us/library/dd640019(v=WS.10).aspx

Agradecimento especial:

LUIS HENRIQUE SCHWELM

MCTS ID:1841889

Ver o post original

Diretivas para Antivirus em Plataforma Microsoft

Pessoal,

Encontrei um bom artigo sobre configuração de software antivírus em plataforma e produtos Microsoft. O link original é esse:
http://www.petri.co.il/anti-virus-exclusionn-guidelines-for-microsoft-products.htm

A compilação é bem completa, vou reproduzir abaixo para conveniência.

General Enterprise Configuration Recommendations for Windows operating systems:
 
http://support.microsoft.com/kb/822158

Forefront:
 
http://support.microsoft.com/kb/943556
 
http://support.microsoft.com/kb/943620
 
http://technet.microsoft.com/en-us/library/cc707727.aspx
 
Windows / Active Directory:
 
http://support.microsoft.com/kb/822158

http://support.microsoft.com/kb/837932
 
http://support.microsoft.com/kb/943556

FRS:
 
http://support.microsoft.com/kb/815263
 
SQL Server:
 
http://support.microsoft.com/kb/309422
 
IIS:
 
http://support.microsoft.com/kb/821749
 
http://support.microsoft.com/kb/817442
 
DHCP:
 
http://support.microsoft.com/kb/927059
 
System Center Configuration Manager 2007:
 
http://blogs.technet.com/b/configurationmgr/archive/2010/11/30/configmgr-2007-antivirus-scan-and-exclusion-recommendations.aspx
 
System Center Operations Manager / Microsoft Operations Manager:
 
http://support.microsoft.com/kb/975931
 
http://social.technet.microsoft.com/wiki/contents/articles/recommendations-for-antivirus-exclusions-in-mom-2005-and-operations-manager-2007.aspx
 
Systems Management Server (SMS):
 
http://support.microsoft.com/kb/327453
 
Hyper-V:
 
http://support.microsoft.com/kb/961804
 
Med-V:
 
http://social.technet.microsoft.com/wiki/contents/articles/recommended-anti-virus-exclusions-for-med-v-client-and-workspace-installations.aspx
 
App-V:
 
http://support.microsoft.com/kb/2576031
 
Exchange Server:
 
http://support.microsoft.com/kb/328841
 
http://support.microsoft.com/kb/823166
 
http://support.microsoft.com/kb/245822
 
http://technet.microsoft.com/en-us/library/bb332342(EXCHG.80).aspx
 
http://technet.microsoft.com/en-us/library/bb332342.aspx
 
Lync:
 
http://technet.microsoft.com/en-us/library/gg195736.aspx
 
Failover Clustering:
 
http://support.microsoft.com/kb/250355
 
Sharepoint:
 
http://support.microsoft.com/kb/952167
 
http://support.microsoft.com/kb/320111
 
http://support.microsoft.com/kb/322941
 
ISA:
 
http://support.microsoft.com/kb/887311
 
WSUS and Windows Update:
 
http://support.microsoft.com/kb/900638
 
SBS:
 
http://support.microsoft.com/kb/885685
 
Data Protection Manager (DPM):
 
http://technet.microsoft.com/en-us/library/bb808691.aspx
 
http://technet.microsoft.com/en-us/library/ff399439.aspx
 
Dynamics CRM:
 
http://community.dynamics.com/product/crm/crmtechnical/b/crminthefield/archive/2011/01/24/anti-virus-exclusions-for-microsoft-dynamics-crm.aspx
 
Dynamics AX:
 
http://blogs.msdn.com/b/czdaxsup/archive/2010/05/13/ax-application-files-locked-by-another-process.aspx

Outros links:
 
Virus scanning recommendations for Enterprise computers that are running currently supported versions of Windows
http://support.microsoft.com/kb/822158
 
Anti-Virus Exclusions and You! – Dude where’s my PFE? – TechNet Blogs
http://blogs.technet.com/b/jeff_stokes/archive/2010/05/19/anti-virus-exclusions-and-you.aspx 

Windows Anti Virus Exclusion List – TechNet Wiki
http://social.technet.microsoft.com/wiki/contents/articles/953.aspx

“Horário Brasileiro de Verão” on Technet LATAM Team Blog

Pessoal,

Foi publicado um post no blog de suporte para América Latina, com informações uteis para administradores de rede:

Upcoming DST changes in Brazil–2011-2012

http://blogs.technet.com/b/latam/archive/2011/10/11/upcoming-dst-changes-in-brazil-2011-2012.aspx

  • Regra do horário brasileiro de verão;
    • Do 3º domingo de outubro
      até o 3º domingo de fevereiro
    • Exceções (Carnaval coincidindo com o final do horário de verão prolonga em uma semana o DST)
  • Entradas de registro:
    • Uso do registro pelo Windows Vista e Windows 2008 (Dynamic DST)
    • Windows XP e Windows 2003 não usam esta chave
  • Recomendações para implementação (hotfixes):
    • Computadores Windows Vista, 2008 ou posteriores, atualizados com os patches semestrais de correção de fuso horário, não precisam realizar alterações[1].
    • Ocorrerá a publicação de um patch de correção para Windows XP e Windows 2003 em dezembro de 2012.

 

New Update brings TZUTIL command-line tool to Windows Vista and Windows 2008

http://blogs.technet.com/b/latam/archive/2011/10/11/new-update-brings-tzutil-command-line-tool-to-windows-vista-and-windows-2008.aspx

  • Implementará a alteração de fusos horários (time zones) através de scripts (não suportado atualmente).

 

Observações:

[1]O artigo diz:
Windows Vista and newer operating systems already have the all the known exceptions for the Brazilian DST up to 2040 stored on the Dynamic DST key“.

REPOST: Alguna curiosidad sobre la palabra clave (keyword) IN en SQL Server

Conhecimentos básicos de SQL Server

Tenho conversado sobre este assunto em alguns dos cursos que ministro aqui no Microsoft CPLS que eu trabalho. O texto abaixo descreve exatamente o que se vê no mercado:

“Es fundamental que como desarrollador de bases de datos, conozca el funcionamiento interno de SQL Server para que las consultas que usted codifica sean eficientes en SQL Server.

Lamentablemente, la figura de Desarrollador de Bases de Datos (DBD) es una figura en extinción en estos días en los que se tiende a entender la base de datos como un simple repositorio de información.”

 

Sugiro a leitura do post (tudo bem, está em espanhol, mas vale a pena até o fim); em minha opinião, esta atitude é a diferença entre um ESPECIALISTA e alguém que apenas CONHECE a tecnologia.

Post Original

 

 

Abraços!

Acesso negado ao abrir console do DNS???

Boa tarde.

Simplesmente TIVE que dedicar uns minutos para post. criar este Atendi um cliente informando que, ao abrir o console do DNS, aparecia a mensagem “Acesso Negado”.

(Após muito tempo) investigando os logs do servidor, encontrei os seguintes erros:

Log Name:      DNS Server
Source:        Microsoft-Windows-DNS-Server-Service
Event ID:      4007
Description:
The DNS server was unable to open zone _msdcs.domain.com.br in the 
Active Directory from the application directory partition domain.com.br. 
This DNS server is configured to obtain and use information from the 
directory for this zone and is unable to load the zone without it. Check
that the Active Directory is functioning properly and reload the zone.
The event data is the error code.
(---> mesmo erro ocorre para ForestDnsZones <---)

Outro, ue ocorreu ao mesmo tempo:

Active Directory Domain Services was unable to establish a connection 
with the global catalog.
Additional Data
Error value:
8430 The directory service encountered an internal failure.
Internal ID:
3200db0
User Action:
Make sure a global catalog is available in the forest, 
and is reachable from this domain controller.
You may use the nltest utility to diagnose this problem.

Utilizando o DCDIAG para analisar a conectividade com o Global Catalog, foram encontrados alguns erros, que me levaram (via Oráculo) até este blog: http://blog.joecrain.com/active-directory-global-catalog-error-eventids-1126-and-1655

A solução final foi resetar a senha do secure channel (canal de comunicacao seguro com os serviços do domínio – conta de computador):

NLTEST /SC_CHANGE_PWD:domain.com.br

Command Prompt Window

Voilá! Voltou a funcionar. Fica a dica.

Abraços!

NLTEST / sc_change_pwd: domain.com.br
AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDetect languageDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddish

Detect language » Portuguese

IIS SMTP Service no Windows Server 2008

Boa tarde!

Após um período de correrias, volto ao blog.

Na semana passada estava fazendo um troubleshooting em um servidor Windows Server 2008 com o serviço SMTP instalado.

Tudo parecia bem, até o momento que problemas (outros) demandaram a análise do log. A definição da pasta do log fica nas propriedades do servidor virtual (por padrão, c;\windows\system32\logfiles\smtpsvc#, onde # é o numero da instância do serviço.

O problema é que a pasta não estava sendo criada, tampouco aparecia algum indicativo no log doWindows. Minha segunda abordagem foi analisar o que o Windows estava fazendo, com a ferramenta ProcessMonitor (http://technet.microsoft.com/en-us/sysinternals/bb896645).

De posse do output gerado, vamos à pesquisa (a.k.a. Google) e eis a solução: faltava a instalação de uma dependência: o módulo ODBC logging.

Módulo instalado, serviço reiniciado e voilá! Pasta criada e arquivo de log gerado.

 

Espero que tenha sido útil.

PS:

Fiz a instalação com este comando:

ServerManagerCmd -Install Web-ODBC-Logging

 

Abraços!

Marcelo.