SQL SERVER 2005 com problemas do Windows 7

3

Primeiro restaurei o banco de dados de outro servidor e agora todos os procedimentos armazenados são nomeados como [azamsharp]. [usp_getlatestposts]. Eu acho que [azamsharp] é prefixado, já que era o usuário no servidor original.

Agora, na minha máquina local, isso não funciona. Eu não quero o prefixo [azamsharp] com todos os procedimentos armazenados.

Além disso, quando clico com o botão direito do mouse no Sproc, nem consigo ver a opção de propriedades. Estou executando o SQL SERVER 2005 no Windows 7.

ATUALIZAÇÃO:

O mais estranho é que, se eu acessar o banco de dados de produção da minha máquina, posso ver a opção de propriedades. Então, realmente há algo errado com a segurança do Windows 7.

UPDATE 2:

Quando eu executei o procedimento armazenado pelos usuários órfãos, ele mostrou dois usuários "azamsharp" e "dbo1". Eu consertei o usuário "azamsharp" mas o "dbo1" não está sendo consertado. Quando executo o seguinte script:

exec sp_change_users_login 'update_one', 'dbo1', 'dbo1' Eu recebo o seguinte erro:

Msg 15291, nível 16, estado 1, procedimento sp_change_users_login, linha 131 Terminando este procedimento. O nome de login 'dbo1' está ausente ou é inválido.

    
por user21004 22.01.2010 / 23:17

1 resposta

1

Você provavelmente tem usuários órfãos. Quando você está acessando o servidor de sua máquina, suas credenciais de domínio provavelmente têm acesso como DBadmin ao servidor de produção. Execute este código para detectar usuários órfãos:

Use TestDB
sp_change_users_login 'report'

A saída lista todos os logins, que possuem uma incompatibilidade entre as entradas na tabela do sistema sysusers, do banco de dados TestDB e a tabela do sistema sysxlogins no banco de dados mestre. para corrigir o problema:

Resolver usuários órfãos

Use TestDB
sp_change_users_login 'update_one', 'test', 'test' 

SELECT sid FROM dbo.sysusers WHERE name = 'test'
0x40FF09E48FBD3354B7833706FD2C61E4

use master
SELECT sid FROM dbo.sysxlogins WHERE name = 'test'
0x40FF09E48FBD3354B7833706FD2C61E4

Isso relaciona novamente o "teste" de login do servidor com o "teste" do usuário do banco de dados TestDB. O procedimento armazenado sp_change_users_login também pode executar uma atualização de todos os usuários órfãos com o parâmetro "auto_fix", mas isso não é recomendado porque o SQL Server tenta corresponder logins e usuários pelo nome. Para a maioria dos casos isso funciona; no entanto, se o logon incorreto estiver associado a um usuário, um usuário poderá ter permissões incorretas.

    
por 23.01.2010 / 02:35