এসকিউএল সার্ভারে একটি ডাটাবেসে .bak ফাইলটি আমদানি করুন


230

.bakএক্সটেনশন সহ আমার একটি ফাইল আছে ।

এসকিউএল সার্ভারের একটি ডাটাবেসে আমি এই তারিখটি কীভাবে আমদানি করতে পারি?


আমি ধরে নিচ্ছি আপনি এমএসএসকিউএল ব্যবহার করছেন, এখানে একটি থ্রেড যা আপনি পুনরুদ্ধার করতে পারেন তার কয়েকটি উপায় ব্যাখ্যা করে।
অ্যান্ড্রু কিথ

আপনি .bak ব্যবহার করে একটি খালি ডাটাবেস তৈরি করতে পারেন এবং খালি ডেটাবেসে ডেটা পুনরুদ্ধার করতে পারেন
মিশেল আইরেস

সবচেয়ে সহজ উপায় হ'ল তৃতীয় উত্তর, ডান ক্লিকের ডাটাবেসগুলি, আমদানি, ডিভাইস, নির্বাচন করুন .বাক ফাইল, সমাপ্ত।
মাফাই

অটোমেশন বান্ধব সমাধানের জন্য কেউ কি উত্তরটি প্রসারিত করতে পারে? ইউআইয়ের মধ্য দিয়ে যাওয়া এবং বেশ কয়েকটি ক্লিক করা খুব কার্যকর নয়।
এল। হল্যান্ড

উত্তর:


251

উপর SQL সার্ভার ম্যানেজমেন্ট স্টুডিও

  1. রাইট ক্লিক করুন ডেটাবেস বাম ফলকে (অবজেক্ট এক্সপ্লোরার)
  2. পুনরুদ্ধার ডাটাবেস ক্লিক করুন ...
  3. ডিভাইসটি চয়ন করুন , ক্লিক করুন ...এবং আপনার .bak ফাইল যুক্ত করুন
  4. ওকে ক্লিক করুন , তারপরে আবার ঠিক আছে

সম্পন্ন.


4
এটি একটি কবজির মতো কাজ করে। এগুলি দুর্দান্ত সরলিকৃত নির্দেশাবলী এবং এগুলি এখানে সর্বাধিক ভোটপ্রাপ্ত উত্তরে উল্লিখিত সরকারী মাইক্রোসফ্ট লিঙ্কের মূলত একই নির্দেশনা।
লিওনার্দো লোপেজ

3
যদি এটি ব্যর্থ হয়, আপনার সম্ভবত একটি বিদ্যমান ডাটাবেস মুছতে হবে।
ডিজিটাল ডিজাইনডিজে

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

13
আমার .BAK ফাইলটি "ডাউনলোড" ডিরেক্টরিতে ছিল যা আমার ব্যবহারকারীর অ্যাকাউন্টের নীচে ছিল। আমাকে .BAK ফাইলটি সি এর মূলে নিয়ে যেতে হয়েছিল: এই সরঞ্জামটি দেখার জন্য এবং আমাকে এটি থেকে পুনরুদ্ধার করার অনুমতি দেওয়ার জন্য। আমার ব্যবহারকারীর নীচে থাকা ফাইলগুলি কোনও কারণে দেখা যায়নি।
জেরেমাসাউজড

6
এটা কাজ করে না. আমি "ডাটাবেসগুলি" রাইট-ক্লিক করেছি তবে "ডাটাবেস পুনরুদ্ধার ..." নেই।
ব্যবহারকারী 34660

53

.bak ফাইলগুলি ডাটাবেস ব্যাকআপ। আপনি নীচের পদ্ধতিতে ব্যাকআপ পুনরুদ্ধার করতে পারেন:

কীভাবে: একটি ডাটাবেস ব্যাকআপ পুনরুদ্ধার করুন (এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও)


8
এটা কাজ করে না. নিবন্ধটি বলে: "... 2) ডাটাবেসগুলি প্রসারিত করুন। ডাটাবেসের উপর নির্ভর করে কোনও ব্যবহারকারী ডাটাবেস নির্বাচন করুন বা সিস্টেম ডাটাবেসগুলি প্রসারিত করুন এবং তারপরে একটি সিস্টেম ডাটাবেস নির্বাচন করুন।) ডাটাবেসটিতে ডান ক্লিক করুন , কার্যগুলিতে নির্দেশ করুন এবং তারপরে ক্লিক করুন পুনরুদ্ধার করুন। " না! আপনি উপস্থিত নেই এমন একটি ডাটাবেসটিতে ডানদিকে ক্লিক করতে পারবেন না! আপনি, সামগ্রিকভাবে, প্রদত্ত ডাটাবেসটি পুনরুদ্ধার বা আমদানির চেষ্টা করছেন। লোড করা হয়নি এমন একটি ডাটাবেস আপনি কীভাবে ডান ক্লিক করতে পারেন? এমএসডিএন এর উদ্ভট, এবং এসএসএমএসে কার্যকারিতা পুনরুদ্ধার করার বিষয়টি উত্সাহিত করে তবে কাজ করে না। কেন? ভাগ্যক্রমে, এসকিউএল অন্যদের এখানে কাজ করার আদেশ দেয়।
নিকোলাস পিটারসেন

