2010-04-01 8 views
1

J'ai créé un utilisateur nommé "tuser" avec les droits de création de base de données dans SQL Server 2005. et donné le rôle de base de données 'db_owner' des bases de données master et msdb à "tuser".SQL Server 2005 - droits utilisateur

De cet utilisateur se connecter lorsque j'exécute le script pour créer une base de données puis il va créer une nouvelle base de données. Mais "tuser" n'a pas accès à cette nouvelle base de données générée à partir du script. Quelqu'un at-il une idée ?, Je veux écrire le script de sorte que "tuser" ait accès à cette nouvelle base de données créée après la création et puisse ajouter l'autorisation d'utilisateur de la base de données nouvellement créée. Je souhaite donner des rôles de base de données 'db_owner' à "tuser" sur cette base de données nouvellement créée dans le même script qui crée une nouvelle base de données. Le script s'exécute sous 'tuser'.

Répondre

0

Merci de votre participation.

J'ai donné l'accès de tuser à la base de données à partir de laquelle la nouvelle base de données a été créée. maintenant le problème est résolu.

Merci beaucoup.

2

Grant rôle securityadmin serveur à [tuser]

Les membres du rôle securityadmin fixe serveur gérer les connexions et leurs propriétés . Ils peuvent GRANT, DENY et autorisations REVOKE au niveau du serveur. Ils peuvent également accorder, refuser et REVOKE autorisations au niveau de la base de données. En outre, ils peuvent réinitialiser les mots de passe pour les connexions SQL Server.

+0

J'ai déjà donné ce rôle. – Paresh

+0

Je veux donner des rôles de base de données 'db_owner' à "tuser" sur cette base de données nouvellement créée dans le même script qui crée une nouvelle base de données. Le script s'exécute sous 'tuser'. – Paresh

+0

Sur votre script, après avoir créé la base de données: 'USE [yourdb] GO CREATE USER [tuser] POUR LOGIN [tuser] GO EXEC sp_addrolemember N'db_owner ', N'tuser' GO' – Darnell

1

CREATE DATABASE dit

Chaque base de données a un propriétaire qui peut effectuer des activités spéciales dans la base de données . Le propriétaire est l'utilisateur qui crée la base de données . Le propriétaire de la base de données peut être modifié en utilisant sp_changedbowner (Transact-SQL).

Ainsi, l'utilisateur devrait déjà posséder le DB.

Cependant, vous pouvez configurer Tuser comme db_owner dans le modèle db qui a utilisé comme modèle pour chaque création db

BTW, pourquoi faire Tuser le propriétaire du maître et msdb?

+0

J'ai également donné l'accès aux rôles de base de données 'db_Owner' pour tuser sur Model db, même s'il ne fonctionne pas. – Paresh

+0

Cela fonctionnera avec db_owner. C'est le point de db_owner. Quelles erreurs obtenez-vous? – gbn

1

Si tuser n'a pas accès à la nouvelle base de données, cela signifie que ce n'est pas le propriétaire. Le propriétaire de la base de données ne peut pas se voir refuser l'accès à sa propre base de données.

  • À quoi ressemble l'instruction CREATE DATABASE? Avez-vous une clause AUTHORIZATION qui changerait la propriété de la nouvelle base de données?
  • Qui est le propriétaire actuel de la nouvelle base de données? Vérifier SELECT name, SUSER_SNAME(owner_sid) FROM sys.databases;