Short Scripts – Maio 2020

Neste segundo post de 2020 da sessão Short Scripts, você vai encontrar 7 exemplos diferentes de como podemos utilizar as Extended Stored Procedures (XPs), algumas não documentadas no Microsoft SQL Server.


Olá boa tarde, como vai?

Seja bem-vindo, em mais um post da sessão Short Scripts, o segundo post desta sessão em 2020 e o de número 41 em seu total.

Espero que você e seus familiares se encontrem bem neste momento terrível que estamos vivendo em todo Mundo.

Mantendo a tradição estou retornando com mais um conjunto dos “curtos ou pequenos” scripts catalogados e armazenados em minha biblioteca pessoal de códigos relacionados ao Microsoft SQL Server e sua fantástica linguagem de desenvolvimento Transact-SQL.

Como promessa é dívida e deve ser cumprida “ou melhor” compartilhada, vou pagar a minha mais uma vez hoje, feita no encerramento do post anterior publicado no mês de fevereira em 2010, se por acaso você ainda não acessou o mesmo, calma, fique tranquilo, tudo vai dar certo, no encerramento deste post você terá a sua disposição a relação das últimas cinco publicações relacionadas aos Short Scripts.

Vamos caminhar mais um pouco então……..

O post de hoje

Para este post, não vou exatamente compartilhar um conjunto variado de scripts que foram catalogados nos últimos meses, ao contrário, vou disponibilizar um conteúdo que foi elaborado hoje, dedicado de forma única e exclusiva a demonstrar como podemos utilizar as chamadas Extended Stored Procedures no Microsoft SQL Server.

Em conjunto com o uso de forma de execução da Extended Stored Procedure, os exemplos de código aqui compartilhados se relacionam com os seguintes assuntos:

● Cláusula From;
● Cláusula Where;
● Comando Alter Table;
● Comando Begin;
● Comando Begin;
● Comando Create Procedure;
● Comando Create Table;
● Comando Declare;
● Comando Exec;
● Comando Execute;
● Comando Go;
● Comando Insert;
● Comando Reconfigure;
● Comando Select;
● Comando Set;
● Comando Union;
● Comando Update;
● Comando Use;
● DataType Char();
● DataType Datetime;
● DataType Decimal();
● DataType Varchar();
● Diretiva Set;
● Extended Stored Procedure XP_CMDShell;
● Extended Stored Procedure XP_ExecResult;
● Extended Stored Procedure XP_FixedDrives;
● Extended Stored Procedure XP_ReadErrorLog;
● Extended XP_Delete_File;
● Função Convert();
● Função DataLength();
● Função DateAdd();
● Função GetDate();
● System Stored Procedure SP_Configure;
● System Stored Procedure SP_Help; e
● Variáveis.
 

Chegou a hora, mãos nos teclados, a seguir apresento os códigos e exemplos selecionados para o Short Script – Maio 2020. Vale ressaltar que todos os scripts publicados nesta sessão foram devidamente testados, mas isso não significa que você pode fazer uso dos mesmo em seu ambiente de produção, vale sim todo cuidado possível para evitar maiores problemas.

Fique à vontade para compartilhar, comentar e melhorar cada um destes códigos.


Short Scripts

— Exemplo 1 — Identificando a porta Padrão do Microsoft SQL Server através da XP_ReadErrorLog —
Use Master
Go

Exec XP_readerrorlog 0, 1, N’Server is listening on’
Go

— Exemplo 2 — Habilitando a Extended Stored Procedure XP_CMDShell -utilizand a Sigla DSH —

— Ativando a exibição das configurações avançadas —
EXECUTE sys.sp_configure @configname = ‘show advanced options’,@configvalue = 1
Go

— Aplicando a alteração —
Reconfigure
Go

— Ativando para uso da XP_CMDShell —
EXECUTE sys.sp_configure @configname = ‘dsh’,@configvalue = 1
Go

— Aplicando a alteração —
Reconfigure
Go