14
আছে: এখানে একটি নতুন ডাটাবেসের সাথে পাওয়া পুনরূদ্ধার জন্য একটি ভিন্ন নিবন্ধ msdn.microsoft.com/en-us/library/ms186390(v=sql.90).aspx
জন Schoning

35
RESTORE FILELISTONLY 
FROM DISK = 'D:\3.0 Databases\DB.bak' 

RESTORE DATABASE YourDB
FROM DISK = 'D:\3.0 Databases\DB.bak' 

এবং আপনাকে ব্যবহার করে উপযুক্ত এমডিএফ, এনডিএফ এবং এলডিএফ ফাইলগুলি সরাতে হবে

 With Move 'primarydatafilename' To 'D:\DB\data.mdf', 
 Move 'secondarydatafile'To 'D:\DB\data1.ndf', 
 Move 'logfilename' To 'D:\DB\log.ldf'

1
এটি আমার পক্ষে খুব সহায়ক ছিল কারণ আমি অ্যাজুরে ডেটা স্টুডিও ব্যবহার করে একটি ম্যাকওএস হোস্টের সাথে একটি স্কল ডকার কনটেইনার একটি .bak ফাইল পুনরুদ্ধার করতে চাইছিলাম। আমাকে যা করতে হয়েছিল তা হল .বাকটিকে ধারকটিতে অনুলিপি করা, পথটি সামঞ্জস্য করা এবং / এ পরিবর্তন করা এবং আমি সফলভাবে পুনরুদ্ধার করতে সক্ষম হয়েছি।
অ্যান্ড্রুব

খুশী এটি @ অ্যান্ড্রুবকে সাহায্য করেছে :)
রমেশভেল

30

আপনি কেবল নেটিভ এসকিউএল সার্ভার পদ্ধতি ব্যবহার করে এই ডাটাবেস ব্যাকআপ ফাইলগুলি পুনরুদ্ধার করতে পারেন, বা আপনি অ্যাপেক্সএসকিউএল পুনরুদ্ধার ব্যবহার করতে পারেন দ্রুত কার্যত ফাইলগুলি সংযুক্ত করতে এবং সম্পূর্ণ পুনরুদ্ধারকৃত ডাটাবেস হিসাবে তাদের অ্যাক্সেস সরঞ্জামটি ।

দাবি অস্বীকার: আমি অ্যাপেক্সএসকিউএলে প্রোডাক্ট সাপোর্ট ইঞ্জিনিয়ার হিসাবে কাজ করি


18

পুনরুদ্ধার ডাটাবেস ... চয়ন করার পরিবর্তে, ফাইল এবং ফাইলগোষ্ঠী পুনরুদ্ধার করুন নির্বাচন করুন ...

তারপরে একটি ডাটাবেসের নাম লিখুন, উত্স হিসাবে আপনার .bak ফাইলের পথটি নির্বাচন করুন, পুনরুদ্ধার চেকবক্সটি পরীক্ষা করুন এবং ওকে ক্লিক করুন। .Bak ফাইলটি বৈধ হলে এটি কাজ করবে।

(এসকিউএল সার্ভার পুনরুদ্ধার বিকল্পগুলির নামগুলি খুব সাধারণ কোনও কাজের জন্য স্বজ্ঞাত নয়))


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

আপনার নতুন ডাটাবেসটি দেখতে শেষে একটি রিফ্রেশ করতে ভুলবেন না। এটি উঠে পড়ার জন্য দ্রুত সমাধান হতে পারে solution
ডেমোঙ্গোলেম

এই বিকল্পটি আমার জন্য কাজ করেছিল যখন একই ডাটাবেসটি আমদানি করতে
চাইলে

