Microsoft SQL Server 2016 – Lista de Novidades – Final

Bom dia, bom dia, bom dia!!!!!

Meu deus que friooooo, neste momento 4.5º graus de temperatura em São Roque e região, para começar o dia esquentando nada como tentar escrever mais um post no meu blog, posso dizer que não é uma missão fácil, pois a chuva de conteúdo que esta na internet sobre o novo Microsoft SQL Server 2016 é algo fora do comum, isso sem falar do lançamento do Microsoft Windows 10 que esta bombando no mundo todo.

Mas deixando esta friozinho de lado e seguindo em frente, vou finalizar esta série de posts relacionados as principais novidades do SQL Server 2016, caso você não tenha acessado os outros dois, segue abaixo os links para sua diversão:

Para finalizar esta série, vou destacar na lista de principais novidades liberadas pela Microsoft as seguintes features:

  • Strech Database;
  • Row-Level Security; e
  • Dynamic Data Masking.

Analisando os nomes das features parece que esta se referindo a algo de outro mundo, mas na verdade não é bem assim, todas elas fazem parte de uma lista de solicitações de profissionais da área de banco de dados, que constantemente estão solicitando aos times dos mais diversos níveis de relacionamento com o SQL Server: http://blogs.technet.com/b/sqlserverbrasil/, http://blogs.msdn.com/b/pfebrasilsql/a introdução destes recursos.

Vamos lá:

Strech Database: Outra nova funcionalidade bastante esperada principalmente para os usuários do Azure, através do Strech Database, será possível armazenar porções (partes) de uma tabela no Azure SQL Database, você pode estar se perguntando, como assim partes de uma tabela em outro local e não no meu banco de dados, posso dizer que também fiquei surpreso, mas tudo tem uma explicação.

Através deste recurso, temos a capacidade de armazenar dados históricos contidos em uma tabela de forma segura e transparente diretamente na nuvem, ou melhor dizendo no Microsoft Azure. A partir do momento que este recurso é habilitado, de forma silenciosa os dados considerados históricos são migrados para um banco SQL Azure, tudo isso é feito pelo SQL Server sem exigir qualquer alteração de código em sua query ou aplicação.

Para saber mais sobre este recurso acesse:

 

Row-Level Security: Esta nova funcionalidade poderá ser considerada algo bastante revolucionário no que se dizer respeito a visibilidade e acesso aos dados de uma tabela. A Row-Level Security vai permitir aos DBAs e profissionais da área de banco de dados, realizar um controle de acesso aos dados que estão armazenados em determinadas tabelas, através do uso de funções conhecidas como Predicate, limitando assim que uma possível coluna e seu respectivo valor seja consultado.

Veja um exemplo abaixo que pode ser aplicado já na versão CTP 2.1 e CTP 2.2 do SQL Server 2016:

— Criando novas contas de usuários –

CREATE USER Manager WITHOUT LOGIN;

CREATE USER Sales1 WITHOUT LOGIN;

CREATE USER Sales2 WITHOUT LOGIN;

Go

 

— Criando a Tabela Sales —

CREATE TABLE Sales

(

OrderID int,

SalesRep sysname, — Este é um dos segredos para o RSL funcionar.

Product varchar(10),

Qty int);

Go

— Inserindo dados na tabela –

INSERT Sales VALUES

(1, ‘Sales1’, ‘Valve’, 5),

(2, ‘Sales1’, ‘Wheel’, 2),

(3, ‘Sales1’, ‘Valve’, 4),

(4, ‘Sales2’, ‘Bracket’, 2),

(5, ‘Sales2’, ‘Wheel’, 5),

(6, ‘Sales2’, ‘Seat’, 5);

Go

 

— Consultando os dados —

SELECT * FROM Sales;

Go

 

— Atribuíndo a permissão de Grant para cada usuários na tabela Sales –

GRANT SELECT ON Sales TO Manager;

GRANT SELECT ON Sales TO Sales1;

GRANT SELECT ON Sales TO Sales2;

Go

 

— Criando o Schema Security –

