এসকিউএল সার্ভার ২০০৮-এ কোনও সিসাদমিন অ্যাকাউন্ট না থাকলে কীভাবে ব্যবহারকারীকে সিসাদমিন যুক্ত করতে হয়


25

আমার একটি এসকিউএল সার্ভার ২০০৮ ইনস্ট্যান্স চলছে। দুর্ভাগ্যক্রমে পরীক্ষার সময় আমি আমার লগইনের জন্য সিসাদমিন অধিকারগুলি অপসারণ করেছি এবং এখন এটি আর পড়তে পারি না (কারণ আমার সিসাদমিন অধিকার নেই)।

এসএ ব্যতীত অন্য কোনও সিসাদমিন অ্যাকাউন্ট নেই।

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

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

উত্তর:


11

এমনকি সর্বাধিক উবার-অ্যাডমিন প্রকারের সংযোগ বিকল্প ডেডিকেটেড অ্যাডমিনিস্ট্রেটর কানেকশন ( ডিএসি ), যা কেবলমাত্র স্থানীয় সংযোগ হিসাবে ব্যবহার করা যেতে পারে এবং আপনাকে সমস্ত ধরণের কুফল পূর্বাবস্থায় ফেরাতে দেয়, তারপরেও লগইন শংসাপত্রগুলির প্রয়োজন। সুতরাং আমি মনে করি এটি করার কোনও সরকারী উপায় নেই।

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

আপনাকে এখনও ম্যানুয়ালি সার্ভার স্তরের অবজেক্টগুলি পুনরুদ্ধার করতে হবে (যেমন লগইন)


1
ধন্যবাদ - আমি উদাহরণটি আনইনস্টল করে পুনরায় ইনস্টল করেছি। ডাটাবেসটিতে ফিরে এসে সবকিছু আবার ঠিক আছে। নজরদারি করার জন্য বেশ কয়েকটি জিনিস পুরোপুরি ডাটাবেস ইঞ্জিন ইনস্টলার ব্যবহার করে পুনরায় ইনস্টল করা ছিল (আমার কাছে একটি ম্যানেজমেন্ট সরঞ্জাম ছিল কেবল ইনস্টলার যা আমাকে কিছুক্ষণের জন্য থামিয়ে দিয়েছিল)। এছাড়াও আপনাকে ডাটাবেস ফাইলগুলিতে অনুমতিগুলি পরিবর্তন করতে হবে যাতে অন্যথায় সংযুক্তির সময় আপনি একটি ত্রুটি পান (ত্রুটি 5)। তা ছাড়া- সবাই ঠিকঠাক কাজ করেছে।

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

27

এসকিউএল সার্ভারে একটি সত্যিকারের পিছনের অংশ বিদ্যমান রয়েছে যার জন্য পুনরায় চালু এবং / অথবা একক-ব্যবহারকারী মোডে কোনও কিছুই পুনরায় চালু করার প্রয়োজন হয় না ooting আমি এমন সিস্টেমে এটি করেছি যেখানে আমার অ্যাক্সেস নেই তবে স্টাফ চেক করা দরকার।

পিএসেক্সেক সরঞ্জামগুলি এখান থেকে ডাউনলোড করুন । এটি সার্ভারে রাখুন এবং তারপরে একটি কমান্ড প্রম্পটে এই কমান্ডটি কার্যকর করুন: psexec -i -s SSMS.exeবা sqlwb.exe

এটি এসএসএমএসকে সিস্টেম অ্যাকাউন্ট হিসাবে খুলবে যা এসকিউএল সার্ভারের উদাহরণে সিসাদমিন অ্যাক্সেস করে। এটি এসকিউএল সার্ভার ইনস্টল করার সময় করা হয়, তবে আমি শুনেছি যে এসকিউএল 2012 এর সাথে এটি হবে না।


1
না এটি এসকিউএল সার্ভার 2012 আরটিএম এবং তারপরের উপর কাজ করে না। প্রবেশের জন্য আপনাকে সার্ভারের স্থানীয় প্রশাসক গোষ্ঠীর সদস্য হিসাবে একক-ব্যবহারকারী মোডে এসকিউএল সার্ভার পরিষেবাটি পুনরায় চালু করতে হবে।
শন মেল্টন

15

এসকিউএল সার্ভার ২০০৮ এসকিউএল সার্ভার ২০০ 2005-এর চেয়ে পৃথক, স্থানীয় প্রশাসকরা আর সিসাদমিন স্থির সার্ভারের ভূমিকার মালিক হন না।

যখন এসকিউএল সার্ভার ২০০৮ ইনস্টল করা হয়, এটি আপনাকে সিসাদমিন চরিত্রে যোগ করার জন্য একটি অ্যাকাউন্ট নির্ধারণ করতে অনুরোধ করে। আপনি যদি সফ্টওয়্যার ইনস্টল করার পরে বাক্সটি গ্রহণ করেন তবে এটি আপনাকে খুব বেশি সহায়তা করে না।

