Lançamento – SQL Server 2016

Olá galera,

Hoje um dia muito especial 07/04, teremos o lançamento do SQL Server 2016, que está acontecendo na Microsoft de São Paulo, com todo o time de especialistas e engenheiros da Microsoft, apresentando algumas das novidades da nova versão.

Haverá uma transmissão online gratuita, no qual pode ser acessada através do link abaixo, lembrando á partir das 09:00.

Microsoft Data Driven – Lançamento SQL Server 2016

 

Certificação Microsoft Second Shot Gratuito

Por tempo limitado, faça qualquer exame de Microsoft Certified Professional (MCP) e ganhe uma repetição gratuita se não for aprovado!

Como obter meu novo exame gratuito?

Ao agendar e fazer um exame de MCP entre 12 de julho de 2015 e 12 de janeiro de 2016, você se torna elegível para uma repetição gratuita se não for aprovado em sua primeira tentativa. Você tem 30 dias a partir da data do exame em que foi reprovado para agendar o novo exame. Para agendar a repetição, clique no link Entrar no canto superior direito desta página e entre com sua conta da Microsoft, selecione seu exame na lista de exames e clique em Agendar agora gratuitamente.

Quais exames estão incluídos nesta oferta?

Todos os exames de certificação Microsoft Certified Solutions Associate (MCSA), Microsoft Certified Solutions Expert (MCSE), Microsoft Certified Solutions Developer (MCSD) e Microsoft Specialist, além de exames do Microsoft Dynamics são elegíveis para esta oferta Second Shot. Os exames Microsoft Technology Associate (MTA) e Microsoft Office Specialist (MOS) não se qualificam para esta oferta.

https://www.microsoft.com/learning/pt-br/second-shot.aspx

Como recuperar a senha root do MySQL?

Caso tenha perdido a senha root do MySQL ou simplesmente não se lembra dela, segue passo a passo para recupera-la:

  1. Parar o serviço do MySQL caso ele esteja em execução “/etc/init.d/mysql stop”
  2. Subir o servidor “skipando” a camada responsável por verificar os privilégios de usuários /usr/bin/mysqld_safe –skip-grant-tables &, lembrando que quando você subir o servidor com esta opção, ele irá aceitar que qualquer usuário se conecte ao banco de dados MySQL com acesso TOTAL a TODOS os bancos de dados então, para inibir que outras pessoas se conectem ao banco no período em que você estará fazendo a manutenção sugiro que você utilize o seguinte comando para subir o banco de dados/usr/bin/mysqld_safe –skip-grant-tables –skip-networking & ,neste caso, não serão aceitas conexões através do protocolo TCP/IP e lembrando que “/usr/bin/mysqld_safe” é a pasta onde o core do MySQL está instalado
  3. Conectar-se ao servidor com o comando mysql -u qualquer_coisa
  4. Digitar update mysql.user set Password=PASSWORD(‘new-password’) WHERE User=’root’
  5. Parar o banco com o comando mysqladmin -u qualquer_coisa shutdowne iniciar novamente com o comando padrão /usr/bin/mysqld_safe & ou ir diretamente pelo serviço com o comando /etc/init.d/mysql restart

Listar usuários e permissões – SQL Server

Me deparei com um desafio, de identificar todos os usuários e permissões, de todos os database da minha instancia. Pesquisando encontrei este script do http://www.pythian.com onde lista todas as bases, quais database roles possuem acessos, todos os usuários e as roles das quais ele participa.

DECLARE @DB_USers TABLE
(DBName sysname, UserName sysname, LoginType sysname, AssociatedRole varchar(max),create_date datetime,modify_date datetime)

INSERT @DB_USers
EXEC sp_MSforeachdb


use [?]
SELECT ”?” AS DB_Name,
case prin.name when ”dbo” then prin.name + ” (”+ (select SUSER_SNAME(owner_sid) from master.sys.databases where name =”?”) + ”)” else prin.name end AS UserName,
prin.type_desc AS LoginType,
isnull(USER_NAME(mem.role_principal_id),””) AS AssociatedRole ,create_date,modify_date
FROM sys.database_principals prin
LEFT OUTER JOIN sys.database_role_members mem ON prin.principal_id=mem.member_principal_id
WHERE prin.sid IS NOT NULL and prin.sid NOT IN (0x00) and
prin.is_fixed_role <> 1 AND prin.name NOT LIKE ”##%”’

