ورود

View Full Version : مشکل در detach کردن اس کیوال



mojtaba091433
یک شنبه 19 دی 1400, 18:48 عصر
سلام و خداقوت
کد زیر برای detach کردن دیتابیس اسفاده میکنم ولی نه خطا میده نه عمل میکنه البته وقتی میخام attach کنم با همین کد با تغییر detach به attach کار میکنه

ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=RAZAVI-PC';
ADOConnection1.Connected:=true;




ADOCommand1.CommandText := 'EXEC sp_detach_db 1399 '
+ ', '
+ '''' + ExtractFilePath('F:\faktorf1.3\db\1\') + '1399.MDF' + ''''
+ ', '
+ '''' + ExtractFilePath('F:\faktorf1.3\db\1\') + '1399_Log.LDF' + '''';

ADOCommand1.Execute;

یوسف زالی
دوشنبه 20 دی 1400, 10:35 صبح
سلام
1399 رو بصورت [1399] بنویسید و دوباره امتحان کنید.
اگر باز هم درست نشد، کد رو روی خود اس کیو ال در محیط management studio ران کنید ببینید چه اروری می ده

hp1361
یک شنبه 26 دی 1400, 07:22 صبح
سلام و خداقوت
کد زیر برای detach کردن دیتابیس اسفاده میکنم ولی نه خطا میده نه عمل میکنه البته وقتی میخام attach کنم با همین کد با تغییر detach به attach کار میکنه

ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=RAZAVI-PC';
ADOConnection1.Connected:=true;




ADOCommand1.CommandText := 'EXEC sp_detach_db 1399 '
+ ', '
+ '''' + ExtractFilePath('F:\faktorf1.3\db\1\') + '1399.MDF' + ''''
+ ', '
+ '''' + ExtractFilePath('F:\faktorf1.3\db\1\') + '1399_Log.LDF' + '''';

ADOCommand1.Execute;

پروسه Attach و Detach کردن جزو موارد ی هستند که باید توسط DBA انجام بشه. از خیر انجام اون توسط برنامه بگذرید چون چیزی جز دردسر برای شما نداره(این از اون نه هاییست که برنامه نویس باید محکم بگه!)

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

یوسف زالی
یک شنبه 26 دی 1400, 10:31 صبح
چطور چنین حرفی رو می زنید؟
https://delphi.cjcsoft.net/viewthread.php?tid=49214

این کار شدنیه، بماند که چرا باید از نرم افزار انجام بشه ولی کاملا شدنی و ساده است.