डीबीओ स्कीमा के तहत तालिका नहीं बनाई जा रही है


16

SSMS में तालिकाओं का निर्माण करते समय, मैंने महसूस किया है कि यदि आप निम्नलिखित कथन को निष्पादित करते हैं:

CREATE TABLE [tableName];

तालिका आपके अपने स्कीमा (और डीबीओ नहीं) के तहत बनाई जाएगी। तो इसे डोबो स्कीमा के तहत बनाने के लिए, आपको स्पष्ट रूप से ऐसा कहने की आवश्यकता होगी, जैसे:

CREATE TABLE [dbo].[tableName];

क्या किसी को एक तरह से पता है (जैसे। सर्वर-वाइड सेटिंग) ताकि जब एक टेबल बनाई जाए, तो [dbo] हिस्से को निर्दिष्ट करने की आवश्यकता नहीं है?


1
SQL सर्वर का कौन सा संस्करण?

4
और आपको स्पष्ट रूप से निर्दिष्ट करने में समस्या क्यों है?
HLGEM

जवाबों:


8

स्कीमा जिसका उपयोग तब किया जाता है जब स्कीमा छोड़ा जाता है डेटाबेस उपयोगकर्ता का डिफ़ॉल्ट स्कीमा होगा। इसलिए, के लिए हैdbo स्कीमा को निर्दिष्ट किए बिना तालिका बनाने के लिए, आपको उस डेटाबेस उपयोगकर्ता के डिफ़ॉल्ट स्कीमा को सेट करना होगा dbo

सर्वर-वाइड सेटिंग? मुझे ऐसा नहीं लगता। लेकिन आप सभी डेटाबेस उपयोगकर्ताओं को किसी विशेष डेटाबेस में उनके डिफ़ॉल्ट स्कीमा में परिवर्तित करने के लिए एक क्वेरी लिख सकते हैं dboयदि वह ऐसा है जो आप चुनते हैं।



1
लेकिन आप विंडोज समूहों के लिए dbo के लिए डिफ़ॉल्ट स्कीमा सेट नहीं कर सकते ...
Chinesinho

5
@Chinesinho आप किसी भी सर्वर प्रिंसिपल के डिफ़ॉल्ट स्कीमा को सेट नहीं कर सकते। आप सर्वर लॉगिन और डेटाबेस उपयोगकर्ताओं को भ्रमित कर रहे हैं। डेटाबेस उपयोगकर्ताओं में डिफ़ॉल्ट स्कीमा होते हैं।
थॉमस स्ट्रिंगर

Windows समूह लॉगिन के लिए मैप किए गए उपयोगकर्ताओं के लिए डिफ़ॉल्ट स्कीमा SQL सर्वर 2012 से पहले समर्थित नहीं है।
db2

8

शायद यह मदद कर सकता है

USE [YourDBName]
GO
ALTER USER [YourUserName] WITH DEFAULT_SCHEMA=[dbo]
GO

3
लेकिन अगर उपयोगकर्ता विंडोज़ प्रमाणीकरण में है तो वह डिफ़ॉल्ट स्कीमा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.