PDA

View Full Version : سوال: چند تا سوال مهم و ساده در مورد sql در پروژه ها



esibarnamenevis
جمعه 25 اسفند 1391, 15:11 عصر
باسلام
بنده چند تا سوال مجزا داشتم لطفا به صورت جدا راهنمایی کنید. این تاپیک صرفا جهت استفاده از تجربیات دوستان هستش پس در صورت نیاز توضیحات بیشتری هم اریه شود بد نیست.
شاید سوالاتم پیش پا افتاده باشه ولی خیلی به جواب صحیح آنها نیاز دارم و از همه کسانی که دقیق میدونند درخواست راهنمایی دارم
در ضمن خیلی جستجو کردم ولی به جواب همه سوالاتم نرسیدم پس گفتم بهتره یه تاپیک بزنم (دیگه نگید اول سرچ میکردید بعد تاپیک میزدید)

1-بانک اطلاعاتی sql ورژن های بالا مثلا 2012 ورژن هایی پایین تر مثلا 2000 ، 2005 و 2008 رو ساپورت میکنه و با اتچ کردن و کار کردن با ورژن های پایین تر مشکلی نداره (اگه خودتون تست کردید جواب بدید)؟

2-اگه جواب سوال یک منفی است(یعنی با ورژن های پایین تر مشکل داره) من چند تا بانک اطلاعاتی 2000 و 2005 2008 رو دارم میخوام اتچ کنم و باهاشون کار کنم در این صورت باید چکار کنم ، باید همه ورژن هارو نصب کنم یا راه دیگه ای است؟خودتون باشید چکار می کنید؟

3-sql express چطور ، با sql management مشکل نداره؟ یعنی می تونم express رو در management اتچ کنم و باهاش کار کنم ، در ورژن های مختلف چطور با ورژن های مختلف management مشکل نداره ؟

4- اگه بخوام بانک پرتابل داشته باشم باید چکا کنم ،توصیه شما برای بانک اطلاعاتی sql پرتابل و قابل حمل که نیاز به نصب sql نباشه چیه(البته به جز اکسس و لایت)؟ خیلی از برنامه رو می بینم که بانک دارن اما بعد از نصب بدون نصب کامپوننت یا بانک و ... از طرف کاربر به صورت خودکار ، کار میکنند؟

5-اگه بانک از نوع SQL Server Management Studio باشه میتونیم با sqlexpress اجرا کنیم و با هاش کارکنم و اطلاعات رو کم و زیاد یا دیزاین کنم ؟؟

6-اگر پایگاه داده ای می شناسید که engine اش embed باشد و بدون نیاز به هیچ dll و engine کار می کند لطفا کامپوننتش و نرم افزار مدیریتش را برای دانلود معرفی کنید.
مثلا در دلفی dbisam و absolute چنین ویژگی های را دارند اما من هر چی گشتم نسخه ای از ان ها برای C# نبود.

منتظر جوابتون هستم
باتشــــــــــــــــــــک ر

linux
جمعه 25 اسفند 1391, 15:47 عصر
کلا جای سوالتون اینجا نیست، در مورد sql server یا rdbms های دیگر مطلب بخوانید و مقایسه کنید همه چیز دستتون میاد

esibarnamenevis
جمعه 25 اسفند 1391, 16:49 عصر
کلا جای سوالتون اینجا نیست، در مورد sql server یا rdbms های دیگر مطلب بخوانید و مقایسه کنید همه چیز دستتون میاد

سلام

به جای این حرف اگه تونستید راهنمایی کنید دوست عزیز

قبلا هم گفتم سرچ کردم ولی به یک جواب درست و حسابی نرسیدم

بالاخره باید این چنین سوالات رو هرچند ساده رو باید پرسید شاید همین سوال برای کسی دیگه پیش بیاد باید بدون جواب بمونه ؟؟

در ضمن هدف استفاده از تجربه دوستان هستش

دوستان هر کی تونست راهنمایی کنه

linux
جمعه 25 اسفند 1391, 17:27 عصر
سلام

به جای این حرف اگه تونستید راهنمایی کنید دوست عزیز

قبلا هم گفتم سرچ کردم ولی به یک جواب درست و حسابی نرسیدم

بالاخره باید این چنین سوالات رو هرچند ساده رو باید پرسید شاید همین سوال برای کسی دیگه پیش بیاد باید بدون جواب بمونه ؟؟

