Blog Archives

SQL Server 2012 Migrando usuários existentes para Contained Database

Olá pessoal,

Uma ação muito comum será utilizar os logins que já temos para acessar as nossas bases de dados que estão no modo Contained Database. Então para tal necessitamos migrar os usuários para a Contained Database. Os passos para realizar a operação estão descritos a seguir.

Passo 1: Criação do usuário na Contained Database.

Já possuo um login chamado SqlServer2012, e precisamos criar esse usuário na Contained Database.

USE ContainedDatabase
GO
CREATE USER [SqlServer2012] ;
GO

Passo 2: Realizar a migração do login existente para a Contained Database.

exec sp_migrate_user_to_contained @username = N’SqlServer2012′, @rename = N’keep_name’, @disablelogin = N’do_not_disable_login’ ;


Feito isso você pode utilizar o login SqlServer2012 para logar na sua ContainedDatabase.

 

Abraços e até mais.

Marcos Freccia

[MCTS|MCITP|MCT SQL Server 2008]

SQL Server 2012 Auditing Contained Databases

Ola pessoal,

No artigo passado mostrei como realizar um restore de uma contained database e para continuar mostrando um pouco mais dessa feature vamos mostrar também o que foi feito em níveis de auditoria nessa nova funcionalidade. Nesse post não vou me atentar a mostrar como funciona a auditoria no SQL Server, mas sim grupos de auditoria que foram inseridos para essa funcionalidade no SQL Server 2012.

Vamos então criar uma auditoria de servidor conforme a imagem abaixo.

HabilitandoAuditoria

Vale lembrar que para criar a auditoria de servidor, você ja deve ter criado a auditoria conforme é visualizado na imagem acima.

GruposAudit

Conforme a imagem acima esses dois novos grupos de auditoria foram inseridos no SQL Server 2012 juntamente com o recurso de contained databases. Vamos habilita-los e realizar alguns procedimentos afim de ter as informações auditadas. Nao esqueça que depois que voce confirmar a criação da auditoria voce deve habilitar a mesma.

Apenas para via de testes fiz dois logons na minha base de dados que é uma Contained Database e também fiz a troca da senha. Vamos analisar os resultados.

Para termos um melhor detalhamento das informaçoes auditadas segue a consulta abaixo.

SELECT DISTINCT OBJECT_NAME,STATEMENT,map.class_type_desc,ac.NAME,covering_parent_action_name
FROM fn_get_audit_file(‘C:\Audit\Audit-20120227-050809.sqlaudit’,NULL,NULL) AS aud
INNER JOIN sys.dm_audit_class_type_map AS map
ON aud.class_type = map.class_type
INNER JOIN sys.dm_audit_actions AS ac
ON aud.action_id = ac.action_id
WHERE covering_parent_action_name IS NOT NULL
ORDER BY name

e teremos o seguinte resultado.

ConsultaArquivoAudit

Conforme pode ser visualizado na figura acima temos uma conexao bem sucedida na base de dados ContainedDatabase onde o grupo que fez a auditoria foi o de SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, e na sequencia a mudança de senha do usuário ContainedDatabaseUser que atingiu dois grupos: LOGIN_CHANGE_PASSWORD_GROUP e USER_CHANGE_PASSWORD_GROUP.

Bom pessoal por hoje é isso, espero que tenham gostado desse post.

Abraços,
Marcos Freccia
[MCTS|MCITP|MCT SQL Server 2008]

SQL Server 2012 Restore a Contained Database

Ola Pessoal,

Continuando a demonstrar o recurso do Contained Database presente no SQL Server 2012, vamos passar um overview de como realizar o restore de uma base de dados com esse recurso habilitado. Como mencionado no post anterior a grande jogada dessa nova feature é a facilidade de nao precisarmos mais trabalharmos com logins atrelados a usuários e sim trabalhar somente com usuários dentro do SQL Server.

Vamos demonstrar abaixo entao os passos para realizar o restore de uma contained database.

Read the rest of this entry

SQL Server 2012 Contained Databases

Olá Pessoal,

Atualmente quando precisamos nos conectar em uma determinada base de dados, precisamos primeiramente criar um login na instancia do SQL Server e posteriormente atribui-lá a base de dados desejada. Uma segunda opção que temos é criar um login e atribuir a role de sysadmin que assim poderá se conectar em qualquer base de dados.

Agora entra a parte do SQL Server 2012 – Contained Databases. Isso nada mais nada menos trata-se de uma nova técnica que nos permite a criação de usuários diretamente na base de dados sem a necessidade da criação de um login, isso sem sombra de duvidas é digamos uma “mão na roda” no momento de realizar migrações das bases, pois sempre acontece o famoso problema dos logins perderem o relacionamento com os usuários e acabamos então por ter que realizar a criação do novo usuário. Com o Contained Databases os usuários ficam atrelados nas base de dados e ao mover para uma outra instancia não precisamos recria-ló. A parte importante a lembrar é que o processo de utilização de contained databases é um pouco diferente do comum, e que vou então demonstrar logo abaixo como realizar essa configuração.

Read the rest of this entry