ব্যবহারকারীরা এসএসএমএসে অ-ডিফল্ট স্কিমাতে সারণী দেখতে পারবেন না


10

আমার VIEW DEFINITIONএক ব্যবহারকারীর জন্য স্কিমা পর্যায়ে যথাযথভাবে অনুমতি নির্ধারণ করতে আমার একটি সমস্যা হচ্ছে । আমি স্কিমা তৈরি করেছি TestSchemaএবং কিছু সারণী যুক্ত করেছি । ব্যবহারকারী বর্তমানে অনুমতি প্রবেশাধিকার সেট & সারণী (সংশোধন হয়েছে SELECT, UPDATE, DELETEমাধ্যমে, ইত্যাদি) dbo_datareaderএবং dbo_datawriterভূমিকা। তবে তারা এসএসএমএস অবজেক্ট এক্সপ্লোরারের কোনও টেবিল দেখতে পাবে না।

আমি সংজ্ঞা দেখতে অনুমতি দেওয়ার চেষ্টা করেছি:

grant view definition on SCHEMA :: [TestSchema] to [User]

কাজ হয়নি। আমি টেবিল-স্তরের অনুমতি সেট করার চেষ্টা করেছি:

grant view definition on [TestSchema].[NewTable] to [User]

এটিও কাজ করেনি। তারপরে আমি কেবল একটি কম্বল অনুদানের চেষ্টা করেছি:

grant view definition to [User]

এবং যে করেনি কাজ; তারা এখন দেখতে পাবে TestSchema, সেই সাথে অন্যান্য স্কীমাও তাদের অ্যাক্সেস না করা উচিত।

এখানে আমার লক্ষ্য হ'ল ব্যবহারকারীকে প্রদত্ত স্কিমাটির মধ্যে সমস্ত সারণী দেখার অনুমতি দেওয়া। আমি কীভাবে এটি সম্পাদন করব? যদি আমি উচিত ডিফল্ট ভাবে এই কাজ করতে সক্ষম হতে হবে, কি অনুমতি আমি এটি দিকে তাকিয়ে করা উচিত কেন আমি না করতে পারেন?


আমার ২০০৮আর ২ উদাহরণে আমি যখন db_datareader বা db_datawriter প্রদান করি তারা সমস্ত স্কিমা দেখতে পাবে। আমি বুঝতে পারি যে আপনি যা খুঁজছেন তা নয় তবে এর অর্থ আপনার সেটআপ এবং আমার মধ্যে একটি উল্লেখযোগ্য পার্থক্য রয়েছে তাই আমি এটি সত্যিই পরীক্ষা করতে পারি না। সংস্করণটি কি সমস্ত আলাদা বা অন্য কোনও সুরক্ষা পরিবর্তন করা হয়েছে?
সিফ্রেডেনবার্গ

@ সিফ্রেডেনবার্গ - এটি বলা মুশকিল; এটি আইটি দ্বারা পরিচালিত একটি সার্ভার, সুতরাং তারা কী করেছে তা আমি নিশ্চিত নই এবং আমি একটি এসকিউএল সার্ভার নবাগত, সুতরাং কী কী সন্ধান করতে হবে তা আমি জানি না। আমার অনুমানটি আমার প্রশ্নের অংশটি হ'ল, অন্য কোন অনুমতি / ভূমিকা / ??? অনুমতিগুলি দিয়ে কেবল এটি ঠিক করা যায় কিনা তা নির্ধারণ করার জন্য আমার সন্ধান করা উচিত?
eykanal

ব্যবহারকারী কি টেবিলগুলি জিজ্ঞাসা করতে পারেন? তারা যদি প্রশ্ন করতে পারে তবে এটি কেবল এসএসএমএসের মধ্যেই একটি সমস্যা হতে পারে।
ব্যবহারকারী 9164

@ user9164 হ্যাঁ, ব্যবহারকারীরা টেবিলগুলি জিজ্ঞাসা করতে পারেন ; এটি কেবল এসএসএমএসের মধ্যে দেখার বিষয়।
ekkanal

উত্তর:


11

