এসকিউএল সার্ভার কেবলমাত্র কিছু ডাটাবেস তৈরি করতে, পুনরুদ্ধার করতে, মুছতে অনুমতি দেয়


17

এমএস এসকিউএল সার্ভার ২০০৮ আর 2 এ, আমার এমন একটি ব্যবহারকারী থাকা দরকার যা তৈরি করতে, পুনরুদ্ধার করতে, ডিবিসিসি চেকডডিবি এবং তারপরে ডাটাবেসগুলি ফেলে দিতে পারে। তবে তিনি অবশ্যই সার্ভারে নির্দিষ্ট ডেটাবেসগুলি অ্যাক্সেস করতে বা মুছতে সক্ষম হবেন না (সুরক্ষা কারণে)। এই সেটআপ কি সম্ভব?


আপনি এখানে কয়েকটি ইঙ্গিত পেতে পারেন: toadworld.com/platforms/sql-server/w/wiki/…
dezso

উত্তর:


27

হ্যাঁ এটি বেশ কয়েকটি অনুমতি নিয়েই সম্ভব।

প্রথম - একটি ডাটাবেস তৈরি করতে - আপনাকে সার্ভার স্তরের অনুমতি দিতে হবে Create Any Database। এই অনুমতিটি যা মনে হচ্ছে ঠিক তেমন করে - একটি ডাটাবেস তৈরির শক্তি। উল্লেখ্য এই হয় না যেহেতু যে সংশোধন করা হয়েছে সার্ভার ভূমিকা কোন ডাটাবেসের উপর দ্বিতীয় / মুছুন অনুমতি দেয়, লগইন করার জন্য dbcreator নির্দিষ্ট সার্ভার ভূমিকা প্রদান করে। Create Any Databaseলগইনটিকে কেবলমাত্র, কেবলমাত্র তাদের নিজস্ব ডেটাবেসের উপর সেই ক্ষমতা থাকতে দেয়। এটি পুনরুদ্ধার করার ক্ষমতাও দেবে।

( কেবলমাত্র "কোনও ডাটাবেস তৈরি করুন" করে - আপনি একটি নতুন ডাটাবেস তৈরি করার দক্ষতা দিচ্ছেন, তবে ডিবিক্রিটর স্থির সার্ভারের ভূমিকা ব্যবহার করে আপনি যে কোনও ডাটাবেস ড্রপ বা পরিবর্তন করতে পারবেন তা এড়িয়ে যাচ্ছেন)

এই "যে কোনও ডেটাবেস তৈরি করুন" অনুমতি প্রদান করতে -

use [master]
GO
GRANT CREATE ANY DATABASE TO [LoginName]
GO

DBCC CHECKDBডাটাবেসগুলি চালনা এবং ছাড়ার দক্ষতার জন্য - নির্দিষ্ট ডাটাবেসের ভূমিকা db_owner যথেষ্ট। আপনি যা অনুরোধ করছেন তার সবই এটি মঞ্জুরি দেয়। দয়া করে দ্রষ্টব্য: আপনি এই ব্যবহারকারীকে নির্বাচন, মুছা, কাটছাঁট, আপডেট এবং সন্নিবেশ করার ক্ষমতাও দিচ্ছেন db_owner। আমি এটি sysadminএকটি ডাটাবেসের মধ্যে যেমন ভাবতে চাই ।

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

এটি করতে আপনি প্রথমে একটি ডাটাবেস ব্যবহারকারীর লগইনটি মানচিত্র করবেন:

USE [DatabaseName]
GO
CREATE USER [UserName] FOR LOGIN [LoginName] 
GO

এবং তারপরে সেই ব্যবহারকারীকে db_ownerভূমিকায় যুক্ত করুন (এসকিউএল সার্ভারে কাজ করে 2012 এবং):

ALTER ROLE [db_owner] ADD MEMBER [frank]
GO

এসকিউএল সার্ভার ২০০৮-এর জন্য আপনাকে নীচে মন্তব্যকারী হিসাবে একজন ভূমিকা সদস্য হিসাবে যুক্ত করতে সিস্টেম সঞ্চিত পদ্ধতিটি ব্যবহার করতে হবে:

EXEC sp_addrolemember 'db_owner', 'frank';

আপনি জিইউআইয়ের মাধ্যমেও এগুলি করতে পারেন। আপনি এসএসএমএসে সুরক্ষা ফোল্ডারের মাধ্যমে উদাহরণ স্তরে যে লগইন তথ্য করবেন: লগইন -> বৈশিষ্ট্য -> সিকিউরিবেলে ডান ক্লিক করুন। ডাটাবেস স্তরের জন্য, আপনি এটি ডাটাবেস স্তরে সুরক্ষা ফোল্ডারের মাধ্যমে করবেন: ডান ক্লিক করুন এবং নতুন ব্যবহারকারী নির্বাচন করুন -> আপনার সার্ভার লগইনগুলির তালিকা থেকে আপনি যে লগইনটি বেছে নিতে চান তা বেছে নিন / ডাটাবেস ব্যবহারকারীকে একটি নাম দিন -> যান ভূমিকা সদস্যতা নির্বাচন করতে সদস্যতা ট্যাব।

এসকিউএল সার্ভারের সহায়তা সিস্টেম, বুকস অনলাইন, বেশিরভাগ অনুমতি সংক্রান্ত প্রশ্নের জন্যও দুর্দান্ত এক উত্স - যদি আপনি নির্ধারণ করেন যে আপনাকে অন্যান্য অনুমতিগুলি নির্ধারণ করতে হবে। আপনি যে টি-এসকিউএল কমান্ডের অনুমতি চান তা সন্ধানের জন্য কেবল অনুসন্ধান করুন এবং নিবন্ধে সেই আদেশের জন্য সাধারণত একটি অনুমতি বিভাগ রয়েছে যা আপনাকে এই ক্রিয়াটি করার জন্য কী অনুমতিগুলি প্রয়োজন তা আপনাকে জানাতে দিন। আপনি উদাহরণস্বরূপ ডিবিসিসি চেকডিবির নিবন্ধটি দেখতে পারেন - নিবন্ধটি নীচে নেওয়ার প্রায় 7/8 অংশের অনুমতি বিভাগ।


3
আমি কেবল এটি যুক্ত করতে চাই যা ALTER ROLE [db_owner] ADD MEMBER [frank]কেবল এসকিউএল সার্ভার ২০১২ থেকে কাজ করে EXEC sp_addrolemember 'db_owner', 'frank';
you
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.