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

स्कीमा को नहीं छोड़ा जा सकता, क्योंकि यह मौजूद नहीं है या आपके पास अनुमति नहीं है। - SQL सर्वर / TSQL ट्यूटोरियल भाग 29

परिदृश्य:

आप बंधक कंपनी के लिए SQL सर्वर डेवलपर के रूप में काम कर रहे हैं। स्कीमा छोड़ने के लिए आपको SQL स्क्रिप्ट तैयार करने की यह आवश्यकता है। आप उपयोग करते हैं
स्कीमा योजना का नाम छोड़ें
डेवलपमेंट में स्टेटमेंट SQL सर्वर इंस्टेंस और गेट नीचे एरर।

स्कीमा नहीं छोड़ सकता '', क्योंकि यह मौजूद नहीं है या आपके पास अनुमति नहीं है।

आपके अगले कदम क्या होंगे?

समाधान:

उपरोक्त त्रुटि के दो कारण हो सकते हैं। एक, आपको वास्तव में स्कीमा छोड़ने की अनुमति नहीं है। आपने DBA से जाँच की और उसने पुष्टि की कि आपके पास यह परिवर्तन करने के लिए सभी अनुमतियाँ हैं। अब आपने इस पर और गौर किया और देखा कि टेबल, व्यू आदि जैसी वस्तुएं हैं जो इस स्कीमा का उपयोग कर रही हैं।
यहां से आप दो समाधान प्रस्तावित कर सकते हैं।
1) सभी वस्तुओं को छोड़ दें स्कीमा से संबंधित और फिर स्कीमा छोड़ें (ऐसे परिदृश्य हो सकते हैं जहां कोई इस स्कीमा और वस्तुओं का उपयोग कर रहा था। अब किसी को भी स्कीमा और इससे संबंधित वस्तुओं का उपयोग करने की आवश्यकता नहीं है। इसलिए आप अपनी टीम के साथ चर्चा करेंगे और यदि वे कहते हैं कि वस्तुओं और स्कीमा के लिए ड्रॉप स्क्रिप्ट तैयार करें। आप ड्रॉप ऑब्जेक्ट स्क्रिप्ट जेनरेट करने के लिए ऑब्जेक्ट एक्सप्लोरर डिटेल विंडो का उपयोग कर सकते हैं।
2) आप वस्तुओं को रखना चाहते हैं और उन्हें अलग-अलग स्कीमा में ले जाना चाहते हैं। शायद डीबीओ या कोई नई स्कीमा। स्थानांतरित करने के बाद ऑब्जेक्ट्स, आप स्कीमा को हटाना चाहते हैं।
नीचे क्वेरी का उपयोग वस्तुओं को स्थानांतरित करने के लिए स्क्रिप्ट उत्पन्न करने के लिए किया जा सकता है।
Declare @SourceSchema VARCHAR(100)
Declare @DestinationSchema VARCHAR(100)
SET @SourceSchema='TB'
SET @DestinationSchema='dbo'
Select 'Alter Schema ['+@DestinationSchema+'] Transfer '+@SourceSchema+'.['+name+']' 
from sys.objects
where schema_name(schema_id)=@SourceSchema
 
 
 उत्पन्न स्क्रिप्ट की प्रतिलिपि बनाएँ और फिर डेटाबेस में चलाएँ। एक बार हो जाने के बाद, अब आप स्कीमा स्कीमा नाम छोड़ें . का उपयोग करके स्कीमा को छोड़ सकते हैं कथन। 

  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 सर्वर कर्सर प्रकार - SQL सर्वर में स्टेटिक कर्सर क्या हैं | SQL सर्वर ट्यूटोरियल / TSQL ट्यूटोरियल

  2. SQL सर्वर में लेनदेन का सही उपयोग

  3. मास्टर..spt_values ​​​​का उपयोग करके कॉलम को विभाजित करने के लिए क्यों (और कैसे)?

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

  5. ABS () SQL सर्वर में उदाहरण