Accueil > > > SQL SERVER 2000 - EXPORTER LES COMPTES UTILISATEURS SQL ET NT EXISTANT SUR LE SERVEUR
SQL SERVER 2000 - EXPORTER LES COMPTES UTILISATEURS SQL ET NT EXISTANT SUR LE SERVEUR
Information sur la source
Description
Dans le cadre de migration de bases de données SQL Server, il faut absolument transférer les comptes provenant de la machine SQL Server 2000. Un script fourni par Microsoft permet d'effectuer ce travail automatiquement, on peut alors recréer les comptes SQL sur la nouvelle machine avant de restaurer les bases. Vous trouverez ce script sur le site du support Microsoft : - http://support.microsoft.com/kb/246133
Source
- ----- Begin Script, Create sp_help_revlogin procedure -----
-
- USE master
- GO
- IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL
- DROP PROCEDURE sp_hexadecimal
- GO
- CREATE PROCEDURE sp_hexadecimal
- @binvalue varbinary(256),
- @hexvalue varchar(256) OUTPUT
- AS
- DECLARE @charvalue varchar(256)
- DECLARE @i int
- DECLARE @length int
- DECLARE @hexstring char(16)
- SELECT @charvalue = '0x'
- SELECT @i = 1
- SELECT @length = DATALENGTH (@binvalue)
- SELECT @hexstring = '0123456789ABCDEF'
- WHILE (@i <= @length)
- BEGIN
- DECLARE @tempint int
- DECLARE @firstint int
- DECLARE @secondint int
- SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))
- SELECT @firstint = FLOOR(@tempint/16)
- SELECT @secondint = @tempint - (@firstint*16)
- SELECT @charvalue = @charvalue +
- SUBSTRING(@hexstring, @firstint+1, 1) +
- SUBSTRING(@hexstring, @secondint+1, 1)
- SELECT @i = @i + 1
- END
- SELECT @hexvalue = @charvalue
- GO
-
- IF OBJECT_ID ('sp_help_revlogin') IS NOT NULL
- DROP PROCEDURE sp_help_revlogin
- GO
- CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS
- DECLARE @name sysname
- DECLARE @xstatus int
- DECLARE @binpwd varbinary (256)
- DECLARE @txtpwd sysname
- DECLARE @tmpstr varchar (256)
- DECLARE @SID_varbinary varbinary(85)
- DECLARE @SID_string varchar(256)
-
- IF (@login_name IS NULL)
- DECLARE login_curs CURSOR FOR
- SELECT sid, name, xstatus, password FROM master..sysxlogins
- WHERE srvid IS NULL AND name <> 'sa'
- ELSE
- DECLARE login_curs CURSOR FOR
- SELECT sid, name, xstatus, password FROM master..sysxlogins
- WHERE srvid IS NULL AND name = @login_name
- OPEN login_curs
- FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd
- IF (@@fetch_status = -1)
- BEGIN
- PRINT 'No login(s) found.'
- CLOSE login_curs
- DEALLOCATE login_curs
- RETURN -1
- END
- SET @tmpstr = '/* sp_help_revlogin script '
- PRINT @tmpstr
- SET @tmpstr = '** Generated '
- + CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */'
- PRINT @tmpstr
- PRINT ''
- PRINT 'DECLARE @pwd sysname'
- WHILE (@@fetch_status <> -1)
- BEGIN
- IF (@@fetch_status <> -2)
- BEGIN
- PRINT ''
- SET @tmpstr = '-- Login: ' + @name
- PRINT @tmpstr
- IF (@xstatus & 4) = 4
- BEGIN -- NT authenticated account/group
- IF (@xstatus & 1) = 1
- BEGIN -- NT login is denied access
- SET @tmpstr = 'EXEC master..sp_denylogin ''' + @name + ''''
- PRINT @tmpstr
- END
- ELSE BEGIN -- NT login has access
- SET @tmpstr = 'EXEC master..sp_grantlogin ''' + @name + ''''
- PRINT @tmpstr
- END
- END
- ELSE BEGIN -- SQL Server authentication
- IF (@binpwd IS NOT NULL)
- BEGIN -- Non-null password
- EXEC sp_hexadecimal @binpwd, @txtpwd OUT
- IF (@xstatus & 2048) = 2048
- SET @tmpstr = 'SET @pwd = CONVERT (varchar(256), ' + @txtpwd + ')'
- ELSE
- SET @tmpstr = 'SET @pwd = CONVERT (varbinary(256), ' + @txtpwd + ')'
- PRINT @tmpstr
- EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT
- SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name
- + ''', @pwd, @sid = ' + @SID_string + ', @encryptopt = '
- END
- ELSE BEGIN
- -- Null password
- EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT
- SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name
- + ''', NULL, @sid = ' + @SID_string + ', @encryptopt = '
- END
- IF (@xstatus & 2048) = 2048
- -- login upgraded from 6.5
- SET @tmpstr = @tmpstr + '''skip_encryption_old'''
- ELSE
- SET @tmpstr = @tmpstr + '''skip_encryption'''
- PRINT @tmpstr
- END
- END
- FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd
- END
- CLOSE login_curs
- DEALLOCATE login_curs
- RETURN 0
- GO
- ----- End Script -----
-
----- Begin Script, Create sp_help_revlogin procedure -----
USE master
GO
IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL
DROP PROCEDURE sp_hexadecimal
GO
CREATE PROCEDURE sp_hexadecimal
@binvalue varbinary(256),
@hexvalue varchar(256) OUTPUT
AS
DECLARE @charvalue varchar(256)
DECLARE @i int
DECLARE @length int
DECLARE @hexstring char(16)
SELECT @charvalue = '0x'
SELECT @i = 1
SELECT @length = DATALENGTH (@binvalue)
SELECT @hexstring = '0123456789ABCDEF'
WHILE (@i <= @length)
BEGIN
DECLARE @tempint int
DECLARE @firstint int
DECLARE @secondint int
SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))
SELECT @firstint = FLOOR(@tempint/16)
SELECT @secondint = @tempint - (@firstint*16)
SELECT @charvalue = @charvalue +
SUBSTRING(@hexstring, @firstint+1, 1) +
SUBSTRING(@hexstring, @secondint+1, 1)
SELECT @i = @i + 1
END
SELECT @hexvalue = @charvalue
GO
IF OBJECT_ID ('sp_help_revlogin') IS NOT NULL
DROP PROCEDURE sp_help_revlogin
GO
CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS
DECLARE @name sysname
DECLARE @xstatus int
DECLARE @binpwd varbinary (256)
DECLARE @txtpwd sysname
DECLARE @tmpstr varchar (256)
DECLARE @SID_varbinary varbinary(85)
DECLARE @SID_string varchar(256)
IF (@login_name IS NULL)
DECLARE login_curs CURSOR FOR
SELECT sid, name, xstatus, password FROM master..sysxlogins
WHERE srvid IS NULL AND name <> 'sa'
ELSE
DECLARE login_curs CURSOR FOR
SELECT sid, name, xstatus, password FROM master..sysxlogins
WHERE srvid IS NULL AND name = @login_name
OPEN login_curs
FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd
IF (@@fetch_status = -1)
BEGIN
PRINT 'No login(s) found.'
CLOSE login_curs
DEALLOCATE login_curs
RETURN -1
END
SET @tmpstr = '/* sp_help_revlogin script '
PRINT @tmpstr
SET @tmpstr = '** Generated '
+ CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */'
PRINT @tmpstr
PRINT ''
PRINT 'DECLARE @pwd sysname'
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
PRINT ''
SET @tmpstr = '-- Login: ' + @name
PRINT @tmpstr
IF (@xstatus & 4) = 4
BEGIN -- NT authenticated account/group
IF (@xstatus & 1) = 1
BEGIN -- NT login is denied access
SET @tmpstr = 'EXEC master..sp_denylogin ''' + @name + ''''
PRINT @tmpstr
END
ELSE BEGIN -- NT login has access
SET @tmpstr = 'EXEC master..sp_grantlogin ''' + @name + ''''
PRINT @tmpstr
END
END
ELSE BEGIN -- SQL Server authentication
IF (@binpwd IS NOT NULL)
BEGIN -- Non-null password
EXEC sp_hexadecimal @binpwd, @txtpwd OUT
IF (@xstatus & 2048) = 2048
SET @tmpstr = 'SET @pwd = CONVERT (varchar(256), ' + @txtpwd + ')'
ELSE
SET @tmpstr = 'SET @pwd = CONVERT (varbinary(256), ' + @txtpwd + ')'
PRINT @tmpstr
EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT
SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name
+ ''', @pwd, @sid = ' + @SID_string + ', @encryptopt = '
END
ELSE BEGIN
-- Null password
EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT
SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name
+ ''', NULL, @sid = ' + @SID_string + ', @encryptopt = '
END
IF (@xstatus & 2048) = 2048
-- login upgraded from 6.5
SET @tmpstr = @tmpstr + '''skip_encryption_old'''
ELSE
SET @tmpstr = @tmpstr + '''skip_encryption'''
PRINT @tmpstr
END
END
FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd
END
CLOSE login_curs
DEALLOCATE login_curs
RETURN 0
GO
----- End Script -----
Conclusion
Bon coding
Romelard Fabrice [MVP]
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Migration SQL Server vers Oracle : ordre de tri [ par Thanos_the_yopper ]
Bonjour,Nous venons de migrer une base de données de SQL Server vers Oracle et on a des problèmes au niveau des tris (Order By asc). Sous SQL Server,
Petit problème avec migration SQL Server 2000 à 2005 [ par white_mage ]
Bonjour,J'ai un petit souci de migration et j'espère que quelqu'un pourra m'aider.Nous avons une ancienne application Access ADP qui tire ses données
identifiants de connexion du compte sys.dba [ par herve_labenere ]
Je tente actuellement de réaliser en C# un lecteur MP3 couplé au moteur de bdd Sql Server 2005 Express. Ma Bdd stockera le chemin de tous les fichier
migration de base de donnée SQL Server vers Oarcle 9i [ par issam164 ]
Bonjour, Je recherche tout retour d'expérience, méthodes ,outils pour migration de serveur SQL Server vers Oracle V9iMe
probleme migration des users sql server 6.5 vers 2000 [ par yeye75 ]
Bonjour,Je travaille actuellement à la migration de sql server 6.5 à sql server 2000 via l'assistant de migration. Les objets tables\PS ont été correc
SQL Dans un domaine [ par cretthie ]
Bonjour,J'ai acheter un sql standard edition, j'ai monté mon iis avec mon nom de domaine sur dyndns ou autre, je sais plus.Tout d'abord, il me semble
sql server 2005 et migration de donnees [ par ghano81 ]
bonjour jé un ptit probleme concernant les base de données j'ai crer une base de donnee en access et maintenant je veux la exploiter en sql server
migration oracle vers sql server [ par verbeyst ]
Bonjour,J'implémente une application web qui se connecte sur une db oracle. Je voudrais mainetant "générer une copie" de ma db oracle en sql server.V
Migration de sql vers oracle [ par laymouna98 ]
Salut à tous SVP je veux une version complète d'un outil gratuit qui me permet de migrer ma base SQL Server 2000 vers Oracle 10g j'ai essayé avec
Migration sql serveur 2005 vers 2000 [ par nuth ]
Bonjour, Je souhaiterai migrer une base de données sql serveur 2005 vers 2000. Après quelques recherches sur google je n'ai rien trouvé donc je me de
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|