begin process at 2012 05 25 11:51:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > SQL SERVER 2005 - CHANGER LE SCHEMA PAR DEFAUT DE TOUS LES UTILISATEURS POUR UNE BASE SPECIFIQUE

SQL SERVER 2005 - CHANGER LE SCHEMA PAR DEFAUT DE TOUS LES UTILISATEURS POUR UNE BASE SPECIFIQUE




 Description

Dans de nombreux cas, on développe des applications sans se soucier de la base de données. Ainsi il arrive que l'on souhaite remettre la situation au propre en définissant un Schéma particulier pour tous les objets.
Dans ce cas, il faut prendre en compte les comptes utilisateurs et modifier le schéma par défaut de chacun d'eux.
Ceci afin que le "SELECT * FROM MATABLE" puisse continuer à fonctionner dans l'application en question.

Voila donc un script qui permet d'effectuer ce travail. Il faut bien spécifier la base de travail en tête de ce script.

Source

  • USE [MaBasedeTravail]
  • GO
  • DECLARE @NewSchema AS VARCHAR(50)
  • DECLARE @DBName AS VARCHAR(50)
  • DECLARE @SQLCMD AS VARCHAR(2000)
  • SET @NewSchema = 'MonNouveauSchema'
  • SET @DBName = 'MaBasedeTravail'
  • DECLARE CURSORCHANGESCHEMA CURSOR FOR SELECT 'USE ['+ @DBName +'] ALTER USER ['+ name +'] WITH DEFAULT_SCHEMA=['+ @NewSchema +'] ' AS COMMANDSQL
  • FROM sys.sysusers WHERE issqluser = 1 AND hasdbaccess = 1
  • OPEN CURSORCHANGESCHEMA
  • FETCH NEXT FROM CURSORCHANGESCHEMA INTO @SQLCMD
  • WHILE (@@fetch_status >= 0)
  • BEGIN
  • PRINT 'MODIFICATION : '+ @SQLCMD
  • EXECUTE(@SQLCMD)
  • FETCH NEXT FROM CURSORCHANGESCHEMA INTO @SQLCMD
  • END
  • CLOSE CURSORCHANGESCHEMA
  • DEALLOCATE CURSORCHANGESCHEMA
USE [MaBasedeTravail]
GO

DECLARE @NewSchema	AS VARCHAR(50)
DECLARE @DBName		AS VARCHAR(50)
DECLARE @SQLCMD		AS VARCHAR(2000)	

SET @NewSchema = 'MonNouveauSchema'
SET @DBName = 'MaBasedeTravail'


DECLARE CURSORCHANGESCHEMA CURSOR FOR SELECT 'USE ['+ @DBName +'] ALTER USER ['+ name +'] WITH DEFAULT_SCHEMA=['+ @NewSchema +'] ' AS COMMANDSQL 
									FROM sys.sysusers WHERE issqluser = 1 AND hasdbaccess = 1
OPEN CURSORCHANGESCHEMA
FETCH NEXT FROM CURSORCHANGESCHEMA INTO @SQLCMD
WHILE (@@fetch_status >= 0) 
	BEGIN 
		PRINT 'MODIFICATION : '+ @SQLCMD
		EXECUTE(@SQLCMD)
		FETCH NEXT FROM CURSORCHANGESCHEMA INTO @SQLCMD
	END
CLOSE CURSORCHANGESCHEMA
DEALLOCATE CURSORCHANGESCHEMA

 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 2000 - VIDER ET COMPACTER TOUTES LES BASES DE DON... par fabrice69
SQL SERVER 2005 : HISTORISER LES PROCÉDURES STOCKÉES D'UNE B... par skweeky
SQL SERVER 2005 : RECHERCHE DE CHAMPS PAR LEURS NOMS MULTI B... par skweeky
SQL SERVER 2005 : RÉCUPÉRER LE CONTENU D'UN SCHÉMA XSD par skweeky
SQL SERVER 2005 - CREER DES INDEXES SUR UN CHAMP EXISTANT DA... par fabrice69

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

création d'une automatique d'une base de données SQLServer [ par MokhTelnet ] bonjourj'ai besoin de savoir comment on peut créer une base de données SQLServer lors de l'installation d'une application.mon client ne veux se charge Commande DOS pour SQLServer 7 [ par MokhTelnet ] y a t'il une commande dos pour SQLSERVER 7 ?(comme la commande sqlplus pour oracle) création automatique d'une base de données SQLServer [ par MokhTelnet ] bonjour j'ai besoin de savoir comment on peut créer une base de données SQLServer lors de l'installation d'une application. mon client ne veux se char Problème SQLSERVER/php [ par LeJulius ] Je travaille actuellement sous SQL SERVER 2000 en lien avec du PHP 4.2.0 Mon problème est le suivant :Mes tables sql contiennent des caractères accent Sauvegarde automatique sqlserver 2000 [ par jojos89 ] Salut a tous,J'ai une base de données en local sur mon pc (avec sqlserver 2000)que je voudrais sauvegardé automatique (tous les soir) s aide pour SQLSERVER [ par nagrom_om ] salut,quelqu'un sait il comment peut on avoir un listing des requetes qui sont passées sous SQL Server ??Merci ! ms access - sqlserver - procédurestockée [ par metasky ] bonjour,je suis actuellement sur une appli liant access et sqlserver...quand je consulte mes procédures stockées dans mon projet access les Quel outil pour SqlServer [ par padurand ] Mon site tourne avec une base de donnees Access, et des pages ASP.Je voudrais remplacer Access par SqlServer ... a priori il ne devrait pas y avoir de exporter des donnees de sqlserver 2005 vers access (dts) [ par tenrod ] Salut a tous ,Voila je travail avec une base sql server 2005 et je voudrais exporter le résultat d'une requete (a partir de ma base sql server) d SQLServer remplacer Null par 0 [ par BasicInstinct ] Bonjour tout le mondej'ai une requete plutot complexe qui calcule differents totaux selon des dates.lorsque pour un mois donné, je n'ai pas de va


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,718 sec (4)

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