begin process at 2012 02 04 19:01:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > SQL SERVER 2005 - CHANGER LE OWNER DE TOUS LES SCHEMAS

SQL SERVER 2005 - CHANGER LE OWNER DE TOUS LES SCHEMAS


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Classé sous :owner, schema, change Niveau :Expert Date de création :27/10/2006 Vu :4 814

Auteur : fabrice69

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note


 Description

Dans le cas de migration de SQL Server 2000 vers SQL Server 2005, on peut se retrouver avec un grand nombre de schémas qui sont associés à de nombreux comptes.
En cas de nettoyage de ces users, on doit donc réattribuer les schémas à un utilisateur (tel que DBO).

Ce script permet de modifier le Owner de tous les schémas.

Source

  • USE [MaBase]
  • GO
  • DECLARE @NewOwner AS VARCHAR(50)
  • DECLARE @SQLCMD AS VARCHAR(MAX)
  • SET @NewOwner = 'NouveauOwner'
  • DECLARE CURSORLISTCHEMA CURSOR FOR SELECT 'ALTER AUTHORIZATION ON SCHEMA::['+ SCHEMA_NAME +'] TO ['+ @NewOwner +']'
  • FROM INFORMATION_SCHEMA.SCHEMATA WHERE NOT (SCHEMA_OWNER LIKE 'db_%'
  • OR SCHEMA_OWNER = 'INFORMATION_SCHEMA'
  • OR SCHEMA_OWNER = 'guest' OR SCHEMA_OWNER = 'sys')
  • AND NOT (SCHEMA_OWNER = @NewOwner)
  • OPEN CURSORLISTCHEMA
  • FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
  • WHILE (@@fetch_status >= 0)
  • BEGIN
  • PRINT @SQLCMD
  • EXECUTE(@SQLCMD)
  • FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
  • END
  • CLOSE CURSORLISTCHEMA
  • DEALLOCATE CURSORLISTCHEMA
USE [MaBase]
GO

DECLARE @NewOwner	AS VARCHAR(50)
DECLARE @SQLCMD		AS VARCHAR(MAX)	

SET @NewOwner = 'NouveauOwner'

DECLARE CURSORLISTCHEMA CURSOR FOR SELECT 'ALTER AUTHORIZATION ON SCHEMA::['+ SCHEMA_NAME +'] TO ['+ @NewOwner +']' 
			FROM INFORMATION_SCHEMA.SCHEMATA WHERE NOT (SCHEMA_OWNER LIKE 'db_%' 
					OR SCHEMA_OWNER = 'INFORMATION_SCHEMA' 
					OR SCHEMA_OWNER = 'guest' OR SCHEMA_OWNER = 'sys')
					AND NOT (SCHEMA_OWNER = @NewOwner)

OPEN CURSORLISTCHEMA
FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
WHILE (@@fetch_status >= 0) 
	BEGIN 
		PRINT @SQLCMD
		EXECUTE(@SQLCMD)
		FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
	END
CLOSE CURSORLISTCHEMA
DEALLOCATE CURSORLISTCHEMA


 Conclusion

Bon coding

Romelard Fabrice [MVP]


 Sources du même auteur

SQL SERVER - OBTENIR LES VALEURS CORRESPONDANT A DES UNICODE
SQL SERVER 2000 - VIDER ET COMPACTER TOUTES LES BASES DE DON...
SQL SERVER 2005 : OBTENIR LA LISTE DES BASES DE CONTENU D'UN...
SQL SERVER - OBTENIR LA POSITION DU PREMIER CHIFFRE D'UNE CH...
SQL SERVER - UPDATE D'UNE TABLE EN BOUCLE PAR LOT

 Sources de la même categorie

Source avec Zip Source avec une capture SQL SERVER - GENERATION AUTOMATIQUE D'UNE RETRO-DOCUMENTATIO... par FENETRES
[SQL SERVEUR] VÉRIFIER L'ESPACE OCCUPÉ DANS UNE BASE DE DONN... par Hyperion
TROUVER LES PROCHAINS ANNIVERSAIRES par zefo
REQUÊTE SQL POUR DÉTERMINER L'ESPACE OCCUPÉ DANS LES TABLESP... par sgoriaud
SQL SERVER - OBTENIR LES VALEURS CORRESPONDANT A DES UNICODE par fabrice69

 Sources en rapport avec celle ci

SQL SERVER 2005 - CHANGER LE TYPE DE DONNEES DE TOUTES LES C... par fabrice69
SQL SERVER 2005 - CHANGER LE SCHEMA DES OBJETS DANS LES OBJE... par fabrice69
SQL SERVER 2005 : RÉCUPÉRER LE CONTENU D'UN SCHÉMA XSD par skweeky
SQL SERVER 2005 - CHANGER LE SCHEMA DES OBJETS D'UNE BASE DE... par fabrice69
SQL SERVER 2005 - CHANGER LE SCHEMA PAR DEFAUT DE TOUS LES U... par fabrice69

Commentaires et avis

Commentaire de dedzep le 30/01/2007 11:49:58

bravo pour ce code, mais aussi pour tout le reste de votre contribution

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Aide en SQLServer2000 [ par sergiodonini ] Bonjour les amis, Je developpe une application Web en Arabe dynamique avec ASP et SQLServer2000, mon probleme est le suivant:J'ecris dans les champs d Schema de la base de données [ par StephaneNet ] Bonjour a tous,Je debute actuellement avec sqlserver 2000 et je voudrais savoir si le fait de créer le schema de la table accelere l'execution des req Perte connexion MySQL si change date systeme [ par globule ] Bonjour, J'ai fait un programme en VB qui utilise des bases MySQL (en local ou sur un réseau) J'ai installé MySQL essential pour associer un champs xml a son bon schema xml [ par dedzep ] j'ai créé une base sql server 2005 contenant des articlesces articles contiennent des objets tres different (une voiture, un cheval, un ordi, un voyag create schema [ par LiLFinger ] moi c LiL,mon souci c la creation des schema et tou ce que ça implik,a l'aide de sql server 2005. Update d'un schema XSD dans SQL server 2005 [ par yalk1960 ] Bonjour,Je dois mettre à jour un schema XSD dans SQL server 2005 et j'aimerai avoir le query pour la réussir et si c'est possible savoir si au niveau UNION , ORDER BY et TOP qui ne fonctionne pas toujours et jamais en VBscript / ADODB.Recordset [ par Egalon ] Bonsoir à tous, vous allez voir, c'est drôle... j'effectue une requete pour obtenir la date la plus récente (sur Mgnt Studio de SQL server 2008) dans


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,399 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales