Sql server 2000 - changer le owner des objets d'une base de données

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 610 fois - Téléchargée 26 fois

Contenu du snippet

Lors de certains développement, il peut arriver que l'on ne fasse pas attention au nom du créateur de l'objet dans la base de données.
Cela peut aussi se présenter lors de restauration de base de données.

Il faut alors changer le propriétaire de tous les objets, voilà donc une procédure stockée permettant de faire ceci.
Vous n'avez dans cette procédure besoin que de définir le nouveau nom du nouvel owner.

Source / Exemple :


CREATE PROCEDURE SP_System_ChangeObjetOwner
AS

DECLARE @NomNouveauUser VARCHAR(255)
SET @NomNouveauUser = 'dbo'

DECLARE @LeNomObjet 	VARCHAR(255)
DECLARE @LeNomUser 	VARCHAR(255)
DECLARE LeCurseur 	CURSOR FOR

SELECT 
	s.name AS LeNomObjet, 
	u.name AS LeNomUser
FROM  
	sysobjects s 
INNER JOIN 	sysusers u 
	ON s.uid = u.uid
WHERE 
	(s.type = 'p' OR s.type = 'v' OR s.type = 'U') 
AND 
	(NOT (s.category = 2)) 
AND 
	(NOT (s.category = 2563))
AND
	(NOT(u.name = @NomNouveauUser))

OPEN LeCurseur

FETCH NEXT FROM LeCurseur INTO @LeNomObjet, @LeNomUser
WHILE @@fetch_status = 0
BEGIN
	EXEC ('sp_changeobjectowner ['+ @LeNomUser +'.' + @LeNomObjet + '],'+ @NomNouveauUser)
	FETCH NEXT FROM LeCurseur INTO @LeNomObjet, @LeNomUser
END

CLOSE LeCurseur
DEALLOCATE LeCurseur

GO

Conclusion :


Bon coding

Romelard Fabrice.

A voir également

Ajouter un commentaire

Commentaires

CelineCiel
Messages postés
1
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
12 juillet 2007
-
Un grand Merci, Parfait !!!! 10/10
mounimx2006
Messages postés
2
Date d'inscription
samedi 21 octobre 2006
Statut
Membre
Dernière intervention
21 octobre 2006
-
vous me sauvez la vie

merci bcq

un débutant en mssql
Gamleur84
Messages postés
2
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
8 mars 2006
-
Parfait !!!! 10/10
GiUsTiNo
Messages postés
129
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
30 juin 2012
-
Simple, efficace, performant dans ce style
Bravo 10/10 :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.