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

क्या विशिष्ट कार्यक्रमों से SQL सर्वर तक पहुँच से इनकार करना संभव है?

यह नहीं है संभव है और इसके विपरीत सभी दावे सांप के तेल हैं।

हालांकि यह सच है कि आप एप्लिकेशन के नाम की जांच कर सकते हैं और लॉगिन ट्रिगर बना सकते हैं जो इस संपत्ति के आधार पर लॉगिन से इनकार करते हैं, एप्लिकेशन का नाम एक सुरक्षित संपत्ति नहीं है और इसे आसानी से किसी के द्वारा भी बनाया जा सकता है। सुरक्षा . के लिए इस पर भरोसा करें (अर्थात लॉगिन अस्वीकार) #असफल है।

इसलिए जब तक आप अपना बार नीचे करते हैं और अपने प्रश्न से 'अस्वीकार पहुंच' के रूप में शब्दों को हटाते हैं, तब तक एक लॉगऑन ट्रिगर जो सत्र के program_name . का निरीक्षण करता है में sys.dm_exec_sessions कोड> :

CREATE TRIGGER application_limit_trigger
ON ALL SERVER WITH EXECUTE AS '...'
FOR LOGON
AS
BEGIN
IF EXISTS (SELECT *
   FROM sys.dm_exec_sessions
   WHERE session_id = @@SPID
   AND program_name IN (N'Bad Program', N'Worse Program', N'Unmentionable')
    ROLLBACK;
END;

Program_name कुछ अनुप्रयोगों द्वारा सेट किया गया है, मुझे नहीं पता कि Office सुइट इस गुण को किसी उपयोगी चीज़ पर सेट करता है या इसे डिफ़ॉल्ट छोड़ देता है। और आपको यह समझना होगा कि इसे कोई भी . द्वारा दरकिनार किया जा सकता है बस ApplicationName को बदलकर कनेक्शन स्ट्रिंग में संपत्ति।



  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. मैं प्राथमिक कुंजी को AUTOINCREMENT के रूप में कैसे बना सकता हूँ?

  3. वर्चर (अधिकतम) में कितने वर्ण हैं?

  4. बार-बार दोहराए गए वर्णों को हटाना

  5. SQL सर्वर में sys.dm_exec_describe_first_result_set कैसे काम करता है