এসকিউএল সার্ভার ডাটাবেস পুনরুদ্ধার ত্রুটি: নির্দিষ্ট কাস্ট বৈধ নয়। (স্কেল ম্যানেজারইউআই)


91

আমি ডেটাবেস হিসাবে আমার লোকালহোস্টের জন্য আমার প্রোডাকশন ওয়েবসাইটের জন্য এসকিউএল সার্ভার ২০০৮ আর 2 স্ট্যান্ডার্ড (সংস্করণ 10.50.1600.1) এবং এসকিউএল সার্ভার এক্সপ্রেস সংস্করণ ব্যবহার করছি v

কয়েকদিন আগে আমার এসকিউএল সার্ভার ক্র্যাশ হয়ে গেছে এবং আমার লোকালহোস্টে একটি নতুন 2008 আর 2 এক্সপ্রেস সংস্করণ ইনস্টল করতে হয়েছিল। এক্সপ্রেস সংস্করণ থেকে নেওয়া কিছু পুরানো সংস্করণ পুনরুদ্ধার করার সময় এটি ঠিকঠাক কাজ করেছিল তবে আমি যখন .bakপ্রোডাকশন সার্ভার থেকে নেওয়া ফাইল থেকে ডাটাবেস পুনরুদ্ধার করার চেষ্টা করি তখন এটি নিম্নলিখিত ত্রুটিটি ঘটায়:

ত্রুটি: নির্দিষ্ট কাস্টটি বৈধ নয়। (স্কেল ম্যানেজারইউআই)

এবং যখন আমি কমান্ড ব্যবহার করে ডাটাবেস পুনরুদ্ধার করার চেষ্টা করি

Use Master
Go
RESTORE DATABASE Publications
FROM DISK = 'C:\Publications.bak'
WITH MOVE 'Publications' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.mdf',--adjust path
MOVE 'AlPublications_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.ldf'

এটি একটি ভিন্ন ত্রুটি উত্পন্ন করে

এমএসজি 3154, স্তর 16, রাজ্য 4, লাইন 1
ব্যাকআপ সেটটিতে বিদ্যমান 'পাবলিকেশনস' ডাটাবেস ব্যতীত অন্য একটি ডাটাবেসের ব্যাকআপ রয়েছে।
এমএসজি 3013, স্তর 16, রাজ্য 1, লাইন 1
পুনরুদ্ধার করুন ডেটাবেস অস্বাভাবিকভাবে শেষ করছে।

আমি সংস্করণগুলি ক্রস করেছি। নীচের চিত্রটিতে প্রদর্শিত হিসাবে এগুলি সমস্তই আমার সাথে মিলছে

পূর্বে আমি স্ট্যান্ডার্ড সংস্করণ থেকে এক্সপ্রেশন সংস্করণে একটি ডাটাবেস পুনরুদ্ধার করতে সক্ষম হয়েছি তবে এখন এটি ব্যর্থ হয়। আমি ডাটাবেসটি মুছলাম এবং এটি পুনরায় তৈরি করার চেষ্টা করেছি। এটিও ব্যর্থ।

আমি কী ভুল করছি তা নিশ্চিত নই। আমি এই বিষয়ে সাহায্যের প্রশংসা করব

বেক ফাইলটি দূষিত বলে মনে হওয়ায় সমস্যাটি সমাধান করা হয়েছিল was আমি যখন এটি চেষ্টা করি তখন এটি একটি ভিন্ন ফাইল দিয়ে কাজ করে।


আমি এতে প্রো না, তবে তাত্ক্ষণিক প্রশ্ন, ডাটাবেসের মধ্যে x86 এবং x64 শিল্পকলাটি কি সামঞ্জস্যপূর্ণ?
গুস্তাভ ক্লিমেট

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

,REPLACEবিদ্যমান AlHabtoorPublications ডাটাবেস ওভাররাইট করতে টি-এসকিউএল কমান্ডে যুক্ত করার চেষ্টা করুন ।
স্মিটজিট

আমি আজ কাজের জায়গায় একই ইস্যুটিকে আঘাত করেছি .. এফটিপি স্থানান্তর যথেষ্ট নয় এমন ফাইলের আকারের চেক পরীক্ষা করা দেখে মনে হচ্ছে। ফাইলটি খুব সংবেদনশীল বলে মনে হচ্ছে। স্থানান্তর কার্যকর করার আগে ফাইলটি জিপ করে সমস্যার সমাধান করুন।
rofans91

সিনেরিও আমি এসকিউএল সার্ভার ২০০৮-তে ডাটাবেস ব্যাকআপ নিয়েছি এবং এসকিউএল সার্ভার ২০০৮ আর 2 এ এটি পুনরুদ্ধার করার চেষ্টা করেছি। আদর্শভাবে, এটি ঠিক মতো কাজ করা উচিত তবে ব্যাকআপ ফাইল নির্বাচন করার সময়, এসকিউএল ম্যানেজমেন্ট স্টুডিও 2208 আর 2 ত্রুটি বাড়িয়ে তুলছিল "নির্দিষ্ট কাস্ট নির্দিষ্ট করা হয়নি। (এসকিউএল ম্যানেজারইআইআই)"। কারণ ও সমস্যা সমাধান এফটিপি স্থানান্তর চলাকালীন .BAK ফাইল দুর্নীতির কারণে হয়েছিল (ট্রান্সফার মোডটি ASCII তে সেট করা আছে)। সর্বদা, ডাটাবেস .বাক ফাইল স্থানান্তর করার সময় বিন্যারে এফটিপি স্থানান্তর মোড সেট করতে ভুলবেন না।
রোহান সরকার 12

উত্তর:


40

