SQL सर्वर 2019 में पेश की गई दो नई संग्रहीत कार्यविधियाँ हैं sys.xp_copy_file
और sys.xp_copy_files
, जो आपको फाइलों को कॉपी करने में सक्षम बनाता है।
SQL सर्वर 2019 से पहले, आपको xp_cmdshell
. का उपयोग करना होगा , जो एक विंडोज़ कमांड शेल को उत्पन्न करता है और निष्पादन के लिए एक स्ट्रिंग में गुजरता है। SQL सर्वर 2019 में पेश की गई नई संग्रहीत कार्यविधियाँ आपको xp_cmdshell
पर निर्भर हुए बिना फ़ाइलों को कॉपी करने की अनुमति देती हैं .
उदाहरण 1 - 1 फ़ाइल कॉपी करें
आप sys.xp_copy_file
. का उपयोग कर सकते हैं एक फ़ाइल की प्रतिलिपि बनाने के लिए। इस संग्रहीत कार्यविधि का उपयोग करने से आप नई फ़ाइल को नाम भी दे सकते हैं।
लिनक्स पर उदाहरण:
EXEC master.sys.xp_copy_file '/var/opt/mssql/data/samples/albums.csv', '/var/opt/mssql/data/samples/albums2.csv';
मैंने अपने मैक पर इस कोड को सफलतापूर्वक चलाया, जो लिनक्स पर SQL सर्वर 2019 का उपयोग करता है।
Windows सिस्टम पर फ़ाइलों की प्रतिलिपि बनाने के लिए, आपको Windows पथ परंपरा का उपयोग करना होगा।
विंडोज़ पर उदाहरण:
EXEC master.sys.xp_copy_file 'D:\mssql\data\samples\albums.csv', 'D:\mssql\data\samples\albums2.csv';
उदाहरण 2 - एकाधिक फ़ाइलें कॉपी करें
आप sys.xp_copy_files
. का उपयोग कर सकते हैं एकाधिक फ़ाइलों की प्रतिलिपि बनाने के लिए।
लिनक्स पर उदाहरण:
EXEC master.sys.xp_copy_files '/var/opt/mssql/data/samples/albums*.csv', '/var/opt/mssql/data/samples/final';
यहाँ मैं पिछले उदाहरण के समान फ़ोल्डर में हूँ। इस मामले में, मैंने albums
. से शुरू होने वाली सभी फ़ाइलों की प्रतिलिपि बनाई है और .csv
. के साथ समाप्त होता है . मैं तारक का उपयोग करता हूं (*
) वाइल्डकार्ड उन फ़ाइलों का चयन करने के लिए जिनमें albums
. के बाद अन्य वर्ण शामिल हो सकते हैं भाग।
यह उदाहरण फाइलों को /var/opt/mssql/data/samples/final
में कॉपी करता है निर्देशिका।
विंडोज़ पर उदाहरण:
EXEC master.sys.xp_copy_file 'D:\mssql\data\samples\albums*.csv', 'D:\mssql\data\samples\final';
फ़ाइलें हटाना
SQL सर्वर 2019 ने sys.xp_delete_files
. भी पेश किया संग्रहीत प्रक्रिया, जो आपको फ़ाइलों को हटाने में सक्षम बनाती है। इस आलेख में बनाई गई फ़ाइलों को हटाने के उदाहरणों के लिए SQL सर्वर 2019 में फ़ाइलों को कैसे हटाएं देखें।