2012-06-05 12 views
6

मैं एसएसआईएस का उपयोग वीएस -2010 (खोल) और SQL सर्वर 2005 (32 बिट) से SQL Server 2012 (64 बिट) में जाने वाले डेटाबेस के साथ कर रहा हूं। मैं सीधे गंतव्य सर्वर पर विकास कर रहा हूं (इष्टतम नहीं, लेकिन यह काम करता है)।एसएसआईएस ट्रांसफर डेटाबेस कार्य क्रिप्टिक त्रुटि संदेश 0x80131500

जब मैं ट्रांसफर डेटाबेस कार्य का उपयोग करने का प्रयास करता हूं, तो यह मुझे एक त्रुटि संदेश देता है: "त्रुटि: कार्य पर निष्पादन विधि त्रुटि कोड 0x80131500 लौटा (डेटा स्थानांतरित करते समय एक त्रुटि आई। आंतरिक अपवाद देखें विवरण।) निष्पादन विधि सफल होनी चाहिए, और "आउट" पैरामीटर का उपयोग करके परिणाम इंगित करना चाहिए। " Error message

यहां समस्या है ... मैं "आंतरिक अपवाद" कैसे देख सकता हूं ?? यह एक जीयूआई इंटरफ़ेस है जिसमें कोड के माध्यम से कदम उठाने का कोई तरीका नहीं है! मैंने setting up logging भी कोशिश की - यह सिर्फ वही बेकार त्रुटि संदेश लॉग करता है।

माइक्रोसॉफ्ट के पास उनके संदर्भ दस्तावेज़ों में इस त्रुटि कोड के लिए कोई जानकारी नहीं है (जो मुझे मिल सकती है)।

त्रुटि कोड googleing के बाद, मैंने देखा कि दूसरों के पास यह त्रुटि कोड है, जिसमें उपयोगकर्ता, भूमिकाएं और उन्हें बनाने के संदेश हैं।

  • मैं दोगुना जाँच की है कि मैं दोनों सर्वर पर सिस्टम प्रशासक अधिकार है, और दोनों पर
    प्रवेश नहीं हैं।
  • मैं और कि खुद से दोनों के लिए काम किया ठीक (डेटाबेस नाम changeing के साथ) के लिए प्रत्येक सर्वर से एक ही स्थानांतरण डाटाबेस कार्य की कोशिश की।
  • मैंने डेटाबेसऑनलाइन और डेटाबेसऑफलाइन विकल्पों दोनों की कोशिश की। (दोनों तरीकों से एक ही त्रुटि)
  • मैंने स्थानांतरण डेटाबेस कार्य करने से पहले "ट्रांसफर लॉग इन" कार्य करने का प्रयास किया, यह कार्य काम करता था, लेकिन स्थानांतरण डेटाबेस कार्य नहीं। फिर उसने त्रुटियों को फेंकना शुरू कर दिया कि डेटाबेस मौजूद नहीं हैं - जिसका अर्थ है कि डेटाबेस को स्थानांतरित करने के बाद मुझे लॉग इन स्थानांतरित करने की आवश्यकता है। enter image description here

    क्या मैं गलत कर रहा हूँ:

यहाँ मेरा सेटिंग कर रहे हैं? या मैं "आंतरिक अपवाद" संदेश कैसे प्राप्त कर सकता हूं?

इसके अलावा, यहां माइक्रोसॉफ्ट के मंचों के लिए मेरी पोस्ट का पालन करें: http://social.technet.microsoft.com/Forums/en-US/sqlintegrationservices/thread/cda53c80-8da6-4ed1-898a-9f3ff8464ae2

+0

लॉग इन स्थानांतरित करने के बाद, क्या आप उन्हें हटा सकते हैं और इसे एक शॉट दे सकते हैं? क्या यह किसी भी तरह से मदद करेगा? – rvphx

+0

क्या हटाएं? लॉग इन मैं अभी स्थानांतरित कर दिया? – Watki02

+0

