11 julho, 2016

Migração SQL 2000 para SQL 2008

Ao realizar um backup no Msql 2000 e restaurar no Msql 2008 você descobrirá que dará erro de conexão no banco se tentar utilizar o mesmo usuário de conexão do 2000, desde que ele, claro, não seja o sa.


Motivo do erro, usuário órfão. Como funciona? Basicamente o Msql relaciona o nome do usuário com um id único e este id fica registrado nas tabelas administrativas do banco. Ao criar um usuário no 2008 com o mesmo nome, este id gerado será diferente do que existe no 2000. Quando restaurar o backup você verá que o usuário está relacionado a base de dados, herdado do backup, mas não conseguirá acessa-la além de não conseguir incluir o novo, que foi criado no 2008.

Você tem dois usuários com nome e login idênticos mas os id's são diferentes, o valor que realmente o identifica dentro banco de dados.

Localizar usuário órfão

sp_change_users_login @Action='Report';

Resolver usuário órfão, primeiro login dentro do banco de dados depois login novo servidor

sp_change_users_login @Action='update_one', @UserNamePattern='usuarioBancoAntigo', @LoginName='usuarioBancoNovo';

Nenhum comentário: