এসকিউএল সার্ভারের সাথে (২০০৮), আপনি কি কোনও স্কিমার মধ্যে টেবিলের অনুমতি তৈরি করতে পারবেন?


14

এসকিউএল সার্ভার ২০০৮-এ সুরক্ষার সাথে কাজ করে, আমি একজন ব্যবহারকারীকে তৈরি টেবিলের অনুমতি দেওয়ার চেষ্টা করছি, তবে কেবলমাত্র একটি নির্দিষ্ট স্কীমার মধ্যে। টেবিল তৈরির অনুমতি কি কেবল ডাটাবেস পর্যায়ে প্রয়োগ হয়?

আমি কি স্কিমার মধ্যে কেবল ব্যবহারকারীকে টেবিল তৈরি করতে সীমাবদ্ধ রাখতে পারি?

আমি চেষ্টা করেছিলাম:

USE [databasename]
GRANT CONTROL ON Schema :: [schemaname] TO [username]
GO

এবং

USE [databasename]
GRANT ALTER ON Schema :: [schemaname] TO [username]
GO

কিন্তু, ব্যবহারকারী এখনও লক্ষ্য স্কিমার মধ্যে একটি সারণী তৈরি করতে অক্ষম। আমি এটি চালানোর আগ পর্যন্ত তা নয়, ব্যবহারকারী একটি টেবিল তৈরি করতে পারে:

USE [databasename]
GRANT CREATE TABLE to [username]
GO

প্রদান

গ্রান্ট ডাটাবেস অনুমতি

উত্তর:


12

এসকিউএল সার্ভার অনুযায়ী 2008 সহায়তা:

ডাটাবেসে ক্রেবল টেবিলের অনুমতি এবং সারণীটি তৈরি করা হচ্ছে এমন স্কিমাতে ALTER অনুমতি প্রয়োজন।

আমি কেবল পরীক্ষামূলক ডাটাবেসে এক্সকিউটি এএস ব্যবহার করে এটি পরীক্ষা করেছি এবং আমি স্কিমাতে একটি টেবিল তৈরি করতে সক্ষম হয়েছি যার বিকল্প অনুমতি রয়েছে, কিন্তু ডিবিও স্কিমাতে নয় (যার জন্য আমি বিকল্প অনুমতি প্রদান করি নি)। সুতরাং যতক্ষণ না আপনি স্কিমাগুলিতে ALTER অনুমতি নিয়ে খুব উদার হননি, ততক্ষণ এটি করার উপায় হওয়া উচিত।


1
হ্যাঁ, আমি এখন এটি দেখতে। যদিও ব্যবহারকারীর কাছে ডাটাবেস স্তরের "ক্রেটিট টেবিল" অনুমতি রয়েছে, তিনি আমাদের স্কিমায় সারণী তৈরি করতে অক্ষম যেখানে অন্য কোনও অনুমতি দেওয়া হয়নি।
RyanW

এটি অবশ্যই দুর্ভাগ্যজনক মনে হচ্ছে যে আপনাকে কেবল এই দৃশ্যটি সক্ষম করতে কম্বল তৈরি টেবিলের অনুমতি দিতে হবে।
MgSam

6

নির্দিষ্ট ডাটাবেসে একটি নির্দিষ্ট ব্যবহারকারীর কাছে সারণী তৈরির অনুমতি প্রদানের জন্য কেবল কেবল টেবিল তৈরির অনুমতি প্রয়োজন হয় না তবে স্কিমাতে ALTER অনুমতিও প্রয়োজন হয়, যেমন DBO।

USE [databasename]
GRANT ALTER ON Schema :: [schemaname] TO [username]
GRANT CREATE TABLE TO [username]
GO

উদাহরণ স্বরূপ;

USE db_mydatabase
GRANT ALTER ON Schema :: DBO TO user_mydatabase
GRANT CREATE TABLE TO user_mydatabase
GO

1

2008 R2 হলো এ স্কিমের প্রযোজ্য অনুমতি ডকুমেন্টেশন এ ধরনের একটি অনুমতির সম্পর্কে কিছুই নেই: http://msdn.microsoft.com/en-us/library/ms187940.aspx

অতএব আমি উপসংহারে যাব: না আপনি পারবেন না, তৈরি টেবিলটি কেবল একটি ডাটাবেস স্তরে নিয়ন্ত্রণ করা যেতে পারে (এটি সমস্ত সুরক্ষার ক্ষেত্রে প্রযোজ্য বলে মনে হবে)।


ধন্যবাদ, আমি একমত, এই স্তর সম্পর্কে কিছুই নেই। @ ডিবি 2 তে যেমন উল্লেখ করেছে যে, স্কিমে অন্য কোনও অনুমতি না থাকলে ব্যবহারকারীর টেবিল তৈরি করার অনুমতি দিতে ডাটাবেস স্তর "ক্রিয়েট টেবিল" অনুমতি যথেষ্ট নয়।
রায়ানডাব্লু

0

অবশ্যই আপনি পারেন। আপনার যদি ইউজার 1 থাকে তবে তার ডিফল্ট স্কিমাটি ইউজার 1 হিসাবেও সংজ্ঞায়িত করুন। এই ব্যবহারকারীর ডাটাবেসের অনুমতিতে তৈরি টেবিলটি মঞ্জুর করুন। এটাই. ইউজার 1 শুধুমাত্র ইউজার 1 স্কিমার মধ্যে টেবিল তৈরি করতে পারে।

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