ভাগ্যক্রমে, এসকিউএল সার্ভার একক ব্যবহারকারী মোডে চলাকালীন মাইক্রোসফ্ট 2005 এর কার্যকারিতা সংরক্ষণ করে। আপনি যা করেন তা এখানে:

  • উইন্ডোজ স্থানীয় প্রশাসক হিসাবে সার্ভারে লগ ইন করুন
  • এসকিএল সার্ভার বন্ধ করুন
  • কমান্ড প্রম্পটে, ডিরেক্টরিতে যেখানে sqlservr.exe থাকে, সেখানে sqlservr.exe -m টাইপ করুন এবং এন্টার টিপুন - এটি একক-ব্যবহারকারীর মোডে এসকিউএল সার্ভার শুরু করবে will
  • এসকিউএল সার্ভার ইএম খুলুন এবং সিসাদমিন স্থির সার্ভারের ভূমিকাতে আপনার অ্যাকাউন্ট যুক্ত করুন
  • এসকিউএল সার্ভার বন্ধ করুন, পুনরায় চালু করুন (কমান্ড লাইনে বা এসকিউএল সার্ভার ইএম এ)

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

5

এটি একটি দুর্দান্ত প্রশ্ন এবং কেউ এই পরিস্থিতিতে পড়বেন এবং এর থেকে উদ্ধার প্রয়োজন ..

সমস্ত কৃতিত্ব কোডিওনিয়ারে যায়

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

স্ক্রিপ্টের নীচে এসকিউএল সার্ভার পরিষেবাদি পুনরুক্ত করা হবে এবং আপনি যেখানেই মিস করবেন সিসাদমিন ভূমিকাতে আপনাকে যুক্ত করবে :

#GITHUB Link : https://github.com/codykonior/HackSql
$userName = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name

$services = Get-Service | Where { ($_.Name -eq 'MSSQLSERVER' -or $_.Name -like 'MSSQL$*') -and $_.Status -eq "Running" }
foreach ($service in $services) {
    if ($service.Name -eq "MSSQLSERVER") {
        $sqlName = ".\"
    } else {
        $sqlName = ".\$($service.Name.Substring(6))"
    }

    Write-Host "Attempting $sqlName"
    $serviceProcess = Get-WmiObject -Class Win32_Service -Filter "Name = '$($service.Name)'"

    Invoke-TokenManipulation -ProcessId $serviceProcess.ProcessID -ImpersonateUser | Out-Null
    $impersonatedUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
    Write-Host "Service $($service.Name) on PID $($serviceProcess.ProcessID) will connect to $sqlName as $impersonatedUser"

    $sqlConnection = New-Object System.Data.SqlClient.SqlConnection("Data Source=$sqlName;Trusted_Connection=True")
    $sqlConnection.Open()
    $sqlCommand = New-Object System.Data.SqlClient.SqlCommand("If Not Exists (Select Top 1 0 From sys.server_principals Where name = '$userName')
Begin
    Create Login [$userName] From Windows
End

If Not Exists (Select Top 1 0 From master.sys.server_principals sp Join master.sys.server_role_members srp On sp.principal_id = srp.member_principal_id Join master.sys.server_principals spr On srp.role_principal_id = spr.principal_id Where sp.name = '$userName' And spr.name = 'sysadmin')
Begin
    Exec sp_addsrvrolemember '$userName', 'sysadmin'
End", $sqlConnection)
    $sqlCommand.ExecuteNonQuery() | Out-Null
    $sqlConnection.Close()
    Invoke-TokenManipulation -RevToSelf | Out-Null
}

2

আপনি এখনও 'সিসাদমিন' অ্যাক্সেসের মাধ্যমে একটি লগইন তৈরি করতে পারেন Microsoft মাইক্রোসফ্টের প্রিন্সিপাল ডেটা ইঞ্জিনিয়ারকে ধন্যবাদ (সলিম হাকানী) নীচের এসকিউএল সার্ভার টিপস এবং ট্রিকটি লিখেছিলেন।

আমি যখন আমার পরীক্ষা মেশিনের জন্য পাসওয়ার্ড ভুলে গিয়েছিলাম তখন আমি একই অবস্থায় আটকে গিয়েছিলাম I

লিংক: https://blogs.technet.microsoft.com/sqlman/2011/06/14/tips-tricks-you-have-lost-access-to-sql-server-now- কি/

আপনার সম্পাদন করতে হবে এমন পদক্ষেপগুলি এখানে:

  1. একক ব্যবহারকারী মোড (অথবা ন্যূনতম কনফিগারেশন যা এসকিউএল সার্ভারকে একক ব্যবহারকারী মোডে রাখবে) ব্যবহার করে এসকিউএল সার্ভার উদাহরণটি শুরু করুন)