Observação: Como você deve ter percebido, para se fazer uso da Extended Stored Procedure XP_CMDShell, que por padrão vem desabilitada nas configurações internas do SQL Server, temos a necessidade de ativar a exibição das configurações avançadas da nossa instância ou servidor, utilizando a System Stored Procedure SP_Configure, e posteriormente ativar da XP_ CMDShell.

Caso queira saber mais sobre este recurso e demais configurações existentes, acesse:

— Exemplo 3 — Obtendo a quantidade de Megabytes livres em disco através da XP_FixedDrives
Exec xp_fixeddrives
Go

— Exemplo 4 — Excluíndo arquivos específicos através da XP_DeleteFile
Declare @DateString CHAR(10)
Set @DateString = CONVERT(CHAR(10), DATEADD(d, -2, GETDATE()), 103)

Execute master.dbo.xp_delete_file 0, N’E:\MSSQL2012-Backup\BaanModelEA’,N’bak’, @DateString, 1
Go

— Exemplo 5 — Importando o conteúdo de arquivos .csv para dentro de uma tabela através da XP_CMDShell
CREATE TABLE Test
(Empid varchar(6),
Empname varchar(100),
BirthDate datetime,
Salary decimal(12,2),
Nome Varchar(2000))
Go

INSERT INTO Test
SELECT ‘EMP001′,’Suresh’,’19910619′,3000,’Pedro Galvão’
UNION ALL
SELECT ‘EMP002′,’Ramesh’,’19710103′,20000,’Teste’
UNION ALL
SELECT ‘EMP003′,’Nilesh’,’19800722′,4760,”
UNION ALL
SELECT ‘EMP004′,’Kumar’,’19680911′,42000,”
Go

Declare @Comando Varchar(500)
Set @Comando=’bcp Master..Test out c:\teste.csv -SServer -c -t, /CACP -T’

Exec xp_cmdshell @Comando
Go

— Exemplo 6 — Armazenando o Endereço de IP em uma tabela, através da execução de uma Stored Procedure, com base no resultado da XP_CMDShell —

— Exibindo as configurações avançadas —
EXEC sp_configure ‘show advanced options’, 1
Go

— Aplicando a alteração —
RECONFIGURE
Go

— Ativando o uso da XP_CMDShell —
EXEC sp_configure ‘xp_cmdshell’, 1
Go

— Aplicando a alteração —
RECONFIGURE
Go


Create Procedure P_RetornarIP @IP VarChar(25) Output
As
Begin

Set NoCount On

Declare @Auditoria2 Table
(Codigo Int Identity(1,1),
IP VarChar(2000))

Set RowCount 8

Insert Into @Auditoria2
exec master.dbo.xp_cmdshell ‘ipconfig’

Select @IP=(Select Replace(Substring(IP,CharIndex(‘:’,IP,1),25),’:’,”) from @Auditoria2
Where Codigo = 8)

End

Create Table Auditoria
(Codigo Int Identity(1,1),
HostName VarChar(20) Null)

Declare @IP VarChar(25)

Exec P_RetornarIP @IP OutPut
Insert Into Auditoria Values (@IP)

Select * from Auditoria
Go

— Exemplo 7 — Executando uma Instrução Transact-SQL através da XP_ExecResultSets —
Exec Master..XP_ExecResultSet ‘Select ”SP_help ””produtos”””’, ‘BancoDeDados’
Go

Exec Master..XP_ExecResultSet ‘Select ”Select * From produtos”’, ‘BancoDeDados’
Go


Muito bem, missão mais que cumprida!

Uma nova relação de short scripts acaba de ser compartilhada, mesmo sendo denominados shorts entre aspas “curtos ou pequenos”, posso garantir que todos estes exemplos são de grande importância, apresentam um valor e conhecimento do mais alto nível.

Chegamos ao final de mais um Short Scripts, espero que este material possa lhe ajudar, ilustrando o uso de alguns recursos e funcionalidades do Microsoft SQL Server.

Acredito que você tenha observado que estes códigos são conhecidos em meu blog, todos estão relacionados aos posts dedicados ao Microsoft SQL Server publicados no decorrer dos últimos anos.

Boa parte deste material é fruto de um trabalho dedicado exclusivamente a colaboração com a comunidade, visando sempre encontrar algo que possa ser a solução de um determinado problema, bem como, a demonstração de como se pode fazer uso de um determinado recurso.

Links

Caso você queira acessar os últimos posts desta sessão, não perca tempo acesse os links listados abaixo:

https://pedrogalvaojunior.wordpress.com/2020/02/05/8295/

https://pedrogalvaojunior.wordpress.com/2019/11/15/short-scripts-novembro-2019/

https://pedrogalvaojunior.wordpress.com/2019/09/11/short-scripts-setembro-2019/

https://pedrogalvaojunior.wordpress.com/2019/06/08/short-scripts-junho-2019/

https://pedrogalvaojunior.wordpress.com/2019/03/15/short-scripts-marco-2019/

Agradecimento

Obrigado mais uma vez por sua visita, fico honrado com sua ilustre presença ao meu blog, desejo e espero que você possa ter encontrado algo que lhe ajudou.

Volte sempre, nos encontraremos mais uma vez na sessão Short Scripts no post a ser publicado no mês de agosto em 2020.

Um forte abraço, saúde e paz.

Até mais.

Excelentes cursos on-line para aprender estatísticas, machine learning e deep learning enquanto você está trancado em casa

Segundo Martin Heller (Infoworld), Cursos gratuitos de ciência de dados durante a quarentena.


Ciência de dadosUm dos campos mais lucrativos a serem abertos nos últimos dois anos é a ciência de dados.

Se você já pode programar em Python ou R, essa habilidade lhe dará uma vantagem sobre a ciência de dados aplicada. Por outro lado, a programação não é a parte mais difícil para a maioria das pessoas – são os métodos numéricos.

Coursera oferece muitos dos seguintes cursos. Você pode assistir as aulas gratuitamente, mas precisa pagar pelo certificado. Confira, abaixo, algumas opções de qualificação:

Ciência de dados aplicada com especialização em Python

Por Christopher Brooks, Kevyn Collins-Thompson, V.G. Vinod Vydiswaran e Daniel Romero, Universidade de Michigan / Coursera 

Os cinco cursos (89 horas) desta especialização da Universidade de Michigan apresentam a ciência de dados através da linguagem de programação Python.

Essa especialização é direcionada a alunos que têm experiência básica em Python ou programação e que desejam aplicar técnicas estatísticas, de machine learning, visualização de informações, análise de texto e análise de redes sociais por meio de kits de ferramentas Python populares, como Pandas, Matplotlib, Scikit-learn, NLTK e NetworkX para obter informações sobre seus dados.

Continue Lendo “Excelentes cursos on-line para aprender estatísticas, machine learning e deep learning enquanto você está trancado em casa”

Segredo para inspirar equipes em tempos tão desafiadores está no gerenciamento inteligente e adaptável

Segundo John Edwards, existem maneiras de otimizar a produtividade da equipe de TI mesmo em tempos de pandemia.


7 maneiras de otimizar a produtividade da equipe de TI em tempos difíceis

Otimizar a produtividade da equipe de TI é sempre um desafio, mas, no ambiente de negócios extraordinário de hoje, garantir que a TI atenda ou supere as metas definidas é uma tarefa muito difícil.

Pelo lado positivo, qualquer um que possa habilmente dirigir seu departamento pelas águas turbulentas de hoje emergirá da crise atual com uma sólida reputação de obter sucesso sob extrema pressão.

Continue Lendo “Segredo para inspirar equipes em tempos tão desafiadores está no gerenciamento inteligente e adaptável”

Deseja aprender a programar?

Estes excelentes cursos introdutórios gratuitos da Codecademy e Coursera farão com que você codifique rapidamente.


Os melhores cursos de programação gratuitos para aprender durante a quarentena

Então você quer aprender a programar, mas não pode sair de casa. Não tem problema. Você pode fazer cursos on-line que ensinam os princípios de desenvolvimento de software, juntamente com sua primeira linguagem de programação. O passo importante é aprender a pensar como um programador.

Existem vários bons cursos de programação disponíveis on-line, mas nem todos são gratuitos.

Continue Lendo “Deseja aprender a programar?”