স্ক্রিপ্ট সম্পূর্ণ ডাটাবেস এসকিউএল-সার্ভার


95

আমি কি কোনও উপায়ে ডেটাবেস থেকে সমস্ত টেবিল, প্রক্স এবং অন্যান্য বস্তুর স্ক্রিপ্টিং পেতে পারি? আমি জানি যে ডাটাবেস স্ক্রিপ্ট করার একটি বিকল্প আছে তবে এটি আমাকে কেবলমাত্র কিছু স্তরের স্ক্রিপ্ট দিয়েছে, অবশ্যই সমস্ত টেবিল, প্রক্স, ইউডিএফ, .etc তৈরি করার জন্য কোনও স্ক্রিপ্ট নেই।


6
তিনি এটিকে এসকিউএল সার্ভার ২০০৮ এ ট্যাগ করেছিলেন, তাই আমি ধরে নিই যে সে এটি ব্যবহার করছে।
কলিন ম্যাকেয়ে

4
এইটা কি সার্ভারফল্ট ডট কম এ যাওয়ার কথা নয়?
সালামান্ডের

উত্তর:


163

ম্যানেজমেন্ট স্টুডিও থেকে আপনার ডাটাবেসে ডান ক্লিক করুন। কার্য -> স্ক্রিপ্ট তৈরি করুন।

যা করা উচিৎ.


4
আর একটি বিকল্প হ'ল এসকিউএল এসএমও ব্যবহার করা এবং এটি প্রোগ্রামক্রমে স্ক্রিপ্ট করে আনা (যেমন নিয়মিত স্ক্রিপ্টিং প্রয়োজন হয়)
রবএস

এটি করার জন্য কোনও স্ক্রিপ্ট সেট আপ করার কোনও উপায় আছে যাতে সেটিংস যে সর্বদা চালিত হয় তা সর্বদা একই থাকে? আমি আমাদের দেব দলের লোকদের এই ফাইলটি প্রতিবার বিভিন্ন সেটিংসের সাথে ওভাররাইট করার জন্য পরামর্শ দিচ্ছি ...
জো ফিলিপস

@ জো, আমি রবস যে পথটির কথা বলছি সেদিকে নামব। পাওয়ারশেল দিয়ে আপনার এটি করা উচিত should অন্যথায় রেডগেট সরঞ্জামগুলি বা ডেটাবেস বিকাশকারী সাথে ভিজ্যুয়াল স্টুডিও টিম সিস্টেমগুলি সন্ধান শুরু করুন।
ক্রিস ব্র্যান্ডসমা

7
ডিফল্টরূপে এটি ডেটা স্ক্রিপ্ট করে না। সারণী / দেখুন বিকল্পের অধীনে "স্ক্রিপ্ট ডেটা -> সত্য" নির্বাচন করুন। আর একটি দরকারী বিকল্প হ'ল "স্ক্রিপ্ট ড্রপ -> ট্রু"
স্টিফেন হোস্টিং

4
উত্পন্ন স্ক্রিপ্টটিতে কলামগুলির সংগ্রহ সম্পর্কে কোনও তথ্য থাকবে না, যদি না আপনি মেনুতে অতিরিক্ত> বিকল্পগুলি> স্ক্রিপ্ট জেনারেশনে শেষ বিকল্পটি না বেছে নেন। জার্মান ভাষায়, বিকল্পটি হ'ল "সোর্তেরুং আইনশ্লিয়েন"। এমনকি এই বিকল্পগুলির বেশিরভাগটি স্ক্রিপ্ট তৈরির উইজার্ডে অন্তর্ভুক্ত রয়েছে, এটি একটি নয় (এসকিউএল সার্ভার ২০০৮)। উইজার্ড কল করার আগে আপনাকে সত্যই বিকল্পটি নির্বাচন করতে হবে।
অলিভিয়ার ফাওচাক্স

14

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

স্ক্রিপ্ট চালাতে জেনারেট করুন:

স্কিমাজেন.এক্সপি স্ক্রিপ্ট - সার্ভার লোকালহোস্ট - ডেটাবেস ডিবি - স্ক্রিপ্টডির সি: \ সামির

এরপরে স্ক্রিপ্টগুলি থেকে ডাটাবেসটি পুনরায় তৈরি করতে:

স্কিমাজেন.এক্সই - সার্ভার লোকালহোস্ট তৈরি করুন - ডেটাবেস ডিবি - স্ক্রিপ্টডির সি: \ সামির

হাই, আমি ভিজ্যুয়াল স্টুডিওতে তৈরি আমার স্থানীয় ডাটাবেস থেকে এসকিউএল QUERY পেতে চাই, কীভাবে আমি এই সরঞ্জামটি দিয়ে এটি করতে পারি? আমাকে .sdf ফাইলের দিকটি ব্যবহার করতে হবে বা কীভাবে? ধন্যবাদ
কার্লো এ। ল্যাপেজ

এটি একটি কমপ্যাক্ট এসকিউএল ডেটাবেস ফাইল।
কার্লো এ। ল্যাপেজ

4
পবিত্র করপ এই দ্রুত এবং ভয়ঙ্কর।
কনস্টান্টাইনেকে

4
@ হবস আপনাকে খুশী হয়েছে যে আপনি এটি কার্যকর পেয়েছিলেন। : ডি
শেঠ রেনো

4
@ শেথরেনো আমার ডিবি = এসএমও-তে দুর্নীতিগ্রস্থ সিস্টেমে সূচকগুলি কোনও স্ক্রিপ্ট আউট করতে পারে না, আপনার স্ক্রিপ্টটি করতে পারে, তাই ম্যানুয়ালি আমাকে ক্রেপ করার সময় অনেকটা সময় বাঁচাতে পারে। বিটিডাব্লু, এসএসএমএসের চেয়ে 1000x দ্রুত এবং সকলেরই চিত্তাকর্ষকভাবে দ্রুত বিপরীত প্রকৌশল, এটি এসএমওর চেয়ে নিজেই দ্রুত বলে মনে হয় (শুরুর সময় কম হওয়ার কারণে নয়)।
কনস্টান্টাইনেকে

4

আমি এই কাজের জন্য একটি ইউটিলিটি লিখেছিলাম, এসএমওস্ক্রিপ্ট

স্ক্রিপ্ট জেনারেশন এসএমও গ্রন্থাগার দ্বারা সঞ্চালিত হয় এবং এসকিউএল 2005 এবং 2008 এ নতুন অবজেক্টের ধরণগুলিকে সমর্থন করে।


হুম আমি আপনার স্মার্ট অ্যাপটি আমার ভিস্তার -৪-বিটে ইনস্টল করেছি installed সফল ইনস্টল কিন্তু আমি আমার কর্মসূচি ডিরেক্টরি বা সকল প্রোগ্রাম তালিকা থেকে একটি আইটেম দেখতে না
PositiveGuy

3

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

