quarta-feira, 30 de outubro de 2024
Home
Artigos
Banco de Dados
Access
Firebird
Microsoft SQL Server
MySql
Oracle
Sybase
BI
QlikView
Dicas de Internet
e-business
Hardware
Multimídia
Flash
Programação
.NET/ASP.NET
.NET/C#
.NET/Framework
.NET/VB.NET
ASP
C/C++
Clipper
Cobol
CSS
Delphi
Java
Javascript
JSP
Palm
Perl
PHP
Shell
Visual Basic
WAP
Redes
Segurança
Servidores E-mail
Servidores Web
Apache
Microsoft IIS
Sistemas Operacionais
AIX
DOS
HPUX
Linux
Palm OS
Solaris
True64
Windows 7
Windows 9X
Windows NT
Windows Vista
Windows XP
Software Review
PC
Storages
Veritas VM
Conteúdo atual do site:
[807] ítens, entre artigos, funções e documentos.
Pesquisa Rápida:
Últimos 3 acessos:
Alexandre Neves 03/03/2015 11:08:01 167 acesso(s) alexandre neves 03/03/2015 11:06:42 1 acesso(s) Marcelo Torres 21/01/2015 15:24:53 61 acesso(s)
Opções:
Listagem completa Listagem simples
Ranking Colaboradores:
Adenilton Rodrigues - [304] Alexandre Neves - [61] Douglas Freire - [54] Marcelo Giovanni - [53] Marcelo Torres - [43] Angelita Bernardes - [31] Addy Magalhães Cunha - [28] Manuel Fraguas - [24] Ludmila Valadares - [20] Marcelo Capelo - [18]
Quando você restaura um BD do MSSQL 2005 de outro servidor ocorre erro ao relacionar um login ao usuário do BD. Procedure voltada para MSSQL 2005
Quando você se conecta a um banco de dados, você precisa primeiro conectar-se ao servidor de banco de dados. Quando você se conecta a um servidor de banco de dados, você o faz através de um login passando um usuário ou senha, ou utilizando o seu login Windows. Após conectar-se ao servidor, o login utilizado (escopo de servidor) é mapeado para um usuário (escopo de banco) em um ou mais bancos de dados específicos. Quando você faz um backup, tudo o que for escopo de banco, ou seja, roles, usuários, schemas, etc são copiados juntamente com o backup. Como logins são escopo de servidor, eles não são copiados junto com o backup e portanto, durante o restore eles não estarão presentes. Quando você fizer a restauração do banco de dados, todos os objetos de escopo de banco serão restaurados e isso inclui os usuários. No entanto, o mapeamento login usuário estará incorreto, pois, os usuários desses banco fazem referência aos logins do servidor onde o banco estava originalmente e não no banco onde o mesmo foi restaurado. Quando você tentar criar um novo usuário para o login no novo servidor, um erro será gerado porque o usuário já existe no banco uma vez que ele faz parte do escopo do banco e foi restaurado junto com o banco. Excluir o usuário e recriá-lo durante o mapeamento login usuário é uma opção, mas ela trás alguns problemas. Ao matar o usuário, vão-se as permissões que ele possui e isso pode incorrer em diversos problemas. Se as permissões são atribuídas em role essa é uma solução, mas ainda assim não opto por utilizá-la. Sempre que você restaurar um backup e desejar associar um usuário já existente com um login no novo servidor, use a procedure sp_change_users_login. No exemplo abaixo eu associo o usuário UsrApp que estava no banco após o Restore com o login UsrApp no novo servidor: exec sp_change_users_login 'Update_One', 'UsrApp', 'UsrApp' Qualquer duvida Mail-me Addy Cunha Quebra-Linha Colaborador..: Addy Magalhães Cunha Categoria(s).: Banco de Dados; Microsoft SQL Server; Versão.......: 1.0 Data.........: 25/01/2010 07:43:05 Visualizado..: 6098 vezes Fonte........: Microsoft TechNet
Addy Magalhães Cunha
Banco de Dados Microsoft SQL Server
Últimos Artigos deste colaborador Desabilitar IPv6 de produtos Microsoft - 07/06/2011 11:15:16 Alterando o Collate Default SQL Server - 06/06/2011 11:13:06 Instalar Money99 em Windows 64bits - 12/02/2011 19:12:22
Últimos Artigos desta categoria Alterando o Collate Default SQL Server - 06/06/2011 11:13:06 Problemas de logins e usuários no BD MSSQL 2005 - 25/01/2010 07:43:05 Como ver Service Pack, Versoes do SQL - 07/10/2009 12:10:42
2 pessoa(s) on-line neste site.