top of page
Posts do fórum
sebastiao.silva
23 de mar. de 2023
In Linguagem de programação
Verificar se um servidor SQL Server está com seu e-mail é com toda certeza muito importante. Nesse artigo eu vou te mostrar o passo a passou de como verificar se o seu servidor está corretamente configurado e se não, como mudar isso?
Bom primeiro acesse o MSSMS (Microsoft SQL Server Management Studio).
Em Object Explore, procure a opção: “Database Mail”.
Clique com o botão direito em cima de Database Mail e vá em: “Configure Database Mail”.
Após isso você se encontra nessa janela. Selecione a primeira opção que provavelmente já vai estar selecionada e clique em NEXT.
Vai aparecer uma mensagem dizendo que a função não está habilitada e se você deseja habilitar. Clique em “YES”.
Insira um nome e clique em “Add...”
Em sequência preencha os campos. Atenção!!! De um tempo pra cá o google desabilitou uma opção que tinha que ter habilitada. Então faça o seguinte:
Entre em https://myaccount.google.com/
Lá você vai pesquisar por “SENHAS DO APP”.
Selecione gmail e o computador windows
Pega a senha que ele gerar e ao invés de pôr a senha do seu g-mail normal, coloque esta que foi gerada.
Lembrando que em “Serve name”, você deve colocar: smtp.gmail.com e em “Port number”: 587, o número da porta dele (isso se o e-mail for gmail). Caso seja outro tipo de e-mail você deve procurar o serv name dele e o número da porta dele. No meu exemplo estou usando o gmail.
Após os dados terem sido preenchidos clique em OK, NEXT e por final, FINISH
Após a configuração finalizar vá em Database Email novamente, clique com o botão direito e selecione: “Send test e-mail". Vamos fazer um teste e enviar um e-mail confirmando se a configuração está funcionando.
Prontinho!!! É só verificar a caixa de entrada do e-mail que você selecionou para receber o teste.
Conclusão
A importância de ter o e-mail de um servido SQL Server configurado é que através dele você pode receber avisos de erros que ocorrerem no servidor. Também é possível receber alertas de backup que estão sendo realizado entre outros situações. Esses são só alguns exemplos de aplicações que trabalham em conjunto com o database e-mail. Então lembre-se, quando você se deparar com algum servidor que não é do seu conhecimento, sempre procure saber se o database e-mail está corretamente configurado pois sem ele você estará se certa forma no escuro e só vai saber dos ocorridos, sejam bons ou ruins quando você chegar no servidor.
2
1
100
sebastiao.silva
07 de mar. de 2023
In Linguagem de programação
O SQL Server possui vários tipos de backup. Os principais são Log, full e diferencial. Cada um desses possui uma maneira peculiar no momento de realizar o backup, mas ao mesmo tempo são bem parecidos.
Por que devemos realizar backups?
Bem, essa pergunta é bem simples de ser respondida. A realização de um backup é um método preventivo onde você se precaver a futuros desastre. É através dele que você salva copias de arquivos, bases e etc. Se você estiver trabalhando com um arquivo contendo um banco de dados, e por algum motivo esse arquivo corromper, toda a informação dentro dele estaria perdida se você não tiver um backup dele salva em um lugar seguro. É muito importe que você fique atento, pois em bancos que você trabalha diariamente, seria ábio programar backups diariamente ou de acordo com a demanda do negócio em que você trabalha.
Quais são os tipos de backup?
Bom nesse artigo nós vamos falar de 3 tipos: Full, Log e Diferencial. Eu vou mostrar na prática como realizar cada um deles mostrando passo a passo.
Entenda o que alguns dos comandos das sintaxes utilizadas nesses exemples faz:
INIT/NOINIT -> Define se o arquivo será sobre escrito;
COMPRESSION -> Como o próprio nome sugere ele faz a compressão dos arquivos;
STATS = 5 -> Informa o progresso do backup a cada 5% de execução;
CHECKSUM -> Esse comando é supereficiente. Ele ajuda a encontrar problemas de corrupção mais rapidamente.
Vamos começar com o...
Backup Full
Caracteristicas:
Salva todas as páginas de um BD; Salva o log das transações ativas durante o backup.
Backup Diferencial
Ele trabalha em conjunto com o Full. Ele faz o backup desde o momento em que o último backup full foi feito. Repare na imagem abaixo, que diferente do full o comando INIT é substituído pelo DIFFERENTIAL, fique atento a esse detalhe.
Caracteristicas:
Só é possível executar se existir um backup full; Salva as páginas de dados alteradas desde o último backup full; Ele é acumulativo. Independente de quantos você executar o último backup diff sempre terá os dados do último full.
Backup Log
O arquivo LDF é dividido em vários setores chamados de VLF (Virtual log file). À medida que você vai fazendo INSERT, UPDATE E DELETE, esses VLF vão sendo preenchidos. Quando você fizer o backup do log, o SQL vai pegas todos os registros/entradas do arquivo de log, salvá-los em backup e então o arquivo de log é truncado. Porém se algum arquivo do log estiver sendo utilizado, esse não receberá o backup. No backup do log também existe uma diferença na sintaxe em relação aos outros tipos. Na primeira linha o comando DATABASE é substituído por LOG
Algumas características
Cada insert, update e delete realizado na base é armazenado no log na sequência; Com o banco sendo utilizado o log vai crescendo até que seja realizado um backup do log para salvar o log das transações já concluídas; Obrigatória para o recovery models full e Bulk logged;
Resultado
Após os backups serem realizado eles serão encaminhados para a pasta que você selecionou no seu script. Uma boa prática é nunca deixar esses arquivos em um mesmo disco. Essa demonstração só está sendo realizada assim pois eu não tenho um outro disco aqui no momento. Observe na imagem abaixo:
Conclusão
Existe outra maneira de se realizar os backups que é através de caminhos já prontos, onde você só vai digitar as informações sem a necessidade de gerar os scripts, diferente da forma que foi utilizado em nossos exemplos. Outros pontos acompanham esse processo de backup, como um plano de manutenção, alertas de log e o restore desses backups. O intuito desse artigo foi apenas de mostrar o ponta pé inicial desses processos.
2
0
551
sebastiao.silva
28 de fev. de 2023
In Linguagem de programação
O comando JOIN no SQL Server é muito útil quando você precisar unir linhas e colunas de uma tabela para trazer um determinado resultado. Ele também traz a diferença entre as tabelas ou valores equivalentes de ambas. Ele consegue filtrar os dados e retornar apenas o que você quer analisar.
Quais tipos de JOIN existe e como eles funcionam?
Bom existem 5 tipos de JOIN, sendo que cada um deles podem ser usados para trazer os dados de várias formas e auxiliando a gerenciar as análises desses dados.
Os tipos são:
INNER JOIN FULL JOIN LEFT JOIN RIGHT JOIN CROSS JOIN
Vamos começar com o comando INNER JOIN
Basicamente o comando INNER JOIN traz para nós o resultado de uma intersecção entre as tabelas. Ou seja, ele vai dar como resultado os dados que são iguais entre a tabela A e a Tabela B.
Vamos ver na prática alguns exemplos de JOINS utilizando as tabelas abaixo, A e B...
A sintaxe para o comando é:
SELECT A.id1, B.id2
FROM TabelaA as A
INNER JOIN TabelaB as B
ON A.ID1 = B.ID2
Reparem que baseado em nossas duas tabelas, o resultado que tivemos foram os valores: A, B e C. Como foi explicado anteriormente, o INNER JOIN trás somente os valores que estiverem em intersecção, ou seja, os valores D e o valor E não existem na tabela B, então não foram retornados.
FULL JOIN
O FULL JOIN é de certa forma bem mais simples de entender pois ele retorna todos os dados que existem tanto na Tabela A quanto na Tabela B. É como se você estivesse dando um SELECT * nas duas tabelas.
A sintaxe para o comando é:
SELECT *
FROM TabelaA as A
FULL OUTER JOIN TabelaB as B
ON A.ID1 = B.ID2
Como podemos ver na imagem acima, eu dei um SELECT * nas duas tabelas para facilitar de forma visual o seu entendimento. O comando trouxe como resultado todos os dados das tabelas A e B sendo que as linhas que não estão em intersecção são retornadas como valor NULL.
LEFT JOIN
Esse comando tem como prioridade retornar todos os dados que estão na tabela a esquerda, mas ainda assim trazendo a intersecção com a tabela da direita e ignorando todo o resto dos dados dessa tabela. Lembrando que se não for encontrar uma intersecção entre alguma linha das tabelas o comando retornará os valores como valor NULL. No script abaixo ele vai retornar todos os dados que estão na Tabela A. Lembrando que a tabela a esquerda é sempre a que aparece após o comando FROM.
Observe a sintaxe:
SELECT A.Nome , B.Nome
FROM tabelaA as A
LEFT JOIN tabelaB as B
ON A.ID1 = B.ID2
Nessa imagem da pra ver que ele deu prioridade em trazer todo o conteúdo da Tabela A (tabela da esquerda) e também trouxe a intersecção com a Tabela B. E como foi dito anteriormente, ele também traz os valores nulos da tabela à direita.
RIGHT JOIN
Muito similar ao seu companheiro LEFT JOIN. O RIGHT JOIN da prioridade em trazer todos os dados da direita e sua sintaxe também é similar à do LEFT JOIN. Ele trata da mesma maneira a questão da falta de valores fora da intersecção serem retornado como valores NULL.
Sintaxe:
SELECT A.Nome, B.Nome
FROM TabelaA as A
RIGHT JOIN TabelaB as B
ON A.nome = B.nome
Nesse exemplo eu fiz um pequeno INSERT na tabela B. Eu inserir os valores F e G para que ficasse mais visível que assim como o LEFT JOIN, o comando RIGHT além de trazer os valores da tabela à direita também retorna as linhas que estão na intersecção e os valores que não estão também são retornados como NULL.
CROSS JOIN
O último mais não menos importante. O CROSS JOIN pode ser um pouco mais complexo parar entender, vamos dar um exemplo: Na tabela A existem o valor 1,2 e 3. Já na tabela B existem os valores 1,2,3,4,5,6. O comando CROSS faz com que tanto o valor 1 e o 2 da tabela A sejam retornados 6 vezes com cada um dos valores da tabela B. Esse processo é conhecido também como produto cartesiano.
Vejam a sintaxe e uma imagem para maior entendimento:
FROM TabelaA as A
CROSS JOIN TabelaB as B
Reparem que todos os valores da Tabela A foram retornados com um dos valores da Tabela B. Esse é o famoso produto cartesiano.
Conclusão
Como descobrimos o comando JOIN é muito útil pra facilitar a filtragem de dados e criar consultas que necessitam de um certo nível de complexidade, sendo ao mesmo tempo uma forma simples e prática.
0
0
43
sebastiao.silva
Mais ações
bottom of page