কমান্ড প্রম্পট প্রকার থেকে: SQLServr.Exe –m (বা SQLServr.exe )f)

দ্রষ্টব্য: যদি বিন ফোল্ডারটি আপনার পরিবেশগত পথে না থাকে তবে আপনাকে বিন ফোল্ডারে নেভিগেট করতে হবে।

(সাধারণত বিন ফোল্ডারটি এখানে অবস্থিত: সি: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট এসকিউএল সার্ভার \ এমএসএসকিউএল 10. এমএসএসকিউএল সার্ভার \ এমএসএসকিউএল \ বিন)

  1. একবার এসকিউএল সার্ভার পরিষেবাটি একক ব্যবহারকারী মোডে বা ন্যূনতম কনফিগারেশনের সাথে শুরু হয়ে গেলে, আপনি এখন এসকিউএল সার্ভারের সাথে সংযোগ স্থাপনের জন্য কমান্ড প্রম্পট থেকে এসকিউএলসিএমডি কমান্ডটি ব্যবহার করতে পারেন এবং এসকিউএল সার্ভারের উদাহরণ হিসাবে নিজেকে আবার অ্যাডমিন হিসাবে যুক্ত করতে নিম্নলিখিত ক্রিয়াকলাপগুলি সম্পাদন করতে পারেন।

এসকিউএলসিএমডি – এস

আপনি এখন প্রশাসক হিসাবে এসকিউএল সার্ভারে লগ ইন করবেন।

  1. আপনি একবার এসকিউএলএমএমডি ব্যবহার করে এসকিউএল সার্ভারে লগ ইন হয়ে গেলে, একটি নতুন অ্যাকাউন্ট তৈরি করতে বা এসআইএসএডমিন সার্ভারের ভূমিকাতে বিদ্যমান লগইন যুক্ত করতে নিম্নলিখিত কমান্ডগুলি ইস্যু করুন।

একটি নতুন লগইন তৈরি করতে এবং সেই লগইনটি SYSADMIN সার্ভারের ভূমিকাতে যুক্ত করতে:

1> পাসওয়ার্ড = '' দিয়ে লগইন তৈরি করুন

2> যান

1> এসপি_এডিডিএসআরভ্রোলেমেম্বার '', 'সাইসাদমিন'

2> Go

SYSADMIN সার্ভারের ভূমিকাতে বিদ্যমান লগইন যুক্ত করতে, নিম্নলিখিতটি সম্পাদন করুন:

1> এসপি_এডিডিএসআরভ্রোলেমেম্বার '', 'সাইসাদমিন'

উপরের ক্রিয়াকলাপটি বিদ্যমান লগইনে বা নতুন লগইনে SYSADMIN সুবিধা দেওয়ার বিষয়ে যত্ন নেবে।

  1. উপরের পদক্ষেপগুলি সফলভাবে সম্পাদন করা হলে, পরবর্তী পদক্ষেপটি নিয়মিত স্টার্টআপ বিকল্পগুলি ব্যবহার করে এসকিউএল সার্ভার পরিষেবাগুলি থামানো এবং শুরু করা। (এবার আপনার youf বা –m প্রয়োজন হবে না)

0

আপনি পরবর্তীটি করতে পারেন:
1) প্রশাসনিক সুবিধাসহ একটি উইন্ডো ব্যবহারকারীর অ্যাকাউন্ট তৈরি করুন
2) নতুন প্রশাসনিক অ্যাকাউন্টের সাথে উইন্ডোগুলিতে লগইন করুন
3) উইন্ডোজ প্রমাণীকরণ ব্যবহার করে
SQL সার্ভার ম্যানেজমেন্ট স্টুডিও খুলুন 4) এখন আপনি এসকিউএল সার্ভারকে সিসাদমিন হিসাবে লগ ইন করেছেন, তাই আপনি নতুন অ্যাকাউন্ট তৈরি করতে পারেন বা সা ব্যবহারকারী আপডেট করতে পারেন


2
এটি চেষ্টা করেও এটি কার্যকর হয়নি। আমি সেই মেশিনে একটি নতুন অ্যাডমিন লগইন অ্যাকাউন্ট তৈরি করেছি। এসকিউএল সার্ভারটি আমাকে লগ ইন করতে বিল্টিন \ ব্যবহারকারীদের ভূমিকা (যা সিসাদমিন অন্তর্ভুক্ত করে না) ব্যবহার করে Therefore তাই আমি এখনও প্রশাসনিক ধরণের পরিবর্তন করতে পারি না।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.