سلام،
قبل از هر چیز فقط برای روشن شدن بحث عرض کنم که Visual Studio، SQL Server و .Net Framework سه تا حوزه ی جدا هستن. یعنی اگر جایی یکی نصب باشه دیگری الزاما نصب نیست. مثلا اگر .Net Framework جایی نصب باشه، الزاما SQL Server هم اونجا نصب نیست و این قضیه باید تو Installer مد نظر قرار بگیره.1- اگه من با همون SQL Server داخلی ویژوال استودیو یک نرم افزار ایجاد کنم فکر کنم مشکلی نداره اما اگه با SQL Server 2019 چه نسخه Enterprise و چه نسخه Standard پایگاه داده هایی ایجاد کنم و بعد به نرم افزار ارتباط بدم و در نهایت یک فایل setup مثلا با install shield بسازم آیا سیستم هایی که می خوان نرم افزار من رو نصب کنن حتما باید SQL Server Enterprise یا Standard روشون نصب بشه یا اینکه با همون .NETFramework مشکل حل می شه یا اینکه توی فایل setup که ایجاد می کنم خودش اتوماتیک SQL Server مورد نظر داخلش قرار می گیره.
بنده خیلی وفته با Install Shield کار نکرد ولی قبلا این روند اتوماتیک نبود. یعنی باید نصاب SQL Server (هر نسخه ای) به Install Shield اضافه میشد به طوری که حین نصب برنامه ی شما، SQL Server هم نصب میشد و بعد از اون باید یه سری SQL Script اجرا میشد تا پایگاه های داده در SQL Server تشکیل بشن. الان هم بعید میدونم این روند آسون تر شده باشه!
ولی این که شما پایگاه داده رو داخل SQL Server Enterprise ایجاد کردی و دیگری میخواد داخل نسخه ی Express استفاده کنه بحث متفاوتیه. این سوال بستگی داره که چه قابلیت هایی از نسخه ی Enterprise به کار گرفته شده. مثلا اگر پایگاه داده شما خیلی حجیمه (بالای ده گیگابایت)، داخل نسخه ی Express بارگزاری نمیشه. به عبارتی اگر قابلیت های به کار گرفته شده در هر دو نسخه پشتیبانی بشن، مشکلی نیست.
این سوال خیلی کلیه. نکته اینه که SQL Server قدیمی معمولا از نسخه های جدید تر پشتیبانی نمی کنه (این که میگم معمولا به خاطر اینه که گقتی لینک نذار وگرنه جدول هاش وجوده که هر نسخه با چه نسخه هایی هماهنگه) ولی ترفند هایی هست که بشه این کار رو کرد که یکی از اون استفاده از SQL Scriptه.2- اگه با SQL Server 2019 پایگاه داده ایجاد کنم طرف مقابل می تونه با SQL Server 2016 پایگاه داده من رو استفاده کنه و یا بر عکس این موضوع.
اگر بحث مهاجرت پایگاه داده باشه (که فکر منظورت همین بود)، این مهاجرت به راه های مختلفی انجام میشه و برای هر راه مهاجرت می تونه ممکن یا ناممکن باشه؛ مثلا:
اگر مهاجرت با فایل هستش مثلا MDF، مهاجرت از نسخه ی جدید به قدیم ممکن نیست ولی عکش ممکته.
اگر مهاجرت با اسکریپت هستش، مهاجرت چه از نسخه ی جدید به قدیم و چه بلعکس (معمولا) ممکنه.
اگر بحث مهاجرت پیکره بندی (مانند Agent Job) باشه، معمولا این کار با اسکریپته که مهاجرت چه از نسخه ی جدید به قدیم و چه بلعکس (بازم معمولا) ممکنه.
قابلیت های خیلی مختلفی که توسط نسخه های Standard و Enterprise پشتیبانی میشه ولی در نسخه ی Express نه و این که شما چه قابلیت هایی رو نیاز داره، تعیین کننده ی نسخه ی مورد نظر شماست. مثلا در نسخه ی Enterprise میشه از تمام هسته ی های پردازنده استفاده کرده ولی نسخه ی Express محدودیت داره. یا حجم پایگاه داده در نسخه ی Express به حداکثر 10 گیگابایت محدود میشه.3- کلا تا چه نوع نرم افزارهایی SQL Server داخلی خود سی شارپ جواب میده و از چه مرحله ای به بعد باید از نسخه نصبی Enterprise یا Standard استفاده کنیم. خود اینکه کجا از Standard و کجا از Enterprise هم استفغاده کنیم یک بحث دیگه است.
وقتی SQL Server نصب میشه، وظیفه اش اجرای فرمان ها و ارسال پاسخ فرمان ها به درخواست کننده است. حالا سوال اینجاست که فرمان ها چطوری به SQL Server ارسال میشن! یکی از راه ها sqlcmd هستش که یه محیط کنسولی برای تعامل با SQL Server فراهم می کنه. مثلا میشه با این محیط تعیین کرد هر چند وقت یه بار از فلان پایگاه داده، نسخه ی پشتیبان تهیه بشه. SQL Management Studio رو تقریبا میشه محیط گرافیکی sqlcmd تعریف کرد. وجود Management Studio یه گزینه ی اختیاری و اجباری به بودنش نیست.4- یک نرم افزار دیگه به نام SQL Server Management Studio است که نمی دونم تفاوتش با SQL Server 2019 چیه و از نظر کاربرد چه فرقی می کنه
سوالات 5 تا 7 رو هم در تاپیک جدا مطرح کنی ازت ممنون میشم.
Bookmarks