Array
(
)

Sem visualização das tabelas com o novo usuário

Pjava
   - 28 jan 2012

Pessoal, tenho um usuário sa. Entã, com dificuldade eu criei outro usuário. Acontece, que não consigo visualizar as tabelas que eram do outro usuário. Então, loguei com o usuário novo e rodei o script de criação das tabelas. Acontece que para esse novo usuário, eu apenas visualizo 4 tabelas, quando são quase 200. O que fazer para este usuário ter acesso a todas as tabelas?

Flavix
   - 03 fev 2012


Citação:
Pessoal, tenho um usuário sa. Entã, com dificuldade eu criei outro usuário. Acontece, que não consigo visualizar as tabelas que eram do outro usuário. Então, loguei com o usuário novo e rodei o script de criação das tabelas. Acontece que para esse novo usuário, eu apenas visualizo 4 tabelas, quando são quase 200. O que fazer para este usuário ter acesso a todas as tabelas?


Você já deu as permissões para esse novo usuário?
Com os comandos EXEC SP_ADDROLESMEMBER ‘DB_DATAREADER’, ‘USUARIO’ e EXEC SP_ADDROLEMEMBER ‘DB_DATAWRITER’,’USUARIO’ você permitirá que esse novo usuário consiga realizar select’s, update’s, insert’s e delete’s no banco de dados.

Marco Pinheiro
   - 04 fev 2012

Não entendi muito bem.

Você fala de ter criado um usuário. Na verdade você criou um usuário ou um login?

Tente fazer o seguinte:

- Crie um login
- Crie um usuário e mapeie este usuário ao login criado anteriormente na base desejada.

Depois tem mais uma verificação. Se você não amarrar o login ao usuário DBO, obrigatoriamente, você terá que criar suas tabelas como CREATE TABLE USER.TABELA
Se no seu script estiver como CREATE TABLE TABELA, por default ele vai buscar o DBO.

Por isso a minha dúvida inicial sobre login e user.

Apenas como exemplo, segue um script apenas para um teste. Selecione a base desejada e execute:

/*Aqui é criado o login*/
IF NOT EXISTS(SELECT * FROM MASTER.DBO.SYSLOGINS WHERE NAME = teste)
CREATE LOGIN teste WITH PASSWORD = teste,CHECK_POLICY=OFF
GO

/*Com esta SP o login criado já é amarrado ao usuario DBO*/
EXEC SP_CHANGEDBOWNER teste
GO

Obs.: Este comando é do SQL 2008

Att.,

Marco.

Gabriel Soares
   - 13 mar 2012

Olá!

Cara, simplesmente você pode criar o novo usuário e nas funções de servidor do mesmo, colocar sysadmin.

É o jeito menos complicado de fazer isso.

Abraço.