Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर 2005 में, मैं सभी लॉगिन, उनकी सर्वर भूमिका, सभी डीबी, डीबी भूमिका में उपयोगकर्ता से मेल खाने के लिए एक क्वेरी कैसे लिख सकता हूं?

आपके पास एक क्वेरी सूची सभी डेटाबेस नहीं हो सकती क्योंकि सूची गतिशील है। आपका सबसे अच्छा दांव sp_msforeachdb और एक बैच से परिणाम बनाने और उसे वापस करने के लिए कहें:

set nocount on;
create table  #result (sid varbinary(85), 
 server_principal_id int,
 database_id int,
 database_principal_id int);

exec ms_foreachdb 'insert into #result 
  (server_principal_id, database_id, database_principal_id)
select s.principal_id, 
  db_id(''?''),
  d.principal_id
from sys.server_principals s
join [?].sys.database_principals d
  on s.sid = d.sid;';

select * from #result;

एक बार जब आप एक ही तालिका में सभी सूचनाओं को एकत्रित करने के लिए एक उचित परिणाम सेट आकार का पता लगा लेते हैं, तो आप सर्वर भूमिकाओं और डेटाबेस भूमिकाओं की सदस्यता को शामिल करने के लिए इसे बढ़ा सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर चेक/नोचेक जेनरेट की गई स्क्रिप्ट में अंतर

  2. दो गिनती प्राप्त करना और फिर उन्हें विभाजित करना

  3. Intel Xeon स्केलेबल प्रोसेसर और SQL सर्वर 2017

  4. एसक्यूएल सर्वर 2005 में टेबल में एक्सएमएल डेटा कैसे डालें?

  5. कैसे एसक्यूएल चयन में कुछ मूल्यों के साथ रिकॉर्ड को बाहर करने के लिए?