परिदृश्य:
जब आप ट्रंकेट स्टेटमेंट चलाते हैं, तो आपको SQL सर्वर डेटाबेस में सभी तालिकाओं को छोटा करने की आवश्यकता होती है, आपको त्रुटि के नीचे त्रुटि मिलती है।संदेश 4712, स्तर 16, राज्य 1, पंक्ति 43
तालिका 'SchemaName. TableName' क्योंकि यह एक विदेशी कुंजी बाधा द्वारा संदर्भित किया जा रहा है।>मैंने एक पोस्ट लिखी है जिसका उपयोग आप डेटाबेस में ड्रॉप फॉरेन की बाधाओं को उत्पन्न करने के लिए कर सकते हैं। यहां क्लिक करें।
लेकिन इससे पहले कि हम उन्हें छोड़ दें, हमें क्रिएट फॉरेन की कॉन्स्ट्रेन्स स्क्रिप्ट्स जेनरेट करने की आवश्यकता है ताकि हम टेबल को छोटा करने के बाद चला सकें। डेटाबेस से उपयोगकर्ता तालिकाएँ।
'Truncate table '+'['+Schema_name(Schema_id)+'] चुनें।['+name+']' as TruncateTablesScriptfrom sys.tableswhere is_ms_shipped=0
नीचे दी गई स्क्रिप्ट का उपयोग डेटाबेस में विदेशी कुंजी बाधा को पुन:उत्पन्न करने के लिए किया जा सकता है। ) पेरेंटटेबलनाम, ऑब्जेक्ट_नाम (FK.referenced_object_id) रेफरेंसटेबलनाम, FK.name AS विदेशीकीकॉन्स्ट्रेनमनाम, c.नाम RefColumnName के रूप में, cf.name sys.foreign_keys से FK INNER JOIN sys.foreign_key_columns के रूप में FKC पर FKC_columns के रूप में। c.OBJECT_ID =FKC.referenced_object_id और c.column_id =FKC.referenced_column_id पर sys.columns c में शामिल हों cf.OBJECT_ID =FKC.parent_object_id और _id_d_fk.column पर sys.columns cf में शामिल हों। 'तालिका बदलें ['+TableSchemaName+'] चुनें। ['+ParentTableName+']' +' बाधा जोड़ें ' +ForeignKeyConstraintName+ 'विदेशी कुंजी('+सामान((' चुनें ','+CTE_FK से माता-पिता कॉलम सूची जहां i.ForeignKeyConstraintName=o.ForeignKeyConstraintName और i.TableSchemaName=o.TableSchemaName और i.ParentTableName=o.ParentTableName=o.Reference एक्सएमएल पथ ('')), 1, 1, '') +') संदर्भ '+' ['+ TableSchemaName+'] के लिए .ReferenceTableName.['+ReferenceTableName+']('+stuff((','+RefColumnName चुनें) CTE_FK से i जहां i.ForeignKeyConstraintName=o.ForeignKeyConstraintName और i.TableSchemaName=o.TableSchemaName और i.ParentTableName=o.ParentTableName और i.ReferenceTableName=o.ReferenceTableName for xml path('')), 1, 1, '' )+')' AS CreateForeignKeyConstraintScript, ParentTableName, संदर्भटेबलनाम, CTE_FK से विदेशीकी कॉन्स्ट्रेनम नाम या तालिका के अनुसार समूह स्कीमानाम, पेरेंटटेबलनाम, संदर्भटेबलनाम, विदेशीकीकॉन्स्ट्रेननाम
SQL सर्वर डेटाबेस में विदेशी कुंजी बाधा को फिर से बनाने के लिए स्क्रिप्ट कैसे उत्पन्न करें |
वीडियो डेमो :कैसे जनरेट करें SQL सर्वर में विदेशी कुंजी बाधाओं को फिर से बनाने के लिए स्क्रिप्ट