meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
sql_server:database:orphans [05/11/2025 09:48] mdlsql_server:database:orphans [05/11/2025 10:30] (Version actuelle) mdl
Ligne 30: Ligne 30:
 **__Méthode 2__** **__Méthode 2__**
  
-Cette méthode fonctionne toujours jusqu'à MSSQL 2025, mais sera deprecié dans les prochaines release.+
   * Identifier les Orphelins   * Identifier les Orphelins
 <code TSQL> <code TSQL>
- + -- Use your database 
 +USE [YourDatabaseName]; 
 +GO 
 + 
 +-- Create a temporary table to store user information 
 +CREATE TABLE #DBUsers 
 +
 +    DBUserName NVARCHAR(128), 
 +    DBUserSID VARBINARY(85) 
 +); 
 + 
 +-- Insert database user information into the temp table 
 +INSERT INTO #DBUsers (DBUserName, DBUserSID) 
 +SELECT name, sid  
 +FROM sys.database_principals  
 +WHERE type_desc IN ('SQL_USER', 'WINDOWS_USER', 'WINDOWS_GROUP'); 
 + 
 +-- Select and compare with instance logins 
 +SELECT  
 +    u.DBUserName AS DatabaseUser,  
 +    u.DBUserSID AS DatabaseUserSID, 
 +    p.name AS InstanceLogin, 
 +    p.sid AS InstanceLoginSID, 
 +    CASE  
 +        WHEN p.sid IS NULL THEN 'Orphaned User'  
 +        ELSE 'Matched'  
 +    END AS Status 
 +FROM  
 +    #DBUsers u 
 +LEFT JOIN  
 +    sys.server_principals p ON u.DBUserSID = p.sid; 
 + 
 +-- Drop the temporary table 
 +DROP TABLE #DBUsers;
 </code> </code>
  
-  * corriger les orphelins+  * corriger les orphelins si le Login existe déjà
 <code TSQL> <code TSQL>
  alter user 'robert' with login 'robert'  alter user 'robert' with login 'robert'
 </code> </code>
 +
 +  * ou créer le Login en forçant le SID du user de BDD
 +<code TSQL>
 +-- Lister le SID du user de BDD1211
 +use [DB1]
 +GO
 +select name,type_desc,create_date,sid from sys.database_principals
 +
 +
 +-- SQL LOGIN
 +create login [robert]
 +with password 'xxxxxx', sid='xxxxx'
 +
 +-- AD USER/GROUP
 +create login [AD\robert] from windows
 +with  sid='xxxxx'
 +</code>
 +