रॉ विभाजन पर DATABASE बनाएँ अब काम नहीं करता है?


16

मैं दो कच्चे यानी अनफ़िटेड, विभाजन का उपयोग करके एक डेटाबेस बनाने का प्रयास कर रहा हूं।

Microsoft डॉक्स बताता है कि आप ऐसा कर सकते हैं, बस आपको कच्चे विभाजन के केवल ड्राइव अक्षर को निर्दिष्ट करना होगा:

CREATE DATABASE DirectDevice 
ON (NAME = DirectDevice_system, FILENAME = 'S:')
LOG ON (NAME = DirectDevice_log, FILENAME = 'T:')

हालाँकि, SQL सर्वर 2017 यह त्रुटि देता है:

Msg 5170, स्तर 16, राज्य 4, पंक्ति 1
फ़ाइल 'S:' नहीं बना सकता क्योंकि यह पहले से मौजूद है। फ़ाइल पथ या फ़ाइल नाम बदलें, और ऑपरेशन का पुनः प्रयास करें।
Msg 1802, Level 16, State 4, Line 1
CREATE DATABASE विफल रहा। सूचीबद्ध कुछ फ़ाइल नाम नहीं बनाए जा सके। संबंधित त्रुटियों की जाँच करें।

प्रलेखन राज्यों की प्रासंगिक बिट :

यदि फ़ाइल कच्चे विभाजन पर है, तो os_file_name को मौजूदा कच्चे विभाजन का केवल ड्राइव अक्षर निर्दिष्ट करना होगा। प्रत्येक कच्चे विभाजन पर केवल एक डेटा फ़ाइल बनाई जा सकती है।

और हाँ, S: और T को ड्राइव करें: दोनों ही अनियंत्रित कच्चे विभाजन हैं जो मेरे सिस्टम में मौजूद हैं:

DISKPART> विवरण विभाजन

विभाजन ४
प्रकार: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
छिपा हुआ: नहीं
आवश्यक: नहीं
Attrib: 0000000000000000
बाइट्स में ऑफसेट: 999934656512

  वॉल्यूम ### Ltr लेबल Fs प्रकार आकार स्थिति जानकारी
  ---------- --- ----------- ----- ---------- ------- ---- ----- --------
* वॉल्यूम 6 टी रॉ विभाजन 127 एमबी स्वस्थ

DISKPART> विभाजन 3 का चयन करें

विभाजन 3 अब चयनित विभाजन है।

DISKPART> विवरण विभाजन

विभाजन ३
प्रकार: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
छिपा हुआ: नहीं
आवश्यक: नहीं
Attrib: 0000000000000000
बाइट्स में ऑफसेट: 1000067825664

  वॉल्यूम ### Ltr लेबल Fs प्रकार आकार स्थिति जानकारी
  ---------- --- ----------- ----- ---------- ------- ---- ----- --------
* वॉल्यूम 7 एस रॉ विभाजन 129 एमबी स्वस्थ

ड्राइव पत्र से पेट के निकाला जा रहा है, के रूप में FILENAME = 'S'और FILENAME = 'T'में, परिणाम:

Msg 5105, स्तर 16, राज्य 2, लाइन 1
एक फ़ाइल सक्रियण त्रुटि हुई। भौतिक फ़ाइल नाम 'S' गलत हो सकता है। अतिरिक्त त्रुटियों का निदान और सुधार करें, और ऑपरेशन को पुनः प्रयास करें।
Msg 1802, Level 16, State 1, Line 1
CREATE DATABASE विफल रहा। सूचीबद्ध कुछ फ़ाइल नाम नहीं बनाए जा सके। संबंधित त्रुटियों की जाँच करें।

