ডেটাবেস ডায়াগ্রাম সমর্থন অবজেক্টগুলি ইনস্টল করা যাবে না ... কোনও বৈধ মালিক নেই


132

আমি এসকিউএল সার্ভার ২০০৮ দিয়ে একটি ডাটাবেস চিত্র তৈরি করার চেষ্টা করেছি, তবে একটি ত্রুটি ঘটেছে:

ডেটাবেস ডায়াগ্রাম সমর্থন অবজেক্ট ইনস্টল করা যাবে না কারণ এই ডাটাবেসের কোনও বৈধ মালিক নেই। চালিয়ে যাওয়ার জন্য, ডাটাবেস মালিককে একটি বৈধ লগইনে সেট করতে প্রথমে ডেটাবেস প্রোপার্টি ডায়ালগ বাক্সের ফাইল পৃষ্ঠা বা ALTER AUTHORIZATION বিবরণ ব্যবহার করুন, তারপরে ডাটাবেস চিত্র চিত্র সমর্থন বস্তু যুক্ত করুন।

তারপরে আমি নিম্নলিখিতটি চেষ্টা করেছিলাম:

EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO

পরবর্তী এররার পপ আপ:

এমএসজি 15404, স্তর 16, রাজ্য 11, লাইন 1 উইন্ডোজ এনটি গ্রুপ / ব্যবহারকারীর 'WIN-NDKPHUPPNFL \ প্রশাসক', ত্রুটি কোড 0x534 সম্পর্কিত তথ্য অর্জন করতে পারেনি।

সমস্যাটি হ'ল পিসির নাম "DevPC" এ পরিবর্তিত হয়েছে আমি আপডেট স্ক্রিপ্টে এটিও পরিবর্তন করেছি, তবে এখনও একই ত্রুটি 15404।

এই বিরক্তিকর ত্রুটিটি ঠিক করতে আমি কী করতে পারি?


4
আপনি যখন অন্য কোনও মেশিন থেকে ব্যাকআপটি পুনরুদ্ধার করেন তখন আপনিও এই সমস্যাটি পান।
টিম আবেল

আপনি অন্য মেশিন থেকে একটি ডিবি পুনরুদ্ধার করার সময়, আপনি দুটি কমান্ড চালিয়ে এই ত্রুটিটি ঠিক করতে পারেন: 1) alter authorization on database::[db_name] to [sa]এবং তারপরে ২) আবার একই কমান্ডটি চালনা করুন এবং [sa]পুনরুদ্ধারের পরপরই সেই ডাটাবেসের মালিকানাধীন ব্যবহারকারীর সাথে প্রতিস্থাপন করুন ।
জেমস এল

উত্তর:


182

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

ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];

অথবা আপনি যদি সেই স্থানীয় প্রশাসকের অ্যাকাউন্টে মালিককে পরিবর্তন করতে চান তবে তা হওয়া উচিত:

ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];

কারণ মেশিনটির নাম পরিবর্তন করে নামকরণ করা DevPCস্থানীয় অ্যাকাউন্টটি মুছে ফেলা WIN-ND...\Administratorহয়েছে এবং এটি ডাটাবেসের বর্তমান মালিককেও বাতিল করে দিয়েছে।

যদি SELECT @@SERVERNAME;সঠিক না হয় (এটি বলা উচিত DevPC), তবে আপনার সার্ভারের নতুন নামটি এসকিউএল সার্ভারের মধ্যে রয়েছে তা নিশ্চিত করার জন্য, আপনি নিম্নলিখিতগুলিও ইস্যু করতে চাইতে পারেন:

EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO

এটি দেখায়: "WIN-NDKPHUPPNFL" আমি আপনার এসকিএল স্টেটমেন্টটি ব্যবহার করেছি এবং এটি কাজ করে ... তবে এই সেটআপটি কি সঠিক বা আমাকে আরও কিছু করতে হবে?
রুকিয়ান

ঠিক আছে, এটা সত্যিই নির্ভর করে। যদি আপনার উইন্ডোজ ডোমেন / ওয়ার্কগ্রুপ ব্যবহারকারীর মালিকানাধীন আপনার ডাটাবেস প্রয়োজন হয় তবে সম্ভবত আরও কাজ করার দরকার আছে। ব্যক্তিগতভাবে, আমি এই সমস্যাযুক্ত মনে। সম্ভবত এটি প্রথমে পড়ুন: sqlblog.com/blogs/tibor_karaszi/archive/2009/12/30/…
অ্যারন বারট্রান্ড

1
saআপনার যদি এসকিএল প্রমাণীকরণ অক্ষম করা থাকে তবে এটি সেট করার কোনও সমস্যা আছে?
টিম আবেল