জিইউআই মাঝে মাঝে চঞ্চল হতে পারে। টি-এসকিউএল ব্যবহার করার সময় আপনি যে ত্রুটিটি পেয়েছেন তা হ'ল কারণ আপনি একটি বিদ্যমান ডাটাবেস ওভাররাইট করার চেষ্টা করছেন, কিন্তু বিদ্যমান ডাটাবেসটি ওভাররাইট / প্রতিস্থাপনের জন্য নির্দিষ্ট করেন নি। নিম্নলিখিত কাজ করতে পারে:

Use Master
Go
RESTORE DATABASE Publications
  FROM DISK = 'C:\Publications_backup_2012_10_15_010004_5648316.bak'
  WITH 
    MOVE 'Publications' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.mdf',--adjust path
    MOVE 'Publications_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.ldf'
, REPLACE -- Add REPLACE to specify the existing database which should be overwritten.

অদ্ভুত, আমি আপনার মূল বক্তব্যটি পুনরায় ব্যবহার করেছি। যাই হোক না কেন, আমি যুক্ত একমাত্র থ্রাইঞ্জটি সর্বশেষ লাইনটি ছিল: , REPLACE
শিটজিট

4
আসলে, Failed: 38ইঙ্গিত reached end of the file। (একটি কমান্ড উইন্ডোতে, চালান NET HELPMSG 38) : তা সাধারণত একটি দুর্নীতিগ্রস্ত ব্যাকআপ ইঙ্গিত stackoverflow.com/questions/5656363/...
SchmitzIT

আমি কিছুটা পুরানো .bak ফাইলের সাথে পুনরুদ্ধার পরীক্ষা করেছি যা কোনও সমস্যা ছাড়াই পুনরুদ্ধার করা হয়েছিল। মনে হচ্ছে এই বিশেষ .bak ফাইল দূষিত
শিক্ষণ

দুর্ঘটনার ফলাফল হতে পারে। এটি ড্রাইভের কিছু অংশ খুঁজে পেতে পারে। শুনে শুনে আপনি খুশি হলেন যে আপনি অন্য একটি ব্যাকআপ দিয়ে সমস্যার সমাধান করতে পেরেছেন :)
শিটজিট

আপনি স্ক্রিপ্ট নিম্নলিখিত ত্রুটি তৈরি করেছেন এমএসজি 3203, স্তর 16, রাজ্য 1, লাইন 1 "সি: \ পাবলিকেশনস.বাক" পড়ুন ব্যর্থ: 38 (এই ত্রুটির জন্য পাঠ্য উদ্ধার করতে ব্যর্থ হয়েছে। কারণ: 15105) এমএসজি 3013, স্তর 16, রাজ্য 1 , লাইন 1 পুনরুদ্ধার ডেটাবেস অস্বাভাবিকভাবে শেষ করছে।
শিখছি

163

এসকিউএল সার্ভার ২০০২ সংস্করণ ব্যাকআপ ফাইলটিকে এসকিউএল সার্ভার ২০০৮ আর 2 বা তার চেয়েও কম সংস্থায় পুনরুদ্ধার করার কারণে হতে পারে।


4
পরিবর্তে "স্ক্রিপ্ট উত্পন্ন করুন" ব্যবহার করা দরকার One
ক্রাইজ

4
এটা আমার সমস্যা ছিল। মনে হচ্ছে এমএসের পক্ষে এই কয়েকটি ক্ষেত্রে আরও সহায়ক বার্তা দেওয়া খুব কঠিন হবে না।
জন গিলমার

পিনাল ডেভ এখানে কারণগুলি ব্যাখ্যা করেছেন - blog.sqlauthority.com/2015/06/01/…
shrivb

15

অবশেষে পুনরুদ্ধার করতে গিয়ে এই ত্রুটিটি পেয়েছে। আমি হতাশার বাইরে এসকিউএল ২০১২ এ চলে এসেছি তবে আমি অনুমান করি এটি সম্ভবত ২০০৮ -২২ এ কাজ করবে। আমাকে যৌক্তিক নামগুলি ব্যবহার করতে হয়েছিল:

RESTORE FILELISTONLY
FROM DISK = ‘location of your.bak file

এবং সেখান থেকে আমি MOVEযৌক্তিক নাম ব্যবহার করে একটি পুনরুদ্ধার বিবৃতি চালিয়েছি।

RESTORE DATABASE database1
FROM DISK = '\\database path\database.bak'
WITH
MOVE 'File_Data' TO 'E:\location\database.mdf',
MOVE 'File_DOCS' TO 'E:\location\database_1.ndf',
MOVE 'file' TO 'E:\location\database_2.ndf',
MOVE 'file' TO 'E:\location\database_3.ndf',
MOVE 'file_Log' TO 'E:\location\database.ldf'

এটি পুনরুদ্ধার করার পরে, আমি প্রায় আনন্দে কেঁদেছিলাম।

শুভকামনা!


4

নীচে এই সমস্যাটির জন্য 2 টি কারণ থাকতে পারে:

  1. এসকিউএল 2012 এ ব্যাকআপ নেওয়া হয়েছিল এবং হেডেরোনলি পুনরুদ্ধার এসকিউএল ২০০৮ আর 2 এ হয়েছিল

  2. ব্যাকআপ মিডিয়া দূষিত।

যদি আমরা কমান্ডের নীচে চলে যাই তবে আমরা সর্বদা প্রকৃত ত্রুটিটি খুঁজে পেতে পারি:

restore headeronly
from disk = 'C:\Users\Public\Database.bak'

উদ্ধৃতিতে আপনার ডাটাবেস ফাইলের সম্পূর্ণ অবস্থান দিন

আশা করি এটা সাহায্য করবে

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