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

SQL सर्वर 2014 SP2 में केवल एक उपयोगकर्ता डेटाबेस की एक स्कीमा और आँकड़े उत्पन्न करने के लिए DBCC CLONEDATABASE का उपयोग करना

DBCC CLONEDATABASE SQL Server 2014 SP 2 में पेश किया गया एक नया DBCC कमांड है जिसका उपयोग एक निर्दिष्ट उपयोगकर्ता डेटाबेस का क्लोन बनाने के लिए किया जाता है जो क्वेरी ऑप्टिमाइज़र से संबंधित प्रदर्शन समस्याओं के निवारण में मदद करता है।

जब एक क्लोन डेटाबेस का निर्माण DBCC CLONEDATABASE का उपयोग करके किया गया है, यह एक स्कीमा और सांख्यिकी केवल निर्दिष्ट डेटाबेस की प्रतिलिपि बनाएगा और इसमें डेटा की कोई प्रति नहीं होगी।

क्लोन बनाना स्रोत को पास करने जितना आसान है डेटाबेस नाम और क्लोन डेटाबेस नाम DBCC कमांड के लिए।
DBCC CLONEDATABASE ('SansSQL', 'SansSQL_Clone') 

DBCC कमांड का आउटपुट

क्लोनिंग पूरी हो जाने के बाद, क्लोन किया गया डेटाबेस रीड-ओनली मोड में होगा।

नाम चुनें, डेटाबेस_आईडी, is_read_only sys.databases से जहां ('SansSQL' में नाम है) ', 'SansSQL_Clone') 

तो वास्तव में क्या होता है जब हम डेटाबेस पर DBCC CLONEDATABASE कमांड जारी करते हैं?
यह इसके साथ शुरू होगा क्लोन बनने से पहले कुछ सत्यापन, निम्नलिखित सत्यापन DBCC CLONEDATABASE द्वारा किए जाते हैं। यदि कोई सत्यापन विफल हो जाता है तो आदेश विफल हो जाता है।
  • स्रोत डेटाबेस एक उपयोगकर्ता डेटाबेस होना चाहिए। सिस्टम डेटाबेस (मास्टर, मॉडल, msdb, tempdb, वितरण डेटाबेस आदि) की क्लोनिंग की अनुमति नहीं है।
  • स्रोत डेटाबेस ऑनलाइन या पठनीय होना चाहिए।
  • एक डेटाबेस जो क्लोन डेटाबेस के समान नाम का उपयोग करता है वह पहले से मौजूद नहीं होना चाहिए।
  • कमांड उपयोगकर्ता लेनदेन में नहीं है।
यदि सभी सत्यापन सफल हो जाते हैं, तो DBCC CLONEDATABASE निम्नलिखित कार्य करेगा:
  • प्राथमिक डेटा फ़ाइल और लॉग फ़ाइल बनाना
  • द्वितीयक डेटा स्थान जोड़ना
  • द्वितीयक फ़ाइलें जोड़ना
गंतव्य डेटाबेस फ़ाइलें मॉडल डेटाबेस से आकार और वृद्धि सेटिंग्स को इनहेरिट करेंगी और गंतव्य डेटाबेस के फ़ाइल नाम source_file_name _underscore_random_number सम्मेलन का पालन करेंगे।
sys.master_files से डेटाबेस_आईडी, file_id, type_desc, नाम, भौतिक_नाम चुनें जहां DB_NAME(database_id) ('SansSQL', 'SansSQL_Clone') 


फिर DBCC CLONEDATABASE निम्नलिखित चरणों के साथ एक आंतरिक डेटाबेस स्नैपशॉट करेगा
<उल शैली ="पाठ-संरेखण:बाएं;">
  • स्रोत डेटाबेस की पुष्टि करें
  • स्रोत डेटाबेस के लिए S लॉक प्राप्त करें
  • स्रोत डेटाबेस का स्नैपशॉट बनाएं
  • एक क्लोन डेटाबेस बनाएं (यह एक खाली डेटाबेस है जो मॉडल से विरासत में मिला है)
  • क्लोन डेटाबेस के लिए X लॉक प्राप्त करें
  • मेटाडेटा को क्लोन डेटाबेस में कॉपी करें
  • सभी DB लॉक जारी करें
  • नीचे दिए गए कमांड का उपयोग करके, हम जांच सकते हैं कि डेटाबेस क्लोन है या सामान्य डेटाबेस। पूर्व>

    संदर्भ:https://support.microsoft.com/en-in/kb/3177838

    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 सर्वर 2017 में एक क्वेरी बनाएं

    2. रियल बनाम फ्लोटिंग पॉइंट बनाम मनी

    3. चर के लिए गतिशील एसक्यूएल का परिणाम असाइन करें

    4. mysql समकक्ष डेटा प्रकार

    5. सी # में थोक अद्यतन