একটি ডাটাবেস ব্যবহারকারীর একটি রেড এক্স এর অর্থ কী?


16

এখানে চিত্র বর্ণনা লিখুন

আমি দুটি নতুন এডি গ্রুপ তৈরি করেছি এবং তাদের একটি ডাটাবেসের ব্যবহারকারী হিসাবে যুক্ত করেছি তবে তারা একটি রেড এক্স দিয়ে দেখায় this এর অর্থ কী? ধন্যবাদ।

উত্তর:


21

এর অর্থ এই নয় যে ব্যবহারকারী অক্ষম (আপনি কেবলমাত্র লগইন অক্ষম করতে পারবেন ), এর অর্থ ব্যবহারকারীকে ডেটাবেজে সংযুক্ত সুবিধা নেই। আপনার ব্যবহারকারীরা কীভাবে তৈরি হয়েছিল তা আমি নিশ্চিত নই, তবে এটি প্রদর্শনের সহজতম উপায় হ'ল:

CREATE LOGIN u1 WITH PASSWORD = 'x', CHECK_POLICY = OFF;
GO
USE tempdb;
GO
CREATE USER u1 FROM LOGIN u1;
GO
ALTER LOGIN u1 DISABLE;
GO
-- u1 has no red x even though the login has been disabled

CREATE USER u2 WITHOUT LOGIN;
GO
-- check Object Explorer, u2 has no red x

DENY CONNECT TO u2;
GO
-- check Object Explorer, u2 now has a red x!

CREATE USER u3 WITHOUT LOGIN;
GO
-- check Object Explorer, u3 has no red x

REVOKE CONNECT FROM u3;
GO
-- check Object Explorer, u3 now has a red x!

(আপনার GOকমান্ডগুলির মধ্যে অবজেক্ট এক্সপ্লোরার রিফ্রেশ করার প্রয়োজন হতে পারে কারণ, ভাল, ক্যাশিং)

এটির সমাধানের জন্য (ধরে নিচ্ছেন আপনি প্রকৃতপক্ষে চান যে তারা ডেটাবেসে সংযোগ করতে সক্ষম হবে):

GRANT CONNECT TO [DomainName\BI360Consultants];
GRANT CONNECT TO [DomainName\BI360Users];

ডাটাবেসে আপনাকে কী করতে সক্ষম হতে হবে তার উপর নির্ভর করে আপনাকে আরও অনুমতি প্রয়োগ করতে হবে।

এই অবস্থায় intoোকার আরও অনেক অস্পষ্ট উপায় থাকতে পারে (যেমন মাইকেলকের উত্তরে বর্ণিত, প্রকৃতপক্ষে কোনও ব্যবহারকারীকে যুক্ত না করেই একটি ডাটাবেসে কোনও ভূমিকাতে একটি ডোমেন গ্রুপ যুক্ত করা )। যদিও আমি সত্যবাদী হব, যখন আমি ওপি, পুরানো উপায় বা সঠিক উপায়ে যা করার চেষ্টা করেছি তখন আমি কোনও ব্যবহারকারীর উপস্থিতি ছাড়াই ডোমেন গোষ্ঠীকে কোনও ভূমিকার সাথে যুক্ত করতে সক্ষম হইনি:

-- the old way
EXEC sys.sp_addrolemember N'db_datareader', N'[CAKE\MyGroup]';

এমএসজি 15410, স্তর 11, রাজ্য 1, প্রক্রিয়া এসপি_ড্রোলেলেম্বার
ব্যবহারকারী বা ভূমিকা '[কেক \ মাইগ্রুপ]' এই ডাটাবেসে বিদ্যমান নেই।

-- the right way
ALTER ROLE db_datareader ADD MEMBER [CAKE\MyGroup];

এমএসজি 15151, স্তর 16, রাজ্য 1
প্রিন্সিপাল 'কেক \ মাইগ্রুপ' যোগ করতে পারে না, কারণ এটি বিদ্যমান নেই বা আপনার অনুমতি নেই।

অবশ্যই এই ফলাফলের সাথে আমি এরকম কোনও ব্যবহারকারীর sysusers(প্রত্যাশিত; এটি ব্যবহার বন্ধ করুন) বা এগুলিকে দেখতে পাইনি sys.database_principals। তবে, আমি যদি এটি করি ( সিপুপিকের উত্তরের জন্য ধন্যবাদ ):

GRANT SELECT ON dbo.SomeTable TO [CAKE\MyGroup];

