এসকিউএল সার্ভার অপারেটিং সিস্টেম ত্রুটি 5: "5 (অ্যাক্সেস অস্বীকার করা হয়েছে।)"


153

আমি এসকিউএল শিখতে শুরু করছি এবং আমার একটি বই রয়েছে যা কাজ করার জন্য একটি ডাটাবেস সরবরাহ করে। নীচে এই ফাইলগুলি ডিরেক্টরিতে রয়েছে তবে সমস্যাটি হ'ল আমি যখন ক্যোয়ারি চালাচ্ছি তখন এটি আমাকে এই ত্রুটি দেয়:

এমএসজি 5120, স্তর 16, রাজ্য 101, লাইন 1 দৈহিক ফাইল "সি: \ মুরচ \ এসকিউএল সার্ভার 2008 \ ডেটাবেসগুলি \ এপ.এমডিএফ" খুলতে অক্ষম। অপারেটিং সিস্টেম ত্রুটি 5: "5 (অ্যাক্সেস অস্বীকার করা হয়েছে))"।

   CREATE DATABASE AP
      ON PRIMARY (FILENAME = 'C:\Murach\SQL Server 2008\Databases\AP.mdf')
      LOG ON (FILENAME =     'C:\Murach\SQL Server 2008\Databases\AP_log.ldf')
      FOR ATTACH
    GO

বইটিতে লেখক বলেছেন এটি কাজ করা উচিত, তবে এটি আমার ক্ষেত্রে কাজ করছে না। আমি অনুসন্ধান করেছি কিন্তু সমস্যাটি ঠিক কী তা আমি জানি না, তাই আমি এই প্রশ্নটি পোস্ট করেছি।


ব্যাকআপ ফাইল আগে থেকেই আছে, তাহলে নিশ্চিত করুন যে এটি পারে তা নিশ্চিত দয়া না নিশ্চিত করুন যে সেবা লেখার অনুমতি রয়েছে উপার্জন ছাড়াও, "শুধুমাত্র পাঠযোগ্য" অ্যাট্রিবিউট আছে।
jumxozizi

উত্তর:


133

এসকিউএল সার্ভার ডাটাবেস ইঞ্জিন পরিষেবা অ্যাকাউন্টে নতুন ফোল্ডারে পড়ার / লেখার অনুমতি থাকতে হবে।

পরীক্ষা করে দেখুন এই

ঠিক করার জন্য, আমি নিম্নলিখিতগুলি করেছি:

ডেটা ফাইল (এস :) এবং লগ ফাইল (টি :) এর সম্পূর্ণ নিয়ন্ত্রণের সাথে ফাইল সুরক্ষা অনুমতিগুলিতে অ্যাডমিনিস্ট্রেটর গ্রুপকে যুক্ত করা হয়েছে।

ডাটাবেস সংযুক্ত এবং এটি সূক্ষ্ম কাজ করে।

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন


4
কখনও কখনও এসকিউএল সার্ভারটি ভিন্ন ইউজার গ্রুপের অধীনে চলবেAdministrators Group
জেডিএন্ডসিপশান

57
এছাড়াও, এটি সার্ভার পরিষেবা নয়, অ্যাডমিন হিসাবে এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও শুরু করতে সহায়তা করতে পারে।
ডেভিড.বারখুইজেন

1
আমার জন্য নিম্নলিখিত লিঙ্কে সমাধান কাজ: stackoverflow.com/a/19061137/365188
Ozair Kafray

3
আমার জন্য এসকিউএল সার্ভার এজেন্ট পরিষেবা অ্যাকাউন্টটি স্থানীয় সিস্টেমে পরিবর্তন করা কাজ করেছে।
singhm0077

22
যদি আপনার এসকিউএল সার্ভার উদাহরণটি কোনও পরিষেবা অ্যাকাউন্টের অধীনে চলছে (উদাহরণস্বরূপ, খনিটি আমার MSSQL$SQLEXPRESS) তবে এটি স্পষ্ট নাও হতে পারে যে ফোল্ডারের অনুমতি তালিকার জন্য আপনাকে অ্যাকাউন্টটি যুক্ত করতে হবে:NT Service\MSSQL$SQLEXPRESS
ব্রায়ান লেসি

