PDA

View Full Version : دسترسی به بانک در سیستم دیگر



programmermp
شنبه 04 شهریور 1385, 23:13 عصر
با سلام

فرض کنید که من می خوام برنامم رو روی یک سیستم دیگه نصب کنم

پس از نصب برنامه اون رو اجرا می کنم اما مشکل اینجاست که من نمی دونم که فایل

بانک اس کیو ال رو باید کجای هارد دیسک کامپیوتر مقصد یا در صورت شبکه در سرور

کپی کنم

واقعا گیج شدم تاپیک های زیادی مطرح شده و همه رو هم مطالعه کردم ولی همش گفتید

که باید از بانک اطلاعاتی backup بگیر ی و دوباره بازیابی کنی

آخه من وقتی نمی دونم کجا باید فایل ها رو کپی کنم .......................

ببینید من برای دسترسی به بانک از کانکشن استرینگ زیر استفاده می کنم

strcon = "Data Source=.;Initial Catalog=mp;Integrated Security=True"

همانطور که می بینید در اون اصلا مسیر قرار گرفتن بانک مشخص نیست

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

باید در همون مسیری باشه که در هارد خودم هست یعنی در مسیر زیر

D:\Microsoft SQL Server\MSSQL.1\MSSQL\Data

مسیر فوق مسیری است که اس کیو ال سرور در انجا نصب شده

تو رو خدا یک کمکی بکنید واقعا موندم چکار کنم

با تشکر

programmermp
یک شنبه 05 شهریور 1385, 00:42 صبح
یکی به سئوال من جواب بده

programmermp
یک شنبه 05 شهریور 1385, 08:50 صبح
هیچ کس بلد نیست جواب بده

whitehat
یک شنبه 05 شهریور 1385, 09:13 صبح
شما می توانید هر جایی آنرا کپی کنید ولی در انتها باید فایل های خود را به پایگاه داده Attach کنید.در ضمن در Connection String هم باید User ی که مجوز دسترسی به پایگاه داده را دارد اضافه کنید.

programmermp
یک شنبه 05 شهریور 1385, 09:17 صبح
با سلام و تشکر از شما

منظور از attach کردن چیه و چطور ی می شه این کار رو کرد

whitehat
یک شنبه 05 شهریور 1385, 09:40 صبح
قبلا در این مورد بحث شده.ولی من بطور خلاصه اینجا می نویسم :
در Sql Server Enterprise Manager بر روی Database در زیر نام سرور خورد کلیک راست کنید.
در All Task قسمت Attach Database را انتخاب کنید.
مسیر فایل های mdf را به آن بدهید و برای اطمینان گزینه Verify را انتخاب کنید
اطلاعات مربوط به پایگاه داده خود را در صفحه زیر مشاهده می کنید
Owner پایگاه داده را انتخاب کرده و ok کنید.
در این لحظه شما پایگاه داده خود را در لیست پایگاه داده ها می بینید و می توانید از آن استفاده کنید.
این روش در sql2000 بود در 2005 هم به همین طریق است ولی شکل ظاهری پنجره ها کمی عوض شده.
موفق باشید

programmermp
یک شنبه 05 شهریور 1385, 09:46 صبح
آقا بسیار متشکر

اما یک سئوال دیگه اونم اینه که من با sql server 2005 developer برنامه و بانکم رو طراحی

کردم حالا می تونم از sql server enterprise 2003 یا 2004 به جای 2005 استفاده کنم

مشکلی پیش نمی اید

با تشکر

whitehat
یک شنبه 05 شهریور 1385, 10:05 صبح
دوست قبلی جواب سوال شما را دادند! شما باید ببینید که از چه نسخه ای استفاده کردید.
بر روی Database کلیک راست کنید (در 2005) در قسمت Options ببینید Compatibility بر روی چه تنظیم شده ؟ اگر بر روی SQL Server 2000(80) مشکلی ندارید در غیر اینصورت اگر بر روی 2005 تنظیم شده باشد نمی توانید از آن در 2000 استفاده کنید.
پ.ن : نسخه 2004 نداریم!
موفق باشید