তারপরে ব্যবহারকারী সেই দর্শনগুলিতে প্রদর্শিত হবে এবং রেড এক্সের কারণে অবজেক্ট এক্সপ্লোরারে ব্যবহারকারী হিসাবে দেখাবে HAS_DBACCESS() = 0। যা এখনও প্রায় একই জিনিসটির সমান: "ডাটাবেস অ্যাক্সেস করতে পারে না।" সুতরাং উপরেরগুলি যদি GRANT CONNECTকাজ না করে (আমার ক্ষেত্রে এটি রেড এক্স থেকে মুক্তি পেয়েছে তবে আমি সেই অ্যাকাউন্ট হিসাবে ডাটাবেসটিকে জিজ্ঞাসা করার চেষ্টা করিনি), এটি ব্যর্থ হতে পারে তা জেনেও নিম্নলিখিত ব্যবহার করে দেখুন:

CREATE USER [DOMAIN\Group] FROM LOGIN [DOMAIN\Group];

আমার ক্ষেত্রে, যখন আমি এই ব্যবহারকারীর সাথে সংযোগ প্রদান করেছি, এটি আমাকে CREATE USERকমান্ডটি চালানো থেকে বিরত করেছে :

এমএসজি 15023, স্তর 16, রাজ্য 1, লাইন 16
ব্যবহারকারী, গোষ্ঠী, বা ভূমিকা 'কেক \ মাইগ্রুপ' ইতিমধ্যে বর্তমান ডাটাবেসে উপস্থিত রয়েছে।

এই সিস্টেমটি নির্দিষ্ট সিস্টেম ডাটাবেসে অতিথি অ্যাকাউন্ট ব্যতীত guest/ INFORMATION_SCHEMA/ sys- এর জন্য সর্বদা সত্য হবে । এটি উপেক্ষা করুন এবং তাদের একা ছেড়ে যান।


থেকে বিষয় :sp_addrolemember

এখানে চিত্র বর্ণনা লিখুন

থেকে বিষয় :sys.sysusers

এখানে চিত্র বর্ণনা লিখুন


এটি আমার জন্য এটি স্থির করে দিয়েছে। তবে অবশ্যই আরও কিছু অন্তর্নিহিত সমস্যা থাকতে হবে - আমার ব্যবহারকারীদের স্ক্রিপ্টগুলির মাধ্যমে তৈরি করা হয়েছে এবং একাধিক ডাটাবেসে অ্যাক্সেস রয়েছে। একটি ডিবিতে কেবলমাত্র একজন ব্যবহারকারীর মঞ্জুরি দেওয়ার জন্য সুস্পষ্ট "সংযোগ" অনুমতি প্রয়োজন।
মোরোভেল

5

আমি এইটিকে নিয়মিত করে কেবল অ্যারন বার্ট্র্যান্ডের উত্তরে যুক্ত করতে চাই:

এর অর্থ হল যে ব্যবহারকারীর ডাটাবেসের সাথে সংযোগের সুবিধা নেই (আপনি ব্যবহারকারীদের অক্ষম করতে পারবেন না, কেবল লগইন করুন)। আপনার ব্যবহারকারীরা কীভাবে তৈরি হয়েছিল তা আমি নিশ্চিত নই ...

এটি Windowsকেবল নিম্নলিখিত উপায়ে প্রিন্সিপালদের সাথেই ঘটতে পারে :

Windowsলগইনটি সার্ভার স্তরে উপস্থিত থাকে তবে প্রশ্নযুক্ত ডাটাবেসে ম্যাপ করা হয় না, কেউ ডাটাবেস স্তরে এই উইন্ডোজ অধ্যক্ষকে grant/ denyকিছু অনুমতি নেওয়ার সিদ্ধান্ত নেন । এই ক্ষেত্রে সংশ্লিষ্ট ব্যবহারকারী / স্কিমা ডাটাবেসের মধ্যে তৈরি হবে এবং এই সঙ্গে সারি grant/ denyলেখা হবে sys.database_permissions। এটি এই ডাটাবেসে কোনও অ্যাক্সেস দেবে না কারণ নতুন তৈরি করা ব্যবহারকারী এখনও connectঅনুমতিটি মিস করেন এবং আপনি এটি লাল তীরের সাহায্যে OE এ দেখতে পাবেন।