109

একটি পুরানো পোস্ট, তবে এখানে এক ধাপে ধাপে যা উইন্ডোজ 7 এর অধীনে চলমান এসকিউএল সার্ভার 2014 এর জন্য কাজ করেছিল:

  • নিয়ন্ত্রণ প্যানেল ->
  • সিস্টেম এবং সুরক্ষা ->
  • প্রশাসনিক সরঞ্জাম ->
  • পরিষেবাদি ->
  • ডাবল ক্লিক এসকিউএল সার্ভার (SQLEXPPress) -> রাইট ক্লিক করুন, বৈশিষ্ট্য
  • লগ অন ট্যাব নির্বাচন করুন
  • "লোকাল সিস্টেম অ্যাকাউন্ট" নির্বাচন করুন (ডিফল্টটি কিছুটা বাজে উইন্ডোজ সিস্টেম অ্যাকাউন্ট ছিল)
  • -> ঠিক আছে
  • ডান ক্লিক করুন, থামুন
  • ডান ক্লিক করুন, শুরু করুন

ভয়েল!

আমি মনে করি লগন অ্যাকাউন্টটি স্থাপন করা ইনস্টলেশনটিতে একটি বিকল্প হতে পারে তবে এটি যদি পূর্বনির্ধারিত না হয় এবং আপনি যদি ইতিমধ্যে এই বিষয়টি সম্পর্কে অবগত না হন তবে মিস করা সহজ ছিল।


5
আমি প্রচুর বিকল্পের চেষ্টা করেছি তবে আপনার উত্তরটি ঠিক কাজ করছে। ধন্যবাদ মিকিফ
ভিকি

2
উইন 10 এর অধীনে এসকিউএল সার্ভার 2014 এর জন্যও কাজ করে। ধন্যবাদ।
জোহান ফলি

7
-1 এটি করা এই ব্যবহারকারীটিকে প্রথম স্থানে স্থাপনের সম্পূর্ণ ধারণার বিপরীতে। এটি একটি সুরক্ষা বৈশিষ্ট্য, এবং এটি করা এটিকে অবরুদ্ধ করে।
নুল ইউজারএক্সেপশন

2
বাহ .. বিশ্বাস না করে লোকেরা কেবল এই "উত্তর" এ ঝাঁপিয়ে পড়েছে .. এটি একটি বড় সুরক্ষা সমস্যা তৈরি করতে পারে .. অন্যথায়, প্রথমে এই ব্যবহারকারীকে সেট করার কোনও কারণ থাকবে না, তাই না? যাইহোক, এটি তাদের ক্ষেত্রে এটি একটি "সমাধান" যা তাদের ক্ষেত্রে এটি কোনও সুরক্ষা সমস্যা হিসাবে বিবেচনা করে না।
কৌতূহলবাই

2
যে কেউ মনে করে যে কোনও কাজ শেষ করার চেয়ে সুরক্ষা বেশি গুরুত্বপূর্ণ তারা কেবলমাত্র তাদের এসকিউএল সার্ভারটি স্যুইচ করতে পারে!
ইভান

44

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


3
এটি আমার জন্য ছিল ... আমি কেবলমাত্র একটি সম্পূর্ণ স্থানীয় সেটআপটি দেখছি এবং এই সমস্যাটি পেয়েছি, উইন্ডোজ 10 হোম এ, এবং এর আগে আমি এমডিএফ & এলডিএফকে "অন্য কোনও কারণে" নিজের জন্য তৈরি করেছি - সম্ভবত প্রাসঙ্গিক
মাইক এম

3
এটি আমার পক্ষেও কাজ করে। আমি উইন্ডোজ 10 এবং মাইক্রোসফ্ট এসকিউএল সার্ভার 2012 ব্যবহার করছি I আমি প্রশাসক হিসাবে এসকিউএল ম্যানেজমেন্ট স্টুডিও চালিয়েছি এবং তারপরে অ্যাডভেঞ্চার ওয়ার্ক স্যাম্পল ডাটাবেস সংযুক্ত করতে সক্ষম হয়েছি।
আরশো