7
  1. আপনি আপনার ডিবি সঞ্চয় করতে চান এমন কোনও সার্ভারের সাথে সংযুক্ত করুন
  2. ডাটাবেস ডান ক্লিক করুন
  3. পুনরুদ্ধার ক্লিক করুন
  4. ডিভাইসটি বেছে নিনউত্স বিভাগের অধীনে রেডিও বোতামটি
  5. অ্যাড ক্লিক করুন।
  6. আপনার .bak ফাইলটি যেখানে সঞ্চিত আছে সেই পথে নেভিগেট করুন, এটি নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন
  7. আপনার ডিবি এর গন্তব্য প্রবেশ করুন
  8. আপনি নিজের ডিবি সংরক্ষণ করতে চান সেই নামটি প্রবেশ করান
  9. ঠিক আছে ক্লিক করুন

সম্পন্ন


4

সহজভাবে ব্যবহার করুন

sp_restoredb 'আপনার ডাটাবেসের নাম', 'আপনি পুনরুদ্ধার করতে চান এমন অবস্থান'

উদাহরণ: sp_restoredb 'omDB', 'D: \ abc.bak'


এটিরRESTORE DATABASE মধ্যে এবং এমএসডিএন.মাইক্রোসফট /en-us/library/ms178099(v=sql.105).aspx এর মধ্যে পার্থক্য কী ?
অযৌক্তিক

1
ডাটাবেস পুনরুদ্ধার কেবল আপনার ডিবি কাঠামো ব্যাকআপ ফাইলের মতো হলে পুনরুদ্ধার অপারেশন সঞ্চালন, তবে sp_restoredbআপনার ডাটাবেস বিভিন্ন কাঠামো বা সম্পূর্ণ খালি (নতুন) থাকা পুনরুদ্ধার সঞ্চালন।
ওমপ্রকাশ তোমার

3
  1. আপনার পিসির নিম্নলিখিত অবস্থানে আপনার ব্যাকআপ .বাক ফাইলটি অনুলিপি করুন: সি: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট এসকিউএল সার্ভার \ এমএসএসকিউএল 11.এসএইচএলএক্সপ্রেস \ এমএসএসকিউএল \ ডেটা
  2. আপনি আপনার ডিবি সঞ্চয় করতে চান এমন কোনও সার্ভারের সাথে সংযুক্ত করুন
  3. ডাটাবেস ডান ক্লিক করুন
  4. পুনরুদ্ধার ক্লিক করুন
  5. উত্স বিভাগের অধীনে ডিভাইস রেডিও বোতামটি চয়ন করুন
  6. অ্যাড ক্লিক করুন।
  7. আপনার .bak ফাইলটি যেখানে সঞ্চিত আছে সেই পথে নেভিগেট করুন, এটি নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন
  8. আপনার ডিবি এর গন্তব্য প্রবেশ করুন
  9. আপনি নিজের ডিবি সংরক্ষণ করতে চান সেই নামটি প্রবেশ করান
  10. ঠিক আছে ক্লিক করুন

উপরের সমাধানগুলি আপনার ব্যাকআপ (.বাক) ফাইলটি কোথায় রাখবে তা বাদ যায়। এই কৌতুক করতে হবে। এটা আমার জন্য কাজ করেছে।


1

আপনি নোড প্যাকেজ ব্যবহার করতে পারেন, যদি আপনার প্রায়শই বিকাশ প্রক্রিয়াতে ডাটাবেসগুলি পুনরুদ্ধার করতে হয়।

ইনস্টল করুন:

npm install -g sql-bak-restore

ব্যবহার:

sql-bak-restore <bakPath> <dbName> <oldDbName> <owner>

যুক্তি:

  • বাকপথ, ফাইলের আপেক্ষিক বা পরম পথ
  • dbName, কোন ডাটাবেসে পুনরুদ্ধার করতে হবে (এই নামের ডেটাবেস উপস্থিত থাকলে মুছে ফেলা হবে !!)
  • OldDbName, ডাটাবেসের নাম (যদি আপনি না জানেন তবে কিছু নির্দিষ্ট করুন এবং রান করুন, রানের পরে উপলব্ধ ডাটাবেসগুলি দেখতে পাবেন))
  • মালিক, ব্যবহারকারী নাম এবং তাকে db_owner সুবিধাগুলি প্রদান করতে (পাসওয়ার্ড "1")

!! sqlcmd কমান্ড লাইন ইউটিলিটি আপনার PATH ভেরিয়েবলের মধ্যে থাকা উচিত।

https://github.com/vladimirbuskin/sql-bak-restore/


1

মাইক্রোসফ্ট এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও 2019 তে:

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

পুনরুদ্ধার ডাটাবেস উইন্ডোতে:

  1. ডিভাইসটি বেছে নিন

  2. টার্গেট ফাইল যুক্ত করুন এবং চয়ন করুন

  3. ঠিক আছে

  4. পুনরুদ্ধার নিশ্চিত করতে ঠিক আছে

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

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