begin process at 2010 09 03 17:25:44
  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 :3 550

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 Want to change to Mysql [ par jsmikwen ] Hi, Currently, we are using Mssql: we would like to change. Now, we would like to use DB2. Only problem is that most of our customer addresses and o


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

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 : 1,061 sec (4)

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