1
এটি কোনও কাজের ডোমেন পরিবেশে চলাকালীন উইন্ডোজ 10 প্রো এর সাথে সমস্যার সমাধান করেছে।
পেরপ্লেক্সসিস্টেম

একই - ডোমেন এনভ, এসএমএস 2017.x, উইন 10 প্রো। অন্যান্য মেশিন থেকে বিচ্ছিন্ন এবং নতুন মেশিনে সংযুক্ত।
ট্র্যাভিসওয়াইডেড

44

এটি উইন্ডোজ সম্পর্কিত সমস্যা যেখানে এসকিউএল সার্ভারের .bak ফাইল রয়েছে এমন ফোল্ডারে যথাযথ অনুমতি নেই এবং তাই এই ত্রুটি।

সবচেয়ে সহজ কাজ হ'ল আপনার .bak ফাইলটি ডিফল্ট এসকিউএল ব্যাকআপ লোকেশনে অনুলিপি করা যাতে সমস্ত প্রয়োজনীয় অনুমতি রয়েছে। আপনার আর কোনও কিছুর সাথে ঝাঁকুনির দরকার নেই। ইন SQL সার্ভার 2012 , এই অবস্থান হল

D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup (SQL 2012)
C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup (SQL 2014)
C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\Backup (SQL 2016)

@ অ্যাডামলাইভিট আপনার কাছে এসকিউএল এর একাধিক সংস্করণ ইনস্টল বা পূর্বে ইনস্টল করা আছে? আপনি কি নিশ্চিত যে আপনি এটি সঠিক জায়গায় রেখে দিচ্ছেন?
হামাদ খান

1
@ এইচএমডি, ধন্যবাদ আমি করি। ফিক্সটি ছিল 2012 এর ব্যাকআপগুলির মধ্যে রফতানি করতে হবে।
অ্যাডাম লেভিট

1
এই সমাধানটি এসকিউএল সার্ভার ২০১৪-তেও কাজ করে। পথটি সি: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট এসকিউএল সার্ভার \ এমএসএসকিউএল 12. এমএসএসকিউএসএলভার \ এমএসএসকিউএল \ ব্যাকআপ
নিক কিং কিং

এই উত্তর হওয়া উচিত !!
অ্যাক্সেল

এমএস এসকিউএল এক্সপ্রেস ২০১ with এর সাথে আমারও একই সমস্যা ছিল, সমাধানটি ছিল আমার .mdf ফাইলটি ফোল্ডারে রেখে দেওয়া: সি: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট এসকিউএল সার্ভার \ এমএসএসকিউএল 13.এসএইচএএলএক্সপ্রেস \ এমএসএসকিউএল \ ব্যাকআপ
জিরিক্যাডলেক 2

13

আমার এই সমস্যা ছিল প্রশাসক হিসাবে কেবল এসকিউএল সার্ভার চালান


1
'প্রশাসক হিসাবে চালান' যেমনটি ইউএসি আমার পক্ষে কাজ করেছিল। অ্যাকাউন্ট প্রশাসক হিসাবে আমার লগইন করার দরকার নেই (তবে আমি প্রশাসকদের গ্রুপে আছি)।
মাইক চিল

1
হ্যাঁ, একই কাজ করেছেন, প্রশাসক হিসাবে চালান এবং সব ঠিকঠাক হয়ে গেছে।
ক্লাইড

12

হ্যাঁ, এটি ঠিক। প্রথম আপনার স্কেলসার্ভারের পরিষেবা অ্যাকাউন্টটি সন্ধান করা উচিত, যখন আপনি একই সময়ে ctrl + Alt + মুছুন টিপুন তখন আপনি এটি টাস্ক ম্যানেজারে দেখতে পাবেন; তারপরে আপনাকে অবশ্যই "সি এর পড়ার / লেখার সুযোগ দিতে হবে : পরিষেবা অ্যাকাউন্টে ra মুরচ \ এসকিউএল সার্ভার ২০০৮ \ ডাটাবেসগুলি।


