मैं मेरी 2008 डेटाबेस के लिए एक पुराने एसक्यूएल सर्वर (2000) से तालिकाओं का एक गुच्छा आयातित डीबीओ को बदल दें। सभी आयातित टेबल मेरे उपयोगकर्ता नाम से पूर्वनिर्धारित हैं, उदाहरण के लिए: jonathan.MovieData
। तालिका properties
में यह jonathan
को डीबी स्कीमा के रूप में सूचीबद्ध करता है। जब मैं संग्रहित प्रक्रियाओं को लिखता हूं तो मुझे अब सभी तालिका नामों के सामने jonathan.
शामिल करना होगा जो भ्रमित है।मैं कैसे डाटाबेस स्कीमा
मैं अपने सभी तालिकाओं जोनाथन के बजाय डीबीओ जा करने के लिए बदल सकता हूँ?
वर्तमान परिणाम: jonathan.MovieData
वांछित परिणाम: dbo.MovieData
समय बचाने के लिए Googlers के लिए: ALTER SCHEMA TargetSchema ट्रांसफर SourceSchema.TableName; – Co7e
यदि उपयोगकर्ता के पास बैकस्लैश निम्न है: ALTER SCHEMA dbo TRANSFER "DOMAIN \ उपयोगकर्ता" .tableName – PatricF
@PatricF [उद्धृत पहचानकर्ता] (https://msdn.microsoft.com/en-us/library/ms174393.aspx) नियम किसी भी अन्य नाम के रूप में स्कीमा नामों पर लागू होते हैं: '[DOMAIN \ उपयोगकर्ता]। [tableName] '। सामान्य रूप से एसक्यूएल सर्वर समुदाय में ट्रांजैक्ट-एसक्यूएल उद्धृत पहचानकर्ताओं का उपयोग किया जाता है ('[' और ']'), '' '' से बचें जब तक इसके लिए कोई विशिष्ट आवश्यकता न हो। –