2011-02-23 14 views
14

में अधिकतम डेटाबेस नाम लंबाई मैं डेटाबेस नाम पर कुछ UI सत्यापन करने की कोशिश कर रहा हूं। मुझे विभिन्न स्थानों से बताया गया था कि SQL सर्वर डेटाबेस नाम SQL सर्वर के अंदर sysname के रूप में संग्रहीत किया गया है। मैंने यह भी सत्यापित किया कि sys.Databases की जांच करके।SQL सर्वर

तो, मैं यूआई में अपना टेक्स्टबॉक्स बना देता हूं ताकि अधिकतम वर्ण 128 अक्षर लंबा हो। यह sysname प्रकार की अधिकतम लंबाई है।

हालांकि, मैंने पाया कि मेरी SQL सर्वर 2005 एक्सप्रेस संस्करण में, अगर मैं लंबे समय से 128 वर्णों के साथ एक डेटाबेस का नाम दर्ज है, यह हमेशा शिकायत

डिफ़ॉल्ट लॉग फ़ाइल नहीं बना सका क्योंकि नाम बहुत लंबा था

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

मेरा प्रश्न यह है कि क्या सभी अलग-अलग विंडोज ओएस पर SQL सर्वर के सभी संस्करणों के लिए 124 वर्ण सीमा सत्य है या नहीं?

+1

संभवतः उपयोगी जानकारी: [विंडोज अधिकतम पथ लंबाई सीमा] (http://msdn.microsoft.com/en-us/library/aa365247%28v=vs.85%29.aspx#maxpath) – drudge

+0

आप एक बना सकते हैं 'CREATE' डेटाबेस कथन में किसी भी नाम की लॉग फ़ाइल। इसमें डीबी नाम शामिल नहीं है ... –

उत्तर

14

लॉग फ़ाइल नाम डेटाबेस नाम शामिल करने की आवश्यकता नहीं है।

यह उदाहरण के लिए मेरे लिए ठीक काम करता है।

CREATE DATABASE [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA] ON PRIMARY 
( 
NAME = N'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\A128.mdf') 
LOG ON 
( 
NAME = N'A128_log', 
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\A128_log.LDF') 
+3

मैं देखता हूं। मुझे लगता है कि अब मैं समस्या को समझता हूं। दो सीमाएं हैं - डेटाबेस नाम के लिए एक और लॉग फ़ाइल के लिए एक। मुझे लगता है कि आप सही हैं क्योंकि ऐसा इसलिए है क्योंकि अगर मैं लॉग फ़ाइल नाम निर्दिष्ट नहीं करता हूं, तो यह मेरे लॉग इन फ़ाइल नाम के रूप में स्वचालित रूप से मेरे डेटाबेस नाम में "_log" जोड़ता है। इससे मेरी अधिकतम सीमा 124 हो जाती है। –

3

क्या आप डेटा और फ़ाइल फ़ाइलों के लिए फ़ाइल नामों की समस्या में नहीं चल रहे हैं। अंतर्निहित ऑपरेटिंग सिस्टम (विंडोज) इस पर प्रतिबंध लगाता है और इसलिए डेटाबेस नहीं बनाया जा सकता है। डेटाबेस का नाम 128 वर्ण लंबा हो सकता है और यह काम करता है कि उपयोग किए गए फ़ाइल नाम लंबे समय तक नहीं हैं (SQL सर्वर प्रबंधन स्टूडियो का उपयोग करते समय यह स्वचालित रूप से डेटाबेस नामों के आधार पर फ़ाइल नाम उत्पन्न करता है, और इसलिए वे लंबे समय तक समाप्त होते हैं)।