সংক্ষিপ্ত উত্তর: না ব্যবহার করবেন db_datareaderবা db_datawriterবা তাদের সমতুল অস্বীকার করে। তারা কেবল পিছনের সামঞ্জস্যের জন্য। এগুলি ব্যবহার করার ফলে আপনি যে সমস্যার মুখোমুখি হচ্ছেন সেই সমস্যার কারণ হবে।

আপনি যদি অ্যালিম্পিকে অধ্যক্ষ অ্যালিসকে স্কিমা বিক্রয়গুলিতে সমস্ত টেবিল-মূল্যবান অবজেক্টগুলিকে SELECT, INSERT, UPDATE এবং ডিলিট অনুমতিগুলি দিতে চান তবে নীচেরটি ব্যবহার করুন।

GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::Sales TO Alice ;

আপনি যদি প্রিন্সিপাল অ্যালিসকে সমস্ত স্কিমায় থাকা সমস্ত টেবিল-মূল্যবান অবজেক্টগুলিকে SELECT, INSERT, UPDATE এবং ডিলিট অনুমতিগুলি দিতে চান তবে নীচেরটি ব্যবহার করুন।

GRANT SELECT, INSERT, UPDATE, DELETE TO Alice ;

মেটাডেটা দৃশ্যমানতা তখন সঠিকভাবে কাজ করবে।


আপনার 'পিছনের সামঞ্জস্য' বিটের জন্য কোনও উত্স আছে? আমি বুঝতে পারছি যে স্কিমা অবমূল্যায়ন করা হয়েছে, তবে আমি ভূমিকা সম্পর্কে কিছুই খুঁজে পাচ্ছি না।
স্টিজন

0

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

সার্ভার স্তরের জন্য এই জাতীয় কিছু ব্যবহার করুন:

    use master
    go
    SELECT a.*,b.name as 'Login ID' FROM sys.server_permissions as A inner join 
    sys.server_principals as B on a.grantee_principal_id = b.principal_id
    where b.name = 'login ID of the account'
    GO

এবং ডাটাবেস স্তরে এ জাতীয় কিছু

SELECT a.*,b.name as 'Login ID' FROM sys.database_permissions as A 
inner join sys.server_principals as B on a.grantee_principal_id = b.principal_id
where b.name = 'test'
GO

মন্তব্যের জন্য ধন্যবাদ, আমি সোমবার আবার কাজে ফিরে এলে এটি চেষ্টা করব।
ekkanal

0

আমি যখন আমার এসকিউএল সার্ভারকে ২০০৮ -২০০২ থেকে ২০১৪-তে উন্নীত করেছিলাম তখন আমার সাথে এটি ঘটেছিল।

এসকিউএল সার্ভার 2014 এ অনুমতি দেওয়ার উদাহরণ

আপনি যদি এলিসকে স্কিমা বিক্রয়গুলিতে সমস্ত টেবিল-মূল্যবান অবজেক্টগুলিকে SELECT, INSERT, UPDATE এবং ডিলিট অনুমতিগুলি দিতে চান তবে নীচেরটি ব্যবহার করুন।

অনুদান নির্বাচন করুন, সংশোধন করুন, আপডেট করুন, স্কিমায় ডিলিট করুন :: এলিসে বিক্রয়; আপনি যদি প্রিন্সিপাল অ্যালিসকে সমস্ত স্কিমায় থাকা সমস্ত টেবিল-মূল্যবান অবজেক্টগুলিকে SELECT, INSERT, UPDATE এবং ডিলিট অনুমতিগুলি দিতে চান তবে নীচেরটি ব্যবহার করুন।

অনুদান নির্বাচন করুন, সংযোজন করুন, আপডেট করুন, এলিসকে ছাড়ুন; মেটাডেটা দৃশ্যমানতা তখন সঠিকভাবে কাজ করবে।

রেফারেন্স [গ্রীনস্টোন ওয়াকার]।


1
সন্দীপ, দয়া করে কেবল একটি লিঙ্ক সরবরাহ করার পরিবর্তে একটি উত্তর ব্যাখ্যা করার চেষ্টা করুন। আপনার যদি কোনও সহায়তা প্রয়োজন, সাইট ট্যুরটি দেখুন
লোলিডিবিএ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.