SELECT

dbname,username ,logintype ,create_date ,modify_date ,

STUFF(

(

SELECT ‘,’ + CONVERT(VARCHAR(500),associatedrole)

FROM @DB_USers user2

WHERE

user1.DBName=user2.DBName AND user1.UserName=user2.UserName

FOR XML PATH()

)

,1,1,AS Permissions_user

FROM @DB_USers user1

GROUP BY

dbname,username ,logintype ,create_date ,modify_date

ORDER BY DBName,username

Diferença entre OLTP e OLAP

Qual a diferença entre OLTP e OLAP?

Segue abaixo, uma breve explicativo, da diferença entre OLTP e OLAP:

OLTP (On-line Transaction Processing) captura as transações de negócios de um sistema e armazena no banco de dados. Esse tipo de base é utilizada em sistemas que registram pequenas transações (INSERT, UPDATE, DELETE) realizadas em tempo real e que ocorrem constantemente e de forma rápida. Os dados também podem ser alterados. Por não salvar histórico dos dados, isso não o qualifica como uma base de dados ideal para ajudar na tomada de decisões. Também é uma base que necessita de backup regularmente, pois caso o banco de dados seja perdido os dados não podem ser reaproveitados.

OLAP (On-line Analitical Process) análise e consolidação de dados, pois é o processamento analítico online dos dados. Tem capacidade de visualizações das informações a partir de muitas perspectivas diferentes, enquanto mantém uma estrutura de dados adequada e eficiente. A visualização é realizada em dados agregados, e não em dados operacionais porque a aplicação OLAP tem por finalidade apoiar os usuários finais a tomar decisões estratégicas. Os dados são apresentados em termos de medidas e dimensão, a maior parte das dimensões é hierárquica.

O nível operacional e o nível administrativo utilizam OLTP (vendas, compra, RH etc.) para operações que ocorrem no dia-dia da empresa.

O nível de conhecimento e o nível estratégico da empresa (os administradores por exemplo) utilizam o OLAP para as tomadas de decisões e assim traçar um planejamento estratégico.
A tabela abaixo resume as principais diferenças entre OLTP e OLAP:

Área

OLTP Sistema Online Transaction Processing (Sistema Operacional)

Sistema OLAP Online Analytical Processing (Data Warehouse)

Escala de tempo

Armazenamentos de dados atuais

Armazena dados históricos para análise

Indexação

Índices poucos

Índices mais

Normalização

Totalmente normalizadas

Parcialmente normalizado

Valores armazenados

Lojas tipicamente codificados dados

Armazenamentos de dados descritivos

Fonte dos dados

Espalhados entre os diferentes bancos de dados ou DBMS e usando o valor de codificação diferentes esquemas

Centralizada em data warehouse. Ou em uma coleção de dados orientados a sujeitos marts

Finalidade dos dados

Para controlar e executar tarefas fundamentais do negócio

Para ajudar no planejamento, resolução de problemas e apoio à decisão

O que os dados revelam

Um instantâneo de processos de negócios em andamento

Multi-dimensionais pontos de vista de vários tipos de atividades comerciais

Inserções e atualizações

Inserções curtas e rápidas e atualizações iniciadas por usuários finais

Periódicas empregos de longa duração em lote atualizar os dados

Velocidade de processamento

Normalmente muito rápido

Depende da quantidade de dados envolvidos; refresca lote de dados e consultas complexas podem levar várias horas, a velocidade de consulta pode ser melhorada através da criação de índices

Requisitos de espaço

Pode ser relativamente pequena, se os dados históricos isarchived

Maior devido à existência de estruturas de agregação e dados históricos; requer indexa mais de OLTP

Modelagem

Usa o modelo de entidade relacional

Use Modelo Dimensional (Start e floco de neve esquema)