SQL सर्वर 2000 दस्तावेज़ीकरणCREATE DATABASE अनुभाग के अंतर्गत निम्न उदाहरण दिखाता है :

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

    USE master
    GO
    CREATE DATABASE Employees
    ON
    ( NAME = Empl_dat,
        FILENAME = 'f:',
        SIZE = 10,
        MAXSIZE = 50,
        FILEGROWTH = 5 )
    LOG ON
    ( NAME = 'Sales_log',
        FILENAME = 'g:',
        SIZE = 5MB,
        MAXSIZE = 25MB,
        FILEGROWTH = 5MB )
    GO

हालाँकि, उपरोक्त उदाहरण दिखाता है SIZE, MAXSIZEऔर FILEGROWTHपैरामीटर जो स्पष्ट रूप से रॉ विभाजन पर संग्रहीत SQL सर्वर डेटा फ़ाइलों के लिए आवश्यक नहीं हैं।

SQL सर्वर 2000 दस्तावेज़ीकरण से अधिक विवरण, विशेष रूप से कच्चे ड्राइव के विषय में:

कच्चे विभाजन का उपयोग करना
Microsoft® SQL Server ™ 2000 डेटाबेस फ़ाइलों को बनाने के लिए कच्चे विभाजन के उपयोग का समर्थन करता है। कच्चे विभाजन डिस्क विभाजन हैं जिन्हें Microsoft Windows NT® फ़ाइल सिस्टम, जैसे FAT और NTFS के साथ स्वरूपित नहीं किया गया है। कुछ मामलों में, कच्चे विभाजनों पर बनाए गए डेटाबेस का उपयोग करने से NTFS या FAT पर थोड़ा सा प्रदर्शन प्राप्त हो सकता है। हालाँकि, अधिकांश स्थापनाओं के लिए पसंदीदा विधि NTFS या FAT विभाजन पर बनाई गई फ़ाइलों का उपयोग करना है। कच्चे विभाजन पर डेटाबेस फ़ाइल बनाते समय, आप डेटाबेस में शामिल फ़ाइलों के भौतिक नामों को निर्दिष्ट नहीं करते हैं; आप केवल डिस्क के ड्राइव अक्षर निर्दिष्ट करते हैं, जिस पर डेटाबेस फाइलें बनाई जानी चाहिए। यदि आप Microsoft Windows® 2000 सर्वर का उपयोग कर रहे हैं, तो आप कच्चे विभाजनों को इंगित करने के लिए माउंटेड ड्राइव बना सकते हैं। जब आप किसी खाली फ़ोल्डर में एक स्थानीय ड्राइव माउंट करते हैं, विंडोज 2000 ड्राइव अक्षर के बजाय ड्राइव को ड्राइव पथ प्रदान करता है। माउंटेड ड्राइव ड्राइव अक्षर द्वारा लगाए गए 26-ड्राइव सीमा के अधीन नहीं हैं; इसलिए, आप असीमित संख्या में कच्चे विभाजन का उपयोग कर सकते हैं। जब आप माउंटेड ड्राइव पर एक डेटाबेस फ़ाइल बनाते हैं, तो आपको एक पीछे चल रहे बैकस्लैश (), उदाहरण के लिए, E: \ नमूना नाम के साथ ड्राइव पथ को फ़ाइल नाम पर समाप्त करना होगा। माउंटेड ड्राइव बनाने के बारे में जानकारी के लिए, विंडोज 2000 सर्वर प्रलेखन देखें।

कच्चे विभाजन का उपयोग करते समय विचार करने के लिए कई सीमाएँ हैं:
प्रत्येक कच्चे विभाजन पर केवल एक डेटाबेस फ़ाइल बनाई जा सकती है। तार्किक विभाजन को एकल डेटाबेस फ़ाइल के रूप में कॉन्फ़िगर किया जाना चाहिए, क्योंकि कच्चे विभाजन पर कोई फ़ाइल सिस्टम नहीं है।

कच्चे विभाजन के साथ मानक फाइल-सिस्टम ऑपरेशन जैसे कॉपी, मूव और डिलीट का उपयोग नहीं किया जा सकता है।