در ضمن هدف استفاده از تجربه دوستان هستش

دوستان هر کی تونست راهنمایی کنه
عزیز برادر با توجه به نوع سوالات شما، اطلاعات شما در این مورد خیلی کم هست و نیاز هست که خودتان از منابع دیگر(مخصوصا کتاب) مطالعه کنید.

اگه بانک از نوع SQL Server Management Studio باشه میتونیم با sqlexpress اجرا کنیم و با هاش کارکنم و اطلاعات رو کم و زیاد یا دیزاین کنم
مثلا همین سوال! چیزی به اسم بانک از نوع این که گفتی نداریم. managment studio یک ابزار گرافیکی برای کار با sqlserver هست بجز این اگر بگردید ۱۰-۲۰ تا ابزار دیگر هم داریم. حتی در حالت command هم دستور osql.exe می‌تواند اکثر کارهایی که شما نیاز دارید را انجام دهد.
sqlserver نسخه های متفاوتی دارد که هر کدام کارکردهای خودشان را دارند. برای اطلاعات بیشتر اینجا را مطالعه کنید http://en.wikipedia.org/wiki/Microsoft_SQL_Server
نسخه compact edition (http://en.wikipedia.org/wiki/SQL_Server_Compact) یک نسخه جمع جوری هست که خیلی از نیازها را در برنامه‌های کوچک جواب خواهد داد که در حدود ۲-۳ مگابایت هست. sqlite هم هست که می‌توانید از آن استفاده کنید.

ali ghaemi
شنبه 26 اسفند 1391, 09:33 صبح
1- معمولا نسخه ی بانک های اطلاعاتی ایجاد شده با نسخه های قبلی رو پشتیبان می کنه ولی ممکنه نیاز باشه مواردی که در نسخه قدیم موجود بوده و از نسخه جدید حذف بشه اصلاح بشه .
2- کافیه آخرین نسخه را نصب کنید
3-بله می تونید کافیه که در قسمت مشخص کردن اطلاعات مربوط به سرور بانک اطلاعاتی در شروع Management Studio وارد کنید SQLEXPRESS
4-http://en.wikipedia.org/wiki/SQL_Server_Compact
5- Management Studio تنها یک ابزار است و با آن می توانید به هر نسخه ایی از SQL Server وصل شوید
6- نمی دونم

esibarnamenevis
شنبه 26 اسفند 1391, 10:10 صبح
سلام
ممنون از پاسخگویی شما

1- معمولا نسخه ی بانک های اطلاعاتی ایجاد شده با نسخه های قبلی رو پشتیبان می کنه ولی ممکنه نیاز باشه مواردی که در نسخه قدیم موجود بوده و از نسخه جدید حذف بشه اصلاح بشه .

1-ولی یه بانک که با ورژن 2005 بود رو هر کاری کردم با 2008 اتچ(اتصال) نشد! نظر شما چیه؟

2- کافیه آخرین نسخه را نصب کنید

2-الان نسخه های مختلف sql رو سیستم نصب کردم که نسخه های 2005 و 2008 هستند با توجه به جواب شما یعنی می تونم فقط نسخه 2008 یا جدیدترین نسخه یعنی 2012 رو نصب کنم و بقیه ورژن ها حذف کنم ؟
هیچ مشکلی نداره ؟
3-بعضی از هاست ها آپدیت نیستند و هنوز با ورژن 2005 کار میکنند اگه ورژن بالاتر مثلا 2008 یا 2012 رو سیستم نصب باشه چطور بانک رو ایجاد کنم که با ورژن 2005 بدون خطا اتصال بشه؟
4- اگه Management Studio رو سیستم نصب نباشه میتونم با sqlexpreess خود ویژوال استویو بانک رو اتچ کنم؟

veniz2008
شنبه 26 اسفند 1391, 10:34 صبح
[COLOR="lime"]

1-بانک اطلاعاتی sql ورژن های بالا مثلا 2012 ورژن هایی پایین تر مثلا 2000 ، 2005 و 2008 رو ساپورت میکنه و با اتچ کردن و کار کردن با ورژن های پایین تر مشکلی نداره (اگه خودتون تست کردید جواب بدید)؟

سلام.
بهتر بود در تالار sql سوالاتتون رو می پرسیدید. این بار نیز چون دیگر بار بگذریم...
شما اگه sql server 2012 نصب کنی باهاش میتونی هر دیتابیسی که ورژنش کوچکتر-مساوی ( => ) از sql نصب شده باشه رو اجرا کنی. پس براحتی میتونی 2000 و 2005 و 2008 رو با sql 2012 اتچ و اجرا کنی.


3-sql express چطور ، با sql management مشکل نداره؟ یعنی می تونم express رو در management اتچ کنم و باهاش کار کنم ، در ورژن های مختلف چطور با ورژن های مختلف management مشکل نداره ؟دوستمون linux اشاره ای به این موضوع کردن. این دو مورد ارتباطی با هم ندارن. managment studio فقط یه پنجره گرافیکی هست که کاربر رو معاف از کدنویسی میکنه و کاربر راحت میتونه مثلا از طریق design جدول طراحی کنه و نیازی به کدنویسی کردن برای تولید جدول نداره.


4- اگه بخوام بانک پرتابل داشته باشم باید چکا کنم ،توصیه شما برای بانک اطلاعاتی sql پرتابل و قابل حمل که نیاز به نصب sql نباشه چیه(البته به جز اکسس و لایت)؟ خیلی از برنامه رو می بینم که بانک دارن اما بعد از نصب بدون نصب کامپوننت یا بانک و ... از طرف کاربر به صورت خودکار ، کار میکنند؟نیازی به نصب نسخه کامل sql در سیستم مقصد نیست. کافیه یه نسخه express از همون ورژن دیتابیس رو بر روی سیستم مقصد نصب کنید. (فایل های ستاپ شده همین کار رو انجام میدن. موقع نصب برنامه یه نسخه express از sql رو نصب میکنن).

5-اگه بانک از نوع SQL Server Management Studio باشه میتونیم با sqlexpress اجرا کنیم و با هاش کارکنم و اطلاعات رو کم و زیاد یا دیزاین کنم ؟؟همونطور که دوستمون گقتن نوعی به نام managment studio وجود نداره. برای استفاده از دستورات sql مثل درج و حذف و ... به یک سرویس دهنده sql نیاز دارید که نسخه express هم این کار رو میتونه انجام بده.
از بین نسخه های مختلف sql server کاملترین نسخه، نسخه Enterprise هست که معمولا بر روی ویندوز سرور نصب میکنن ولی برای کاربران خانگی بهترین گزینه ها نسخه standard و نسخه developer هست که developer تقریبا تمامی امکانات نسخه enterprise رو داره. در این مورد قبلا در سایت بحث شده که میتونید فرق این نسخه ها رو بطور کامل مطالعه کنید.
موفق باشید.

esibarnamenevis
شنبه 26 اسفند 1391, 11:02 صبح
ممنون از جواب های veniz2008

1-پس الان که نسخه های مختلف sql رو سیستم نصب کردم (نسخه های 2005 و 2008 هستند) با توجه به جواب شما یعنی می تونم فقط نسخه 2008 یا جدیدترین نسخه یعنی 2012 رو نصب کنم و بقیه ورژن ها رو حذف کنم ؟
هیچ مشکلی نداره ؟
2-بعضی از هاست ها آپدیت نیستند و هنوز با ورژن 2005 کار میکنند اگه ورژن بالاتر مثلا 2008 یا 2012 رو سیستم نصب باشه چطور بانک رو ایجاد کنم که با ورژن 2005 بدون خطا اتصال بشه؟

veniz2008
شنبه 26 اسفند 1391, 11:26 صبح
ممنون از جواب های veniz2008

1-پس الان که نسخه های مختلف sql رو سیستم نصب کردم (نسخه های 2005 و 2008 هستند) با توجه به جواب شما یعنی می تونم فقط نسخه 2008 یا جدیدترین نسخه یعنی 2012 رو نصب کنم و بقیه ورژن ها رو حذف کنم ؟
بله.

2-بعضی از هاست ها آپدیت نیستند و هنوز با ورژن 2005 کار میکنند اگه ورژن بالاتر مثلا 2008 یا 2012 رو سیستم نصب باشه چطور بانک رو ایجاد کنم که با ورژن 2005 بدون خطا اتصال بشه؟
در اون هاست رو باید گل گرفت که تا sql 2005 بیشتر پشتیبانی نمیکنه. یکیش همین "طلا هاست" هست. خوب پول میگیره، خوب وقت آدمو واسه آپلود میگیره،خوب خوب هم کفر آدمو درمیاره. کلا همه چیزش خوبه!!!. حالا در مقابل یه هاست رایگان مثل somee رو آدم می بینه و مقایسه میکنه با همین "طلا هاست". سامی با sql 2012 و net 4.5. رو هم ساپورت میکنه. واقعا فکر اونا کجاست و فکر اینا کجاست.
من راهی واسه مچ کردن نمیدونم شاید بقیه دوستان اطلاع داشته باشن.
موفق باشید.

esibarnamenevis
شنبه 26 اسفند 1391, 13:02 عصر
zare69 گفته:
سلام
1-بله ساپورتش میکنه برای 2005و2008 خودم امتحان کردم ولی برای 2000 نمیدونم ولی درکل ورژن های بالاتر ورژن پائین تر را ساپورت می کنه
2-نه همون ورژن 2012 را نصب کن مابقی ساپورت میکنه
3-از بانک اطلاعاتی sqlexpress استفاده کن هنگام نصب برنامه روی سیستم کاربر نصب میشه(همراه با EXEبرنامه است)
4-بله امکانش هست خیلی راحت
5-خوب از همون sqlexpressاستفاده کن Dll خاصی هم نیاز نداره فقط باید هنگام ستاب گیری تیک sqlexpress را در پیش نیازها بزنی
6-بله میتونی همه را پاک کن جز 2012و راحت باهاش کار کن(الان به راحتی میتونی باهمشون همزمان کار کنی!!!؟فکر کنم فقط یکیشو میتونی کامل نصب کنی)
7-شما فقط Sqlعوض میکنید بانکتون همون که خطای نباید وجود داشته باشه هیچ فرقی با قبلی نمیکنه
8-آره میشه
امیدوارم به دردتون بخوره البته اگر دیگه سوالی بود درخدمتم

esibarnamenevis
شنبه 26 اسفند 1391, 13:03 عصر
FastCode گفته:
1.بله
۲.من همیشه قدیمی ترین ورژن ممکن رو نصب میکنم چون سبکتره.به جز ۲۰۰۰چون مشکل امنیتی داره(helkern)
۳.SQLite3 خیلی قویتر از چیزیه که فکر میکنید.خیلی.
۴.سوالتون مفهوم نیست.ولی SQLExpress و SQL Server Management Studio هر دو مجانی هستند و چند نسخه هم دارند که با هم ادغام شده اند.میتونید از اونها استفاده کنید.
۵.C#‎ اینقدر ها هم قوی نیست.من کامپوننتی رو نمیشناسم.
۶.نباید مشکلی پیش بیاد.
۷.خیلی سخته.باید اطلاعاتتون رو به شکل Script منتقل کنید.یا از برنامه هایی شبیه چیزهایی که شرکت rg تولید میکنه استفاده کنید.
۸.بله.با دستور


من هم باید بگم بهتره مطالعه کنید.

پیغام خودتون و من رو هم در کی پست بزارید داخل تالار که بقیه هم استفاده کنند.
ممنون.

esibarnamenevis
شنبه 26 اسفند 1391, 13:04 عصر
neegar گفته:
سلام
من خودم از SQL Server Management Studio 2008 استفاده می کنم و تا به حال با مشکلی برخورد نکردم.
برای اتچ کردن Backup دیتابیس از یه ورژن به ورژن دیگه شاید مشکل پیش بیاد (میتونی تست کنی) اما می تونید از اسکیریپت دیتابیست کپی کنی و اونو توی یه بانک دیگه اجرا کنی اینطوری مشکل خاصی پیش نمیاد مگر اینکه از دستوری استفاده کرده باشی که اون ورژن ازش پشتیبانی نکنه که در اینصورت می تونی معادل همون دستور رو توی اون ورژن پیدا کنی و جایگزین کنی و اگر معادلش هم نباشه یه تابع براش بنویس که همون عملیات رو برات انجام بده و هی صداش بزن.
اگه از اسکریپت هات استفاده کنی میتونی توی همه ورژن ها و همه نوع SQL ها ازش استفاده کنی .
فکر کنم که تقریبا همه ی هاست ها از 2005 ، 2008 و ... رو پشتیبانی کنند و اصلا به 2000 پایین تر نیازی نباشه و اینکه هاست ها از چند ورژن پشتیبانی کنند نه اینکه مختص یک ورژن باشند.
فکر نکنم اینکه تو همه ورژن ها رو روی کامپیوترت نصب کنی درست باشه !!!!

esibarnamenevis
شنبه 26 اسفند 1391, 13:05 عصر
جناب حمیدرضاصادقیان گفته:
-بانک اطلاعاتی sql ورژن های بالا مثلا 2012 ورژن هایی پایین تر مثلا 2000 ، 2005 و 2008 رو کامل ساپورت میکنه و با اتچ کردن و کار کردن با ورژن های پایین تر مشکلی نداره (خودتون تست کردید)؟
برای ارتقا به نسخه 2012 باید دومرحله ارتقا بدید. یعنی از نسخه های پایین تر از 2008 به 2008 بعد دوباره یک Backup بگیرید و به 2012 انتقال بدید. در زمینه کار کردن نیز مشکلی باهاش وجود نداره و مانند قبلی هاست فقط امکاناتی بهش اضافه شده.

اگه بخوام بانک پرتابل داشته باشم باید چکار کنم ،توصیه شما برای بانک اطلاعاتی sql پرتابل و قابل حمل که نیاز به نصب انجین sql نباشه چیه(البته به جز اکسس و لایت)؟ خیلی از برنامه رو می بینم که بانک دارن اما بعد از نصب بدون نصب کامپوننت یا بانک و ... از طرف کاربر به صورت خودکار ، کار میکنند؟
در مورد این سوال باید بگم چاره ای به جز نصب Engine نیست مگر اینکه تحت وب بخواهید کار کنید که دیتابیس رو از روی وب بخونید. برای نصب انجین نیز کاربر چیزی متوجه نمیشه وکار نرم افزار Setup می باشد.
یا اینکه بخواهید از نسخه Lite استفاده کنید.

-اگه بانک از نوع SQL Server Management Studio باشه میتونیم با sqlexpress اجرا کنیم و با هاش کارکنم و اطلاعات رو کم و زیاد یا دیزاین کنم ؟؟
SQL Server Management Studio بانکی نیست و یک ابزاره که به صورت Visual کار میکنه و میتونه با هر Engine نصب شده ای ارتباط برقرار کنه و کارهایی که فرمودین رو انجام بده.

اگر پایگاه داده ای می شناسید که engine اش embed باشد و بدون نیاز به هیچ dll و engine کار می کند لطفا کامپوننتش و نرم افزار مدیریتش را برای دانلود معرفی کنید.
مثلا در دلفی dbisam و absolute چنین ویژگی های را دارند اما من هر چی گشتم نسخه ای از ان ها برای C#‎‎‎‎‎‎ نبود.
متاسفانه به جز SQL Lite مورد دیگه ای رو نمیشناسم.

الان نسخه های مختلف sql رو سیستم نصب کردم که نسخه های 2005 و 2008 هستند، می تونم فقط نسخه 2008 یا جدیدترین نسخه یعنی 2012 رو نصب کنم و بقیه ورژن ها حذف کنم ؟
هیچ مشکلی نداره ؟
بله میتونید. به شرط اینکه برای بروز رسانی موردی که در سوال اول عرض کردم رو رعایت کنید.
البته خودم برای تست همه Engine ها رو دارم ولی شما میتونید حذف کنید و مشکلی نیز نخواهید داشت.

7-بعضی از هاست ها آپدیت نیستند و هنوز با ورژن 2005 کار میکنند اگه ورژن بالاتر مثلا 2008 یا 2012 رو سیستم نصب باشه چطور بانک رو ایجاد کنم که با ورژن 2005 بدون خطا اتصال بشه؟
برای این موردکاری نمیتونید بکنید مگر اینکه از Import/Export استفاده کنید یا اینکه یک Engine 2005 داشته باشید.

اگه Management Studio رو سیستم نصب نباشه میتونم با sqlexpreess خود ویژوال استویو بانک رو اتچ کنم؟
بله میتونید اینکارو بکنید.به جز این SQL Server یک دستور به نام OSQL داره که Command هست که باید از طریق Commant Prompt باهاش کار کنید.

موفق باشید.