এসকিউএল সার্ভারে, আমি কীভাবে বিদ্যমান ব্যবহারকারীর জন্য লগইন তৈরি করব?


17

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

আমি জানি কীভাবে নতুন ব্যবহারকারীদের জন্য নতুন লগইন তৈরি করতে হয় তবে বিদ্যমান ব্যবহারকারীদের জন্য আমি কীভাবে লগইন তৈরি করব?

উত্তর:


9

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

আপনি যে ডাটাবেসটি পুনরুদ্ধার করেছেন সে জন্য আপনাকে সার্ভার লগইন সহ ডাটাবেস ব্যবহারকারীদের পুনরায় সংযুক্ত করতে হবে।

এটি সম্পর্কে বেশ কয়েকটি উপায় রয়েছে:

  1. নতুন দৃষ্টিতে তাদের জন্য নতুন লগইন তৈরি করুন। এরপরে আপনাকে এগুলিকে নতুন দৃষ্টান্তে ডাটাবেস ব্যবহারকারী হিসাবে অপসারণ করতে হবে এবং তাদের নতুন লগইন যুক্ত করতে হবে। আপনি একই লগইন নামগুলি তৈরি করতে পারবেন তবে এটি অদ্ভুত বলে মনে হচ্ছে তবে এসআইডি (সুরক্ষা শনাক্তকারী) আলাদা হবে এবং এসকিউএল এটি ব্যবহারকারী সনাক্তকরণের জন্য ব্যবহার করে uses এক বা দুটি লগইনের জন্য এটি যথেষ্ট সহজ।

  2. আপনি যদি একই ব্যবহারকারীদের একই নজির বজায় রাখতে চান তবে একইভাবে এসআইডি'র জন্য, sp_help_revlogin সংরক্ষিত পদ্ধতিটি ব্যবহার করুন । লিঙ্কটি থেকে কোডটি অনুলিপি করুন যা প্রয়োজনীয় সঞ্চিত পদ্ধতি তৈরি করবে এবং এটি যে সার্ভারে আপনি ব্যবহারকারীদের অনুলিপি করতে চান তা চালাবে। এটি একটি এসকিউএল স্ক্রিপ্ট তৈরি করবে যা আপনার লক্ষ্য সার্ভারে চালাতে পারে একই ব্যবহারকারীদের জন্য এসআইডি, পাসওয়ার্ড, সমস্ত কিছু বহন করে create টার্গেটের ক্ষেত্রে আপনার যদি পুনরায় সংযোগ স্থাপন করতে হবে বা উত্সর দৃষ্টান্তে যদি আপনি এক বা একাধিক এসকিউএল লগইনগুলিতে পাসওয়ার্ড না জানেন তবে আপনার যদি প্রচুর ডাটাবেস ব্যবহারকারী থাকে তবে এটি যাওয়ার উপায়।


10

সার্ভার লগইনে ডেটাবেস ব্যবহারকারীর পুনরায় লিঙ্ক করতে আমি 'আপডেট_অন' ক্রিয়া দিয়ে sp_ بدل_users_login কমান্ডটি সর্বদা চালিত করি :

sp_change_users_login 'Update_One', 'database user', 'server login'


দুর্দান্ত আমি এটি ব্যবহার করেছি: EXEC sp_change_users_login 'Auto_Fix', 'User', NULL, 'password';পরিবর্তে। :)
ব্যবহারকারীর 2173353

আপনার কাছে যদি ডাটাবেস ব্যবহারকারী এবং সার্ভার লগইন উভয় থাকে তবে তাদের মধ্যে লিঙ্কটি নষ্ট হয়ে যায় তবেই কি এটি করা সম্ভব?
wenzzzel

2

আমি যা পেয়েছি তা এখানে।

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


2

এসকিউএল সার্ভার ২০১২ হিসাবে, বিদ্যমান ব্যবহারকারীদের নতুন লগিনে নিয়োগের জন্য একটি টি-এসকিউএল কমান্ড রয়েছে। লগইন তৈরি করুন, তবে ব্যবহারকারী ম্যাপিংগুলি করার চেষ্টা করবেন না (এটি ব্যর্থ হবে)। তারপরে কার্যকর করুন:

use <existing_database>;
alter user <existing_database_user> with login = <newly_created_login>;

এটি নতুন ব্যবহারকারীর বিদ্যমান লগইনটিকে ম্যাপ করবে। এসকিউএল ডকুমেন্টেশন এখানে: https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-user-transact-sql?view=sql-server-2017

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