मैं टी-एसक्यूएल में एक स्कीमा में तालिका कैसे स्थानांतरित करूं


273

मैं टी-एसक्यूएल का उपयोग करके एक विशिष्ट स्कीमा में एक तालिका को स्थानांतरित करना चाहता हूं? मैं SQL Server 2008 का उपयोग कर रहा हूं।


1
यदि आपको एक नया स्कीमा में कई तालिकाओं को स्थानांतरित करने की आवश्यकता है तो
टोनी

जवाबों:


464
ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName;

यदि आप सभी तालिकाओं को एक नए स्कीमा में ले जाना चाहते हैं , तो आप अनिर्दिष्ट (और किसी बिंदु पर पदावनत होने के लिए, लेकिन असंपीड़ित) sp_MSforeachtableप्रक्रिया का उपयोग कर सकते हैं :

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

संदर्भ।: ALTER SCHEMA

SQL 2008: मैं db स्कीमा को dbo में कैसे बदलूं


6
2018 और फिर भी मेरी जान बच गई। बहुत बहुत धन्यवाद मिच।
ClownCoder

19

संक्षिप्त जवाब:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name

मैं पुष्टि कर सकता हूं कि तालिका में डेटा बरकरार है, जो संभवतः काफी महत्वपूर्ण है :)

MSDN डॉक्स के अनुसार लंबा उत्तर ,

ALTER SCHEMA schema_name 
   TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]

यदि यह एक तालिका (या एक प्रकार या XML स्कीमा संग्रह के अलावा कुछ भी) है, तो आप डिफ़ॉल्ट के बाद से ऑब्जेक्ट शब्द को छोड़ सकते हैं।


1
मेरे सही उत्तर के लिए गिरावट क्यों? कृपया स्वीकार किए गए उत्तर के खिलाफ मेरी जांच करें, जो समान है, और पहले से ही मेरा (सहित) 257 upvotes है।
इंजीनियर

2
डेटा की पुष्टि करने के लिए एक उत्थान बरकरार है, जिसने सिर्फ मेरा रक्तचाप बचाया ... :)

6
@DaveBoltnman: आपने स्वीकृत उत्तर के 6 साल बाद और अपनी टिप्पणी "जो एक ही है" के ऊपर दर्ज की है।
मिच गेहूं

4
तालिका में डेटा सिर्फ इसलिए बरकरार नहीं रहेगा क्योंकि तालिका एक अलग स्कीमा कंटेनर में स्थानांतरित हो गई है?
मिच गेहूं

2
अच्छा नाम परिवर्तन @DaveBoltman। पुराने प्रश्नों का उत्तर देना बहुत अच्छा है, जब वे मौजूदा उत्तरों में कुछ जोड़ते हैं।
मिच गेहूं
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.