منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
إغلاق قاعدة البيانات قبل نسخها - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94)
+--- قسم : Microsoft SQL Server (http://vb4arb.com/vb/forumdisplay.php?fid=171)
+--- الموضوع : إغلاق قاعدة البيانات قبل نسخها (/showthread.php?tid=41773)

الصفحات: 1 2 3


RE: إغلاق قاعدة البيانات قبل نسخها - سعود - 23-06-22

اخي الكريم البرنامج Server Management Studio هذا ادارة السيرفر فاذا لم يتصل هو بالسيرفر لن يجد اي ملفات فلا بد ان السيرفر نفسه يتصل به.
الان احاول تعديل المثال لكي يعمل detach  و  attach

اذا تم المثال بشكل جيد ارفعه باذن الله.



الان جربت الـ  attach و نجح



RE: إغلاق قاعدة البيانات قبل نسخها - أبو خالد الشكري - 24-06-22

مرحبا أستاذ سعود

لن يمكنني الاستفادة من أي تطبيق يرتبط بالسيرفر
أنا أحب الحرية Freedom

أريد أكواد تعمل نسخ وأخرى تعمل استرجاع لقاعدة البيانات ، بدون أن يكون لقاعدة البيانات ارتباط بالسيرفر .

لأن قاعدة البيانات التي في مشروعي (التي أريد أن أعمل لها نسخ) ليست لها علاقة بالسيرفر نهائيا ، اللهم فقط اسم الكمبيوتر !

مشروعي فيه زرين (نسخ) و (استرجاع)
عندما أريد أن أعمل نسخ لقاعدة البيانات أضغط على زر (نسخ) ، وهو يفتح لي نافذة لأحدد فيها المكان الذي أريده أم ينسخ فيه القاعدة
أما إذا أردت استجاع قاعدة البيانات ، فأقوم بالنقر على زر (استرجاع) وهو يقوم بإيقاف الاتصال بقاعدة البيانات الحالية التي في المشروع ، ثم يقوم بنسخ القاعدة المنسوخة سابقا (على أساس إنها نسخة احتياطية) ويضعها في مجلد المشروع ، وأخيرا يقوم بإعادة الاتصال بها !

في النهاية ستجد أن العمليتين كليهما نسخ في نسخ Smile
عند أخذ نسخه احتياط ، ينسخ القاعدة التي تشتغل ويضع النسخة في المكان الذي أحدده أنا .
وعند الاسترجاع يقوم بإيقاف الاتصال بالقاعدة التي في المشروع ، ثم يحذفها ، ثم ينسخ القاعدة المنسوخة سابقة على أنها نسخة احتياطية ، ينسخها إلى مجلد المشروع ، ويعاود الاتصال بها .


RE: إغلاق قاعدة البيانات قبل نسخها - سعود - 24-06-22

(24-06-22, 12:23 AM)أبو خالد الشكري كتب : مرحبا أستاذ سعود

لن يمكنني الاستفادة من أي تطبيق يرتبط بالسيرفر
أنا أحب الحرية Freedom

أريد أكواد تعمل نسخ وأخرى تعمل استرجاع لقاعدة البيانات ، بدون أن يكون لقاعدة البيانات ارتباط بالسيرفر .

لأن قاعدة البيانات التي في مشروعي (التي أريد أن أعمل لها نسخ) ليست لها علاقة بالسيرفر نهائيا ، اللهم فقط اسم الكمبيوتر !

مشروعي فيه زرين (نسخ) و (استرجاع)
عندما أريد أن أعمل نسخ لقاعدة البيانات أضغط على زر (نسخ) ، وهو يفتح لي نافذة لأحدد فيها المكان الذي أريده أم ينسخ فيه القاعدة
أما إذا أردت استجاع قاعدة البيانات ، فأقوم بالنقر على زر (استرجاع) وهو يقوم بإيقاف الاتصال بقاعدة البيانات الحالية التي في المشروع ، ثم يقوم بنسخ القاعدة المنسوخة سابقا (على أساس إنها نسخة احتياطية) ويضعها في مجلد المشروع ، وأخيرا يقوم بإعادة الاتصال بها !

في النهاية ستجد أن العمليتين كليهما نسخ في نسخ Smile
عند أخذ نسخه احتياط ، ينسخ القاعدة التي تشتغل ويضع النسخة في المكان الذي أحدده أنا .
وعند الاسترجاع يقوم بإيقاف الاتصال بالقاعدة التي في المشروع ، ثم يحذفها ، ثم ينسخ القاعدة المنسوخة سابقة على أنها نسخة احتياطية ، ينسخها إلى مجلد المشروع ، ويعاود الاتصال بها .

ان كان هناك تحديث لا اعرف عنه بخصوص التعامل مع قواعد بيانات الـsqlserver  فاعتذر عن اي معلومة صدرت مني بالخصوص.
لكن اللذي اعرفه ان ملفات الـ mdf  لا بد التعامل معها مع sqlserver.
فاذا عملت لها detach تستطيع نسخ الملفات بكل سهولة
النقطة اللي انا توصلت لها هي اتمام الجزئيتين لكن:: لابد من اعادة تشغيل البرنامج لا ينفع الاغلاق ....ظللت ابحث من اليوم  بالانترنت و لم اجد كود يغلق الاتصال بشكل كامل.آخر محاولاتي مرفقة بالمشاركة.
اذا اردت نسخ ملف mdf يجب ان تحتفظ بامتداده الاصلي ولا تقم بتغييره الى .bak لان الاخيرة لها طرق استخدام.
والتجربة خير برهان جرب و قل ماذا حصل.


RE: إغلاق قاعدة البيانات قبل نسخها - atefkhalf2004 - 24-06-22

الاستاذ سعود اين الملف في لمشاركة 11 الذي فورمته معروضة
شكرا


RE: إغلاق قاعدة البيانات قبل نسخها - أبو خالد الشكري - 24-06-22

أستاذ سعود مشكور على تعبك وجهدك واهتمامك ، بصراحة ما قصرت

ولكن للأسف المشكلة ما زالت قائمة ...

1- زر (تحميل) الذي في هذا التطبيق لا يعمل
2- هذا التطبيق يعمل فقط إذا كانت قاعدة البيانات في برنامج SQL Server Management Studio ، أما أنا فإني أريد نسخ واستعادة لقاعدة بيانات ليس لها علاقة ببرنامج SQL Server 2014 Management Studio

يبدو أني سأرفع راية الاستسلام ...!


RE: إغلاق قاعدة البيانات قبل نسخها - سعود - 24-06-22

(24-06-22, 03:39 AM)أبو خالد الشكري كتب : أستاذ سعود مشكور على تعبك وجهدك واهتمامك ، بصراحة ما قصرت

ولكن للأسف المشكلة ما زالت قائمة ...

1- زر (تحميل) الذي في هذا التطبيق لا يعمل
2- هذا التطبيق يعمل فقط إذا كانت قاعدة البيانات في برنامج SQL Server Management Studio ، أما أنا فإني أريد نسخ واستعادة لقاعدة بيانات ليس لها علاقة ببرنامج SQL Server 2014 Management Studio

يبدو أني سأرفع راية الاستسلام ...!

العفو اخي الكريم
لا بد من تغيير مافي الاكواد لكي يعمل.


RE: إغلاق قاعدة البيانات قبل نسخها - atefkhalf2004 - 24-06-22

اخي الكريم البرنامج Server Management Studio هذا ادارة السيرفر فاذا لم يتصل هو بالسيرفر لن يجد اي ملفات فلا بد ان السيرفر نفسه يتصل به.
الان احاول تعديل المثال لكي يعمل detach و attach

اذا تم المثال بشكل جيد ارفعه باذن الله.

اين المثال ا سعود


RE: إغلاق قاعدة البيانات قبل نسخها - asemshahen5 - 24-06-22

استخدم هذا الستورد بروسيجر قبل العملية :

PHP كود :
USE [ALASEM0]
GO

/****** Object:  StoredProcedure [dbo].[CloseAllConnection]    Script Date: 6/24/2022 2:59:05 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

Create Proc 
[dbo].[CloseAllConnection]
 
 @DB Sysname Null
AS

if @
DB Is Null 
begin
  print 
'you must provide the db name'
 
 return
end
else if @DB 'master'
begin
  print 
'cann not run this procedure against the master DB'
 
 return 
end

Set NoCount On

-- Declare Variables

Declare @spid int , @q Nvarchar(1000)

Declare 
C_Users Cursor FAST_FORWARD  FOR
  Select spid From master
..sysprocesses NoLock
  Where dbid 
db_id(@DB)


Open C_Users

Fetch Next From C_Users Into 
@spid

While @@Fetch_Status 0
Begin 
  Set 
@'Kill ' Cast( @spid AS Nvarchar(50) )
 
 Exec(@q)

 
 Fetch Next From C_Users Into @spid
End

Close C_Users
DeAllocate C_Users





GO 



RE: إغلاق قاعدة البيانات قبل نسخها - سعود - 24-06-22

(24-06-22, 02:58 AM)atefkhalf2004 كتب : الاستاذ سعود اين الملف في لمشاركة 11  الذي فورمته معروضة
شكرا

(24-06-22, 03:47 PM)atefkhalf2004 كتب : اخي الكريم البرنامج Server Management Studio هذا ادارة السيرفر فاذا لم يتصل هو بالسيرفر لن يجد اي ملفات فلا بد ان السيرفر نفسه يتصل به.
الان احاول تعديل المثال لكي يعمل detach  و  attach

اذا تم المثال بشكل جيد ارفعه باذن الله.

اين المثال ا سعود

المرفقات الا تظهر لك؟ Huh  ليس بنفس المشاركة ربما باخرى.


RE: إغلاق قاعدة البيانات قبل نسخها - atefkhalf2004 - 24-06-22

برجا ارفاق الملف او اعادة ارفاقه شكرا