10

এসকিউএল সার্ভারের এমডিএফ এবং এলডিএফ ফাইল অ্যাক্সেস করার অনুমতিগুলির অভাবের কারণে সমস্যা। এই সমস্ত পদ্ধতি কাজ করবে:

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


5

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


4

প্রকৃত সার্ভার অনুমতিগুলি এই মুহুর্তে গুরুত্বপূর্ণ হবে না; সব ঠিক আছে। এসকিউএল সার্ভার নিজেই ফোল্ডারের অনুমতি প্রয়োজন।
আপনার সংস্করণের উপর নির্ভর করে আপনি আপনার ফোল্ডারটি স্পর্শ করতে SERVERNAME NAME MSSQLSERVER অনুমতিগুলি যুক্ত করতে পারেন। ঠিক তেমনি, এটি ডিফল্ট BACKUP ডিরেক্টরিতে থাকতে হবে (আপনি যেখানে এটি ইনস্টল করেছেন বা সি: \ প্রোগ্রামফাইলেস (এক্স) \ এমএসএসকিউএল AC ব্যাকআপে ডিফল্ট থাকতে হবে।


2

আপনি নিম্নলিখিত পদক্ষেপগুলি করলেও আপনি একই ত্রুটি বার্তাটি পেতে পারেন।

1. login as SA user (SSMS)
2. Edit the file permissions to say "everyone" full access (windows folder)
3. Delete the Log file (Windows Exploring  (this was what I had done per advise from some msdn forum) 

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

আশা করি এটি সেই একই ব্যক্তিকে সহায়তা করবে।


0

খুব সহজ সমাধান।

  1. সিস্টেম অ্যাডমিনের সাথে লগইন করুন
  2. আপনার এমডিএফ এবং এলডিএফ ফাইলগুলি "সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ মাইক্রোসফ্ট এসকিউএল সার্ভার \ এমএসএসকিউএল 11. এমএসএসকিউএল সার্ভার \ এমএসএসকিউএল \ ডেটা" এ অনুলিপি করুন যেখানে অন্য সমস্ত ডেটা ফাইল পুনরায় পাঠ করে।
  3. এখন সেখান থেকে সংযুক্তি এটি কাজ করবে

1
প্রোগ্রাম ফাইল ডিরেক্টরিতে আপনার ডেটা সংরক্ষণ করা উচিত নয়। আপনি যখন এসকিউএল সার্ভার ইনস্টল করেন তখন ডিফল্ট অবস্থানটি পরিবর্তন করা উচিত
অরেঞ্জকিং 89

0

আমি আমার অ্যাপ্লিকেশনটিতে সত্তা কাঠামো ব্যবহার করেছি এবং এই সমস্যাটি ছিলাম, আমি ফোল্ডার এবং উইন্ডো পরিষেবাগুলিতে কোনও অনুমতি স্থাপন করেছি এবং কাজ করে না, তার পরে আমি প্রশাসক হিসাবে আমার অ্যাপ্লিকেশনটি শুরু করি (এক্সি ফাইলটিতে ডান ক্লিক করুন এবং "অ্যাডমিন হিসাবে রান করুন" নির্বাচন করুন) এবং এটি কাজ করে জরিমানা।


0

যদি আপনি কোনও ভিজ্যুয়াল স্টুডিও প্রকল্পের ফোল্ডারে (বা যেখানে আপনি এটি রেখেছিলেন) কোনও .MDFফাইলে এই ত্রুটিটি পেয়ে থাকেন তবে APP_DATAআমি যেভাবে এটি করেছি তা কেবল DATAএখানে বিদ্যমান ফোল্ডার থেকে অনুমতিগুলি অনুলিপি করা ছিল (সমর্থন করার জন্য আমি এসকিউএল এক্সপ্রেস 2014 ব্যবহার করছি) একটি পুরানো অ্যাপ্লিকেশন):

C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS2014\MSSQL\DATA

(দ্রষ্টব্য: আপনার প্রকৃত ইনস্টলের পথটি আমার পরিবর্তিত হয় - বিশেষ করে যদি আপনার উদাহরণের নামটি আলাদা হয়)

DATAআপনার অ্যাক্সেস রয়েছে তা নিশ্চিত করতে প্রথমে প্রশাসক হিসাবে ফোল্ডারে ডাবল ক্লিক করুন , তারপরে ফোল্ডারে থাকা বৈশিষ্ট্যগুলি খুলুন এবং ফোল্ডারের জন্য অনুরূপ নকল করুন APP_DATA। আমার ক্ষেত্রে অনুপস্থিত ব্যবহারকারীর নাম ছিল MSSQL$SQLEXPRESS2014(কারণ আমি উদাহরণটির নাম দিয়েছি SQLEXPRESS2014- আপনার ভিন্ন হতে পারে)। এটি এসকিউএল সার্ভার পরিষেবা ব্যবহারকারীর নাম হিসাবেও ঘটে।


0

কোনও কারণে, সমস্ত সঠিক অনুমতি সেট করা আমার ক্ষেত্রে সহায়তা করে না। আমার একটি ফাইল ছিল db.bakযা আমি 5(Access is denied.)ত্রুটির কারণে পুনরুদ্ধার করতে পারিনি । ফাইল বিভিন্ন অন্য ব্যাকআপ ফাইল হিসেবে একই ফোল্ডারে স্থাপন করা হয় এবং সমস্ত অনুমতি ছিল অভিন্ন অন্যান্য ফাইল করতে। আমি এই db.bakফাইলটি বাদে অন্য সমস্ত ফাইল পুনরুদ্ধার করতে সক্ষম হয়েছি । এমনকি আমি ব্যবহারকারীর উপর এসকিউএল সার্ভার পরিষেবা লগ পরিবর্তন করার চেষ্টা করেছি - এখনও একই ফলাফল। আমি কোনও প্রভাব ছাড়াই ফাইলটি অনুলিপি করার চেষ্টা করেছি।

তারপরে আমি কার্যকর করে একটি অভিন্ন ফাইল তৈরি করার চেষ্টা করেছি

type db.bak > db2.bak

ফাইলটি অনুলিপি করার পরিবর্তে। এবং ভয়েলা এটা কাজ!db2.bakসফলভাবে পুনরুদ্ধার।

আমার সন্দেহ হয় যে ব্যাকআপ ফাইলটি পড়ার সাথে আরও কিছু সমস্যা 5(Access is denied.)এমএস এসকিউএল দ্বারা ভ্রান্তভাবে রিপোর্ট করা যেতে পারে ।


0

লিনাক্সে, আমি /var/opt/mssql/data/ফোল্ডারে গিয়ে sudoতারপরে একটি টার্মিনাল খুললাম , আমার * .mdf এবং * .ldf ফাইলের অনুমতিগুলি নীচে হিসাবে পরিবর্তন করেছিলাম যেখানে আপনি yourDBআপনার ডেটাবেস ফাইলের নাম এবং myUserবর্তমানে লগইন ব্যবহারকারীর নামটি প্রতিস্থাপন করেছেন :

chmod 755 yourDB.mdf
chown myUser yourDB.mdf

chmod 755 yourDB.ldf
chown myUser yourDB.ldf

এর পরে, এটি কোনও সমস্যা ছাড়াই পুনরায় সংযুক্ত হয়েছিল।


0

এর অর্থ এসএসএমএস লগইন ব্যবহারকারীর .mdf ফাইলে অনুমতি নেই। এটি আমার পক্ষে এভাবে কাজ করেছে:

আমি এসএসএমএস খুললাম (প্রশাসক হিসাবে চালান) এবং প্রশাসক ব্যবহারকারী হিসাবে লগইন করেছি, ডাটাবেস ডান-ক্লিক সংযুক্তি, যুক্ত ক্লিক করুন, .mdf ফাইল নির্বাচন করুন, ওকে ক্লিক করুন। সম্পন্ন.

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