ধন্যবাদ, তবে আমরা একটি তীর নয়, একটি রেড 'এক্স' সম্পর্কে বলছি।
মাইকেল কির্কপ্যাট্রিক

এটি স্টুডিও ভিজ্যুয়ালাইজেশনের বিষয়, তবে একই জিনিস
49-

0

আমি মনে করি আমি কেন বুঝতে পেরেছি।

দৃশ্যপট:

ডোমেন \ BI360 ব্যবহারকারীরা একটি AD গ্রুপ

ডোমেন \ BI360 ব্যবহারকারীদের সার্ভারে লগইন হিসাবে যুক্ত করা হয় (এতে সংযোগের অনুমতি রয়েছে)

ডোমেন \ BI360 ব্যবহারকারীর ডাটাবেসের ব্যবহারকারী হিসাবে উপস্থিত নেই

আমি নিম্নলিখিতটি করি:

USE TEMPDB
GO
EXEC sp_addrolemember N'db_datareader', N'Doamin\BI360users'
GO

সাফল্যের সাথে সম্পূর্ণ হয়।

রিফ্রেশ: রেড 'এক্স' প্রদর্শিত হবে।

এখানে চিত্র বর্ণনা লিখুন

ব্যবহারকারী ডাটাবেসে ম্যাপ করা হয়নি: এখানে চিত্র বর্ণনা লিখুন

আমি যদি এখন ব্যবহারকারী তৈরি করি:

USE TempDB
GO
CREATE USER [Domain\BI360Users] FOR LOGIN [DOMAIN\BI360Users]
GO

রেড 'এক্স' চলে যায়: এখানে চিত্র বর্ণনা লিখুন

সুতরাং, এটি প্রদর্শিত হয় যে কোনও ব্যবহারকারী ছিল না যদিও স্ক্রিন শোটি উপরে এটি পরিষ্কারভাবে দেখিয়েছিল।

সিউসসারদের কাছ থেকে পাওয়া তথ্য এখানে: এখানে চিত্র বর্ণনা লিখুন


এটিই আমি বলছিলাম, তবে আপনি ভুল ভ্রান্ত হয়েছিলেন যে "ব্যবহারকারী ডাটাবেসটিতে ম্যাপ করা হয় না" আপনি সফলভাবে উইন গ্রুপকে একটি ডাটাবেস ভূমিকার সাথে যুক্ত করার পরে। একই মুহুর্তে সংশ্লিষ্ট ব্যবহারকারী এবং স্কিমা তৈরি হয়।
সেপুপিক

1
আপনি অবশ্যই একটি ডেটাবেস ভূমিকাতে ডোমেন গ্রুপ যুক্ত করা ছাড়া অন্য কিছু করেছেন, কারণ এটি কার্যকর হয় না (যদি আপনি এসকিউএল সার্ভারের কিছু প্রাচীন সংস্করণ না করেন)। এবং এমনকি এই দৃশ্যেও GRANT CONNECTযেমন আমার মূল উত্তরটি বলেছে, সমস্যার সমাধান হওয়া উচিত ছিল।
অ্যারন বার্ট্র্যান্ড

0

আমারও একই সমস্যা ছিল। আমি আমার এসকিউএল সার্ভার ডাটাবেসের 'সুরক্ষা / লগইন'-সেকশনে ব্যবহারকারীর সম্পত্তির স্ট্যাটাস বিভাগে' লগইন 'স্থিতিটি' সক্ষম 'এ পরিবর্তন করে এটি ঠিক করেছি I এখানে চিত্র বর্ণনা লিখুন

এই অবস্থার পরিবর্তন করার পরে লাল চিহ্নটি চলে গেল।


-3

রেড এক্স এর অর্থ লগইনগুলি এসকিউএল সার্ভারে ডাব্লু / অক্ষম করা আছে


ধন্যবাদ। তবে তারা সক্ষম হয়।
মাইকেল কির্কপ্যাট্রিক

ব্যবহারকারীদের অক্ষম করা যায় না।
অ্যারন বার্ট্র্যান্ড

অ্যাকাউন্টটি ইনস্টল স্তরের লগইন ফোল্ডারে উপস্থিত রয়েছে? যদি এটি প্রশ্নযুক্ত ডাটাবেসে "লগইন [আপনার লোগিন] জন্য ব্যবহারকারী তৈরি করুন [আপনার লোগিন]" কমান্ডটি চালায়। রেড এক্স অদৃশ্য হয়ে যাবে।
গোফোরব্রোক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.