CREATE SCHEMA Security;

GO

 

— Criando a Função Predicate – Security.fn_securitypredicate –

CREATE FUNCTION Security.fn_securitypredicate(@SalesRep AS sysname)

RETURNS TABLE

WITH SCHEMABINDING

AS

RETURN SELECT 1 AS fn_securitypredicate_result

WHERE @SalesRep = USER_NAME() OR USER_NAME() = ‘Manager’;

 

— Criando a Política de Segurança para filtrar e controlar o acesso aos Dados –

CREATE SECURITY POLICY SalesFilter

ADD FILTER PREDICATE Security.fn_securitypredicate(SalesRep)

ON dbo.Sales

WITH (STATE = ON);

 

— Realizando o teste de acesso aos dados –

EXECUTE AS USER = ‘Sales1’;

SELECT * FROM Sales;

REVERT;

 

EXECUTE AS USER = ‘Sales2’;

SELECT * FROM Sales;

REVERT;

 

EXECUTE AS USER = ‘Manager’;

SELECT * FROM Sales;

REVERT;

 

Após executar este bloco de código você vai poder observar que o usuário Manager deverá ter conseguido consultar todos os dados da Tabela Sales, já os usuários Sales1 e Sales2 devem ter visto somente 3 cada respectivamente.

 

— Agora vamos desativar a política de segurança –

ALTER SECURITY POLICY SalesFilter

WITH (STATE = OFF);

Go

 

Com isso todos os usuários vão conseguir obter todos os dados da tabela Sales.

Dynamic Data Masking: Traduzindo ao pé da letra – Mascaramento de dados dinâmicos, poxa vida, dizer que o SQL Server é mascarado é brincadeir(kkkkk), na verdade este recurso possibilita que seja aplicado diretamente ao dado um máscara, isso mesmo, definir uma máscara para personalizar as informações que serão apresentadas para o usuário em colunas com dados sensitivos.

O Dynamic Data Masking, limita a exposição de dados confidenciais mascarandoo para usuários não-privilegiados. Mascaramento de dados dinâmico ajuda a evitar o acesso não autorizado a dados confidenciais, permitindo aos clientes designar o quanto os dados confidenciais para revelar com impacto mínimo na camada de aplicação. É uma característica de segurança que esconde os dados no conjunto de resultados de uma consulta sobre campos de banco de dados designado, enquanto os dados no banco de dados não são alterados. Considerado de fácil de utilização com aplicativos existentes, desde que as regras de mascaramento sejam aplicadas nos resultados da consulta. Muitos aplicativos podem mascarar dados confidenciais sem modificar consultas existentes.

Mascaramento de dados dinâmicos é complementar a outras características de segurança do SQL Server (auditoria, criptografia, segurança de nível de linha…) e é altamente recomendável usar esse recurso em conjunto com eles, além disso, a fim de melhor proteger os dados confidenciais no banco de dados.

Para conhecer mais sobre este novo recurso acesse:

Ufa, chegamos ao final, mais uma jornada vencida!!!

Agradeço a sua visita ao meu blog, espero que tenho gostado, nos próximos posts tentarei apresentar e exemplificar um pouco mais sobre algumas destas novas funcionalidades.

Um grande abraço.

Autor: Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação pela Uninove - Campus São Roque. Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP - Faculdade de Informática e Administração Paulista de São Paulo. Pós-Graduado em Gestão da Tecnologia da Informação Faculdade - ESAMC Sorocaba. Cursando Mestrado em Ciências da Computação - UFSCar - Campus - Sorocaba. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1995 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator - Administrador de Banco de Dados - SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, Triggers. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping, para versões: 2000, 2005, 2008, 2008 R2, 2012 e 2014. Atualmente trabalho como Administrador de Banco de Dados no FIT - Instituto de Tecnologia da Flextronics, como também, Consultor em Projetos de Tunnig e Performance para clientes. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Possuo titulação Oficial Microsoft MVP - SQL Server renovada desde 2007.

4 comentários em “Microsoft SQL Server 2016 – Lista de Novidades – Final”

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s