@ অ্যারোনবার্ট্র্যান্ড হাই হাই আমার একটি প্রশ্ন আছে default ডিফল্ট হিসাবে যদি আমরা একটি ডেটাবেস তৈরি করি তবে বর্তমান উইন্ডো ব্যবহারকারীর সাথে সেট করা আছে এবং যদি বর্তমান উইন্ডোজ ব্যবহারকারীরা প্রশাসকও হন। আমাদের এটি কেন স্কিল প্রমাণীকরণ লগইনে পরিবর্তন করতে হবে to আসলে আমি এই ত্রুটি বুঝতে পারি না। যদি আমরা এটিকে সা লগইনে পরিবর্তন করি তবে এটি কার্যকর হয়। তবে অ্যাডমিনিস্ট্রেটর উইন্ডোজ লগইনও সিস্টেম অ্যাডমিন। আপনি কি সাহায্য করতে পারেন?
উফুকসুরমেন

আমি একগুচ্ছ ডাটাবেস পুনরুদ্ধার করেছিলাম এবং প্রত্যেকটি ডাটাবেসের বৈশিষ্ট্য বৈধ ব্যবহারকারীর দেখানো সত্ত্বেও ওপি-র প্রশ্নের ত্রুটিটি প্রদর্শন করেছিল। আমি এটি পরিবর্তন করতে প্রথম কমান্ডটি ব্যবহার করেছি [sa]এবং তারপরে আমি এটি ব্যবহারকারীর কাছে ফিরিয়ে দিয়েছিলাম এটি বলে যে এটি আগে ছিল, এবং ভায়োলা, আর কোনও ত্রুটি নেই। কোনও ডাটাবেস পুনরুদ্ধার কেন ডাটাবেস মালিককে সঠিকভাবে সেট করে নি তা নিশ্চিত নয় ...
জেমস এল

208

এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিওতে নিম্নলিখিতগুলি করুন:

  1. আপনার ডাটাবেসে রাইট ক্লিক করুন, বৈশিষ্ট্য নির্বাচন করুন
  2. বিকল্প পৃষ্ঠাতে যান
  3. ড্রপ ডাউন-এ ডানদিকে লেবেলযুক্ত "সামঞ্জস্যতা স্তর" চয়ন করুন "এসকিউএল সার্ভার 2005 (90)" 3-1। আপনি যদি তুলনামূলক ত্রুটি পান তবে "এসকিউএল সার্ভার ২০০৮" চয়ন করুন।
  4. ফাইল পৃষ্ঠাতে যান
  5. মালিকের পাঠ্যবক্সে "সা" লিখুন। 5-1 বা উপবৃত্ত (...) এ ক্লিক করুন এবং সঠিক মালিক চয়ন করুন।
  6. ঠিক আছে আঘাত

এটি করার পরে, আপনি এখন ডাটাবেস ডায়াগ্রামগুলি অ্যাক্সেস করতে সক্ষম হবেন।

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


2
কোনও ডাটাবেসের মালিক না থাকার কোনও কারণ আছে কি? আমি অন্য কারও পণ্যের ডাটাবেসে আসছি এবং সেখানে কোনও মালিকের সেট নেই। এই ইচ্ছাকৃত ছিল? (ক্লায়েন্টে এমন কেউ নেই যারা জানতে পারে)
জেসন ক্লেবান

ডাটাবেসের একটি মালিক থাকা উচিত। ডান মালিকের পরিবর্তে "সা" নির্বাচন করা উপরের ত্রুটিটি ঠিক করার জন্য সহজ বিকল্প। তবে সঠিক মালিককে বেছে নেওয়া সমস্যার সমাধানও করেছে।
লেসিলি রিভেঞ্জ

3
কেউ এই পদক্ষেপগুলিতে সামঞ্জস্যতা স্তর পরিবর্তন করার উদ্দেশ্য ব্যাখ্যা করতে পারে? কেবলমাত্র ফাইলগুলিতে মালিককে 'সা' তে সেট করা আমার পক্ষে যথেষ্ট ছিল (যদিও আমি স্কিল লেখক সক্ষম না করি, অদ্ভুতভাবে)।
টিম আবেল

এটি আমার পক্ষে কাজ করেছে। যদিও আমার ব্যবহারকারীর ডাটাবেসনাম> সুরক্ষা থেকে অপসারণ করা দরকার ছিল, যদিও।
গিজিম

এটি আমার পক্ষে এসকিউএল সার্ভার 2017-এ, ম্যানেজমেন্ট স্টুডিও 17.9 ব্যবহার করে 1 ধাপের প্রয়োজন ছাড়াই
জর্জিও বারচিয়েসি

