2013-08-31 9 views
8

पर विफल रहता है मैं स्थानीय डीबी के लिए bacpac निर्यात करने के लिए sqlpackage निष्पादित करने के लिए निम्न आदेश का उपयोग कर रहा हूं।SqlPackage.exe का उपयोग कर Bacpac में SqlDatabase निर्यात करें fillfactor

"C: \ प्रोग्राम फ़ाइलें (x86) \ Microsoft SQL सर्वर \ 110 \ डीएसी \ बिन \ sqlpackage.exe"/कार्रवाई: निर्यात /tf:".\dbname_Baseline.bacpac "/ SourceConnectionString:" XXXXXXXXXXXX "

यह "तत्व प्राथमिक कुंजी: [डीबीओ] कहने में विफल रहता है। [PK_Name] में एक असमर्थित संपत्ति है FillFactor सेट और डेटा पैकेज के हिस्से के रूप में उपयोग किए जाने पर समर्थित नहीं है।"

मुझे लगता है कि fillfactor समर्थित नहीं है लेकिन क्या यह असमर्थित गुणों को अनदेखा करने के लिए कुछ भी है?

धन्यवाद

मार्क

+0

[nuget] (https://www.nuget.org/packages) से DacFx और SMO पैकेज अपडेट करने का प्रयास करें या नवीनतम [SSMS] इंस्टॉल करें (https://msdn.microsoft.com/en-us/library /mt238290.aspx)। इसे आपके जीएसी में I/E के लिए आवश्यक डीएलएल अपडेट करना चाहिए। – Pio

उत्तर

1

1GB के आसपास के एक छोटे से डेटाबेस के लिए bacpac के लिए निर्यात के साथ स्विच

/p:IgnoreFillFactor ={ True | False } 
+1

हाय, मुझे 'IgnoreFillFactor' मिलता है 'निर्यात' कार्रवाई के लिए एक वैध तर्क नहीं है। जब मैं इस तर्क को मेरी कमांड लाइन में डालने का प्रयास करता हूं। –

+0

यह/पैरामीटर के लिए पैरामीटर जैसा दिखता है:/कार्रवाई के बजाय प्रकाशित करें: निर्यात करें। (एसक्यूएल एज़ूर के लिए तैयार डीबी प्राप्त करना मजेदार है?) –

1

मैं प्रयोग कर रहे हैं दर्रा और आप डेटाबेस में fillfactor पुन: कॉन्फ़िगर कर सकते हैं। एसक्यूएल सर्वर मैनेजर स्टूडियो में, बस इंडेक्स के लिए 'ड्रॉप और री-बिल्ड' स्क्रिप्ट करें, फिलफैक्टर विनिर्देश को हटाने के लिए जेनरेट की गई स्क्रिप्ट को संपादित करें, स्क्रिप्ट चलाएं और यह इंडेक्स को एक डिफ़ॉल्ट भरने वाले कारक के साथ फिर से बनाता है जो sqlpackage.exe को स्वीकार्य है । यह पीके और इंडेक्स के लिए काम करना चाहिए, यह छोटे डेटाबेस के लिए त्वरित होना चाहिए और डेटाबेस पर कोई प्रतिकूल प्रभाव नहीं होना चाहिए।

मुझे एहसास है कि यह कुछ त्रुटियों को अनदेखा करने के बारे में सवाल का जवाब नहीं देता है, लेकिन यह समस्या को ठीक करने का शायद एक बेहतर तरीका है क्योंकि यह सीधे डेटाबेस में करता है।

+0

यह छोटे डेटाबेस के लिए एक वैध समाधान है। हालांकि, हमारे पास 270+ समस्या इंडेक्स के साथ एक बड़ा डेटाबेस है! इसके लिए एक बेहतर समाधान होना चाहिए! –

+0

मेरे उत्तर का विस्तार करने के लिए आप ALTER INDEX REBUILD कमांड का उपयोग करके fillfactor भी बदल सकते हैं, आपको SQL सर्वर प्रबंधक स्टूडियो जीयूआई का उपयोग करने की आवश्यकता नहीं है। आप इंडेक्स को आवश्यक भरने वाले कारक के साथ एक-एक करके पुनर्निर्माण के लिए एक स्क्रिप्ट लिख सकते हैं, और आप समय के साथ परिवर्तन चला सकते हैं। एक बार इंडेक्स को आवश्यक fillfactor के साथ पुनर्निर्मित करने के बाद इसे फिर से पुनर्निर्मित करने की आवश्यकता नहीं है। साथ ही मेरा मानना ​​है कि SQL सर्वर एंटरप्राइज़ संस्करण वैकल्पिक इंडेक्स को ऑनलाइन होने की अनुमति देता है, जो डाउनटाइम को कम करना चाहिए। – Ubercoder

संबंधित मुद्दे