आप सभी घटनाओं को लॉगिंग कर रहे हैं? बस OnError और OnTaskFailed? ऑनफॉर्मेशन और ऑनवार्निंग को पकड़ो क्योंकि वे और क्या गलत हो रहे हैं इसका संकेत दे सकते हैं। एक अन्य विकल्प [DTLoggedExec] हो सकता है (http://dtloggedexec.codeplex.com/) कभी भी उस कार्य के साथ नहीं खेला जाता है, इसलिए मैं – billinkc

उत्तर

6

यह उत्तर मुझे मेरे पेट में बीमार बनाता है ... मुझे आशा है कि मैं किसी और को इस परेशानी को बचाऊंगा। समस्या यह थी:

  1. पहला और सबसे महत्वपूर्ण: त्रुटि संदेश पर्याप्त वर्णनात्मक नहीं था। त्रुटि इंटरफ़ेस को सौंपी जानी चाहिए।
  2. "स्थानांतरण डेटाबेस" कार्य पर "संपादन" के अंतर्गत, गंतव्य फ़ाइल पथ स्रोत डेटाबेस के फ़ाइल पथ के साथ "स्वतः-पॉप्युलेट" होते हैं। वे पहले (और दूसरा, और तीसरा ...) कर्सर नज़र में सही दिखते हैं। आगे निरीक्षण पर फ़ाइल पथ गलत थे। यह समझ में आता है कि यदि आप संस्करण से संस्करण में जा रहे हैं - फ़ोल्डरों को संस्करण के अनुसार सूक्ष्म मतभेदों के साथ नामित किया गया है (MSSQL.1 बनाम MSSQL11.<instanceName>)।

संक्षेप में, त्रुटि फ़ोल्डर के कारण मौजूद नहीं थी क्योंकि पथ गलत था। मुझे लगता है कि इस तरह के अन्य निम्न-स्तरीय अपवादों को इंटरफेस द्वारा उसी क्रिप्टिक त्रुटि संदेश के साथ भी खाया जाता है।

+0

क्या आप मान सकते हैं कि मैं एक ही परिदृश्य में आया हूं और मुझे एक ही त्रुटि हो रही है? लेकिन मेरे फाइल पथ सही हैं ... कोई सलाह? – Diego

+0

जैसा कि उत्तर की मेरी आखिरी पंक्ति इंगित करती है, यह शायद खराब पथ नाम जैसे निम्न-स्तरीय अपवाद है। डीबी अनुमतियां, फ़ाइल-सिस्टम अनुमतियां, डबल चेक पथ ... कुछ भी जो सामान्य रूप से एक सरल, वर्णनात्मक त्रुटि संदेश बॉक्स फेंक सकता है और सहायक हो सकता है। एसक्यूएमएस में एसक्यूएल सर्वर प्रबंधन स्टूडियो (जैसे "ट्रांसफर डाटाबेस" == "कॉपी डेटाबेस") के माध्यम से जो भी आपका काम है, उसे भी कोशिश करें जो आपकी त्रुटि मेसेज (इसलिए एसएसआईएस/एसएसडीटी द्वारा दुखद रूप से खाया गया) प्रकट कर सकता है। – Watki02

0

"which implies that I need to transfer logins AFTER I transfer databases."

नहीं वास्तव में, लॉगिन एक सर्वर (उदाहरण) पर हैं तो स्तर आप लॉगिन हस्तांतरण और उसके बाद डेटाबेस कर सकते हैं। आपको बाद में उपयोगकर्ताओं के बारे में चिंता करने की आवश्यकता होगी, बेशक

यहां एक बिंदु, मुझे नहीं लगता कि एसएसआईएस 2005 -> 2012 को स्थानांतरित करने के लिए तैयार होगा। मेरा मतलब है, यह किसी संस्करण को "छोड़ना" समझ में नहीं आता है। आपने कहा कि आप वीएस 2012 का उपयोग कर रहे हैं, इसलिए यह एसएसआईएस 2012 होगा। ऐसा लगता है कि यह केवल 2008 डेटाबेस पढ़ सकता है। तथ्य यह है कि आपने एक ही सर्वर पर परीक्षण किया है और यह भी काम करता है इस बिंदु को मजबूत बनाता है।

+0

मैं 2012 (2012 में नहीं) दृश्य (दृश्य स्टूडियो) का उपयोग कर रहा हूं। यह ** दोनों ** सर्वर (एसक्यूएल 2005 _AND_ एसक्यूएल 2012) पर स्वतंत्र रूप से काम करता है, लेकिन एक से दूसरे तक नहीं। मैं इसे और अधिक स्पष्ट करने के लिए अपनी पोस्ट अपडेट करूंगा - धन्यवाद! कहा जा रहा है, यह अभी भी जवाब हो सकता है ... क्या यह SQL 2008 का पूर्ण संस्करण होना चाहिए? या मैं एक्सप्रेस संस्करण का उपयोग कर सकते हैं? – Watki02

+0

हाँ यह एक टाइपो था, मेरा मतलब वीएस -2010, एसएसआईएस 2012 लिखना था। संस्करण के बारे में, आपको एक्सप्रेस – Diego

+0

के साथ ठीक होना चाहिए I बस SQL ​​2008 एक्सप्रेस की कोशिश की और यह असफल रहा। यहां मेरी गहरी व्याख्या देखें: http://social.technet.microsoft.com/Forums/en-US/sqlintegrationservices/thread/cda53c80-8da6-4ed1-898a-9f3ff8464ae2 – Watki02

1

हम इस में भाग गए जहां किसी ने हमें बताया कि एक वैध तिथि हमेशा एक MySQL डेटाबेस में कॉलम में मौजूद होगी और हमें बाद में पता चला कि '0000-00-00 00:00:00' और '0001-01-01 00:00:00' जैसी तिथियां थीं।

हमें क्वेरी कि डेटा में खींचती एक मामले कथन का उपयोग एक तारीख लघु उद्योगों में बुरा तारीख कन्वर्ट करने के लिए उपयोग कर सकते हैं में यह संभाला:

CASE WHEN Product.PurchaseDate < '1900-01-01 00:00:00' THEN '1900-01-01 00:00:00' ELSE Product.PurchaseDate END AS PurchaseDate 
बेशक

, आप भी null के लिए सेट कर सकते हैं, आपके चुनाव।

+0

इसने मेरे लिए समस्या हल की। धन्यवाद! – Jondlm

1

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

0

यह पुराना है लेकिन मैंने एसएसएमएस 17.2 के साथ एक ही गुप्त संदेश में टक्कर लगी। मैंने उपरोक्त सभी सुझावों का कोई प्रयास नहीं किया और जांच की। मेरे मामले में यह समस्या विजुअल स्टूडियो 2017 में एसएसआईएस प्रोजेक्ट की टार्गसेवरवर वर्जन प्रॉपर्टी से संबंधित थी। डिफ़ॉल्ट रूप से यह SQL सर्वर 2017 पर सेट किया गया था, जबकि मेरा स्थानीय सर्वर SQL Server 2014 था - एक बार एक ही संस्करण में बदल गया सबकुछ चिकनी हो गया।

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