Windows NT बैकअप उपयोगिता का उपयोग करके कच्चे विभाजनों पर स्थित डेटाबेस फ़ाइलों का बैकअप नहीं लिया जा सकता है। हालाँकि, SQL सर्वर डेटाबेस या हस्तांतरण लॉग बैकअप अभी भी बनाया जा सकता है।

कच्चे विभाजनों पर डेटाबेस फ़ाइलों को स्वचालित रूप से विस्तारित नहीं किया जा सकता है। या तो शुरू में डेटाबेस को अपने पूर्ण आकार में बनाएं, या डेटाबेस फ़ाइलों को मैन्युअल रूप से विस्तारित करें। अधिक जानकारी के लिए, डेटाबेस का विस्तार करना देखें।

केवल लेटर किए गए विभाजन, जैसे कि ई :, या माउंटेड ड्राइव, जैसे ई: \ सैंपल नेम \ _ का उपयोग किया जा सकता है। गिने हुए उपकरणों का उपयोग नहीं किया जा सकता है।

खराब विभाजन के रूप में फाइल-सिस्टम सेवाएं कच्चे विभाजन के साथ उपलब्ध नहीं हैं।


यह SQL सर्वर 6.5 के बारे में ब्रेंट ओजर की पोस्ट से प्रेरित था , जिसने कच्चे विभाजन का समर्थन किया था


3
आपको RPaaS - Raw विभाजन का उपयोग सेवा के रूप में करने की आवश्यकता है, या ARPL - Azure कच्ची विभाजन झील इसके लिए SS 2017 ;-) के साथ काम करने के लिए है;
SQLRaptor

जवाबों:


3

मैं Windows XP x64 पर SQL Server 2000 SP4 के साथ अपेक्षित रूप से कच्चे विभाजन के काम की पुष्टि कर सकता हूं।

मैंने एसक्यूएल सर्वर 2000 एसपी 4 के खिलाफ क्वेरी एनालाइज़र (शूडर) के माध्यम से बस निम्नलिखित को चलाया:

CREATE DATABASE t
ON PRIMARY 
(
    NAME = t_primary
    , FILENAME = 'E:'
)
LOG ON 
(
    NAME = t_log
    , FILENAME = 'F:'
);

परिणाम:

CREAT DATABASE प्रक्रिया डिस्क 't_primary' पर 0.64 MB आवंटित कर रही है।
CREAT DATABASE प्रक्रिया 1.00 MB को डिस्क 't_log' पर आवंटित कर रही है।

उपरोक्त CREATE DATABASE tकोड Windows XP x64 पर SQL सर्वर 2005 के साथ काम करता है; एकमात्र आउटपुट हैCommand(s) completed successfully.

जब आप डेटाबेस फ़ाइलों को देखते हैं तो SSMS निम्नलिखित दिखाता है:

यहाँ छवि विवरण दर्ज करें

बोल्ट के बाल्टी के रूप में के रूप में अच्छा नहीं है?

Windows Server 2012 मानक पर SQL Server 2012 SP1, SQL सर्वर प्रबंधन स्टूडियो सेवा खाता "स्थानीय सिस्टम" पर सेट है:

यहाँ छवि विवरण दर्ज करें

SQL Server 2014 (12.0.5000.0) विंडोज सर्वर 2012 पर "लोकल सिस्टम" के रूप में चल रहा है, SQL सर्वर 2017 के समान व्यवहार प्रदर्शित करता है; अर्थात, यह त्रुटि संदेश देता है:

Msg 5170, स्तर 16, राज्य 4, पंक्ति 1
फ़ाइल 'E:' नहीं बना सकती क्योंकि यह पहले से मौजूद है। फ़ाइल पथ या फ़ाइल नाम बदलें, और ऑपरेशन का पुनः प्रयास करें।
Msg 1802, Level 16, State 4, Line 1
CREAT DATABASE विफल रहा। सूचीबद्ध कुछ फ़ाइल नाम नहीं बनाए जा सके। संबंधित त्रुटियों की जाँच करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.