7
USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

এটা কাজ করে।


5

মালিকের পাঠ্যবক্সে "সা" এর পরিবর্তে "এসএ" লিখুন। এটি আমার পক্ষে কাজ করেছে।


5

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

সুতরাং আমি যা করলাম তা হল স্থানীয় ব্যবহারকারীর মালিককে পরিবর্তন করা এবং এটি কাজ করেছে !!
আশা করি এটি কাউকে সাহায্য করবে।

আপনি ডাটাবেস, বৈশিষ্ট্য, ফাইল, মালিকের উপর ডান ক্লিক করে ব্যবহারকারী পরিবর্তন করুন


3

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

USE [your_db_name]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

Sp_changedbowner ডকুমেন্টেশন অনুযায়ী এটি এখন অবচয় করা হয়।

ইস্রায়েলের উত্তরের ভিত্তিতে। হারুনের উত্তর হ'ল এটির অস্বীকৃত ভিন্নতা।


3

আপনার ডাটাবেস নির্বাচন করুন - রাইট ক্লিক - বৈশিষ্ট্য নির্বাচন করুন

পৃষ্ঠার বাম দিকে FILE নির্বাচন করুন

মালিক বাক্সে, বোতামটি নির্বাচন করুন যার এতে তিনটি বিন্দু রয়েছে (…)

এখন ব্যবহারকারীর নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন


0

আমি এই অভিজ্ঞতা। আমি এই পৃষ্ঠায় দেওয়া পরামর্শগুলি পাশাপাশি এসকিউএল কর্তৃপক্ষের পরামর্শগুলি (যা একই জিনিসটি) পড়েছি এবং উপরের কোনওটিই কাজ করে না।

শেষ পর্যন্ত, আমি অ্যাকাউন্টটি সরিয়ে পুনরায় তৈরি করেছি (একই ব্যবহারকারীর নাম / পাসওয়ার্ড সহ)। ঠিক তেমনই, সমস্ত বিষয় চলে গেল।

দুঃখের সাথে, এর অর্থ আমি কী ভুল হয়েছে তা জানি না তাই আমি আর কোনও কিছু ভাগ করতে পারি না।


0

1. আপনার ডাটাবেসগুলিতে রাইট ক্লিক করুন, 2. তারপরে বৈশিষ্ট্যগুলি নির্বাচন করুন। ৩. আপনি যদি মাইক্রোসফ্ট sql 2008 এর সাথে কাজ করছেন তবে সামঞ্জস্যতা স্তরের বিকল্পটি নির্বাচন করুন sql 2008 [100]।

4. তারপরে ফাইলটি নির্বাচন করুন এবং মালিকের পাঠ্যবক্সে (গুলি) লিখুন

100% আমার পক্ষে কাজ করে।


0

এই সমস্যাগুলি সমাধান করার একটি সহজ উপায় হ'ল আপনার ডাটাবেসের নামটি ডান ক্লিক করা, "নতুন ক্যোয়ারী" নির্বাচন করা, "exec sp_changedbowner 'sa'" টাইপ করুন এবং কোয়েরি চালানো। তাহলে আপনি যেতে ভাল হবে।


0

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


0

কেবল এটিই ক্যোয়ারী সম্পাদকটিতে মৃত্যুদন্ড কার্যকর করা দরকার ডেটাব্যাসে অনুমোদনের পরিবর্তে :: আপনার ডেটাবেস টু [ডোমেন \ অ্যাকাউন্ট];


-3

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

এক্সইসি sp_dbcmptlevel 'yourDB', '90';

যাওয়া

ডেটাবাসে অনুমোদনের বিকল্পটি :: আপনার ডিবি "আপনার লোগিন" এ

যাওয়া

[আপনার ডিবি] ব্যবহার করুন

যাওয়া

ব্যবহারকারীর হিসাবে পরীক্ষা করুন = এন 'ডিবো' রিভার্ট

যাওয়া


-3

আপনার ডাটাবেজে ডান ক্লিক করুন, তারপরে বৈশিষ্ট্যগুলি নির্বাচন করুন। সামঞ্জস্যতা স্তরগুলিতে বিকল্পটি নির্বাচন করুন ২০০৮ এর পরিবর্তে ২০০q এর পরিবর্তে স্কুয়েল ২০০ [[90] নির্বাচন করুন যদি আপনি মাইক্রোসফ্ট স্কিল ২০০৮ এর সাথে কাজ করছেন তবে ফাইলটি নির্বাচন করুন এবং মালিকের পাঠ্যবক্সে (সা) লিখুন। এটা সম্ভবত কাজ করবে

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