programmermp
یک شنبه 05 شهریور 1385, 10:19 صبح
بنابراین برای وصل کردن دیتابیس به sql server هیچ راهی جز را ه پیشنهادی شما

وجود نخواهد داشت درسته
--------------------
یه سئوال دیگه مطرح می کنم چون ربط به دیتا بیس و sql server داره

دستورات sql مربوط به گرفتن backup و بازیابی رو برای من بنویسید


دستور backup رو دیدم ولی دستور بازیابی رو توی تالار پیدا نکردم

با تشکر

reza_rad
یک شنبه 05 شهریور 1385, 10:42 صبح
بنابراین برای وصل کردن دیتابیس به sql server هیچ راهی جز را ه پیشنهادی شما

وجود نخواهد داشت درسته

چرا!
راه بک آپ گیری هم هست...
هم با کدنویسی میشه و هم با استفاده از خود enterprise manager
راه با استفاده از enterrise manager :
روی دیتا بیس راست کلیک کنید و all task و بعد backup ...
برای بازیابی روی مقصد :
روی دیتابیسها راست کلیک کنید و باز alltask و بعد restore
حواستون باید باشه توی این روش حتما دیتابیس رو با نام اصلیش restore کنید.



RESTORE DATABASE { database_name | @database_name_var }
[ FROM <backup_device> [ ,...n ] ]
[ WITH
[ { CHECKSUM | NO_CHECKSUM } ]
[ [ , ] { STOP_ON_ERROR | CONTINUE_AFTER_ERROR } ]
[ [ , ] FILE = { backup_set_file_number | @backup_set_file_number } ]
[ [ , ] KEEP_REPLICATION ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword |
@mediapassword_variable } ]
[ [ , ] MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' ]
[ ,...n ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] ENABLE_BROKER ]
[ [ , ] ERROR_BROKER_CONVERSATIONS ]
[ [ , ] NEW_BROKER ]
[ [ , ] { RECOVERY | NORECOVERY | STANDBY =
{standby_file_name | @standby_file_name_var }
} ]
[ [ , ] REPLACE ]
[ [ , ] RESTART ]
[ [ , ] RESTRICTED_USER ]
[ [ , ] { REWIND | NOREWIND } ]
[ [ , ] { UNLOAD | NOUNLOAD } ]
[ [ , ] STATS [ = percentage ] ]
[ [ , ] { STOPAT = { date_time | @date_time_var }
| STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }
[ AFTER datetime ]
| STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }
[ AFTER datetime ]
} ]
]
[;]

<backup_device> ::=
{
{ logical_backup_device_name |
@logical_backup_device_name_var }
| { DISK | TAPE } = { 'physical_backup_device_name' |
@physical_backup_device_name_var }
}

این هم لینکش:
http://msdn2.microsoft.com/en-us/library/ms186858.aspx

msg_roz
یک شنبه 05 شهریور 1385, 17:20 عصر
سلام دوستان
یه برنامه نوشتم که باید به صورت چند کاربره و تحت شبکه کار کنه. روی سرور اجرا میشه ولی متاسفانه روی کلاینت که اجرا می کنم نمی تونه سرور رو ببینه و پیام "Sql Server does not exist or access denied" ظاهر می شه.
در ضمن روی کلاینت هم از روی سی دی بخش کلاینت SQL رو نصب کردم که بازم نشد
اگه لطف کنید و کمکم کنید ممنونتون میشم
خیلی حیاتیه.
بازم ممنون

rezaei manesh
یک شنبه 05 شهریور 1385, 18:31 عصر
ربطی نداره که تو کلاینت هم sql نصب کنی باید کانکشن استرینگ تو درست کنی یعنی نام سیستم و نام سرور رو تو کانکشن بذاری اگه جستجو کنه نمونه هست