কেন?

  • আমাদের এসকিউএল সার্ভার 2000, 2005 এবং 2008 এ ইনস্টলেশনগুলি সমর্থন করতে হবে এবং সংস্করণগুলির মধ্যে ডেটা ধরণের পরিবর্তন রয়েছে যেমন 2005+ এর এনভারচার (সর্বাধিক) রয়েছে, যেখানে 2000 কেবলমাত্র নেক্সটকে সমর্থন করে। সুতরাং আমাদের স্ক্রিপ্টগুলি একটি টোকেন ব্যবহার করে এবং ডিবি পছন্দ অনুসারে সঠিক ধরণের সাথে প্রতিস্থাপন করে।
  • কিছু স্ক্রিপ্ট কার্যকর করার জন্য মৃত্যুদন্ড কার্যকর হওয়ার পরে অপেক্ষা সময়ের প্রয়োজন, যেমন আমরা খুঁজে পেলাম যদি আপনি কোনও স্ক্রিপ্টের মাধ্যমে একটি নতুন ডাটাবেস তৈরির পরে কয়েক সেকেন্ড অপেক্ষা না করেন তবে এসকিউএল সার্ভার কখনও কখনও ব্যর্থ হতে পারে (কারণ এটি ডিবি তৈরির সময় পায় নি) ফাইলগুলি) যখন এটি সারণী ইত্যাদি তৈরি করতে শুরু করে etc.
  • আমরা কী স্ক্রিপ্টগুলি কার্যকর করা হয়েছিল এবং কখন তার ইতিহাস বজায় রাখতে চেয়েছিলাম।
  • আমরা আমাদের উইক্স এমএসআই ইনস্টলারকে সংযোগের স্ট্রিং এবং শংসাপত্রগুলি নির্দিষ্ট করার অনুমতি দিতে চেয়েছি এবং এগুলি স্ক্রিপ্টগুলিতে পাস করার জন্য কিছু উপায়ের প্রয়োজন ছিল, তাই আবারও টোকেন এবং কিছু শর্তযুক্ত যুক্তি ব্যবহার করে।

উদাহরণ স্ক্রিপ্ট (ব্রেভিটির জন্য সম্পাদিত)

-- Sleep: 5 
-- Sleep after creating database to allow file system to create db files
CREATE DATABASE [$Database$]
GO

EXEC sp_dbcmptlevel [$Database$], $CompatabilityLevel$
GO

USE [$Database$]
GO

IF '1'!='$IntegratedSecurity$'
BEGIN
    CREATE LOGIN [$Login$] WITH PASSWORD=N'$Password$', DEFAULT_DATABASE=[$Database$]
    CREATE USER [$User$] FOR LOGIN [$Login$]
    EXEC sp_addrolemember N'db_owner', N'$User$'
END
GO

1

আমি রেডগেট এসকিউএল প্যাকেজারটি দেখার পরামর্শ দিই। এটি নিখরচায় নয়, তবে দামের জন্য যথেষ্ট কার্যকর হয়েছে।


1

সারণী ডেটা দেখার জন্য, ম্যানেজমেন্ট স্টুডিও 2012 এবং 2014-তে সমস্ত টেবিল ডেটা সামগ্রীকে আউটপুট করতে, এটি কিছুটা গোপন তবে আমি কিছু দেখার পরেও বিকল্পটি পেয়েছি:

  1. ডিবিকে ক্লিক করুন
  2. 'কার্য' নির্বাচন করুন> 'স্ক্রিপ্ট তৈরি করুন ...'
  3. 'স্ক্রিপ্টিং বিকল্প সেট করুন' তে, 'উন্নত' ক্লিক করুন
  4. 'জেনারেল' এর অধীনে, 'স্ক্রিপ্টে ডেটা প্রকারের' সেট করুন সত্য (এটি 'জেনারেল' গোষ্ঠীর নীচে রয়েছে)

0

যদি আপনাকে প্রোগ্রামটিভভাবে এটি করার দরকার হয় তবে আপনি এসকিউএল সার্ভার 2000 এর বিপরীতে এসকিউএল ডিএমও লাইব্রেরি (ওএলই) ব্যবহার করতে পারেন তবে এসকিউএল এসএমও লাইব্রেরি (নেটিভ। নেট গ্রন্থাগারগুলি) এসকিউএল সার্ভার 2005 এবং তার পরে ব্যবহার করার ইচ্ছা বেশি।

এই উভয় লাইব্রেরি এসকিউএল সার্ভার প্রশাসনিক সরঞ্জাম ইনস্টলের সাথে অবিচ্ছেদ্য।

এটি ক্ষেত্রে এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও থেকে সম্পূর্ণ ডাটাবেস স্ক্রিপ্ট অপর্যাপ্ত।

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