ورود

View Full Version : استفاده از دیتابیس پشتیبان



NasimBamdad
یک شنبه 01 اردیبهشت 1392, 09:19 صبح
سلام و خسته نباشید

یک سوالی چند وقتی هست که فکرم رو مشغول کرده .

شنیده بودم که در سرور های بزرگ وقتی یک سرور Down میشه ، سرور دیگه به کار می افته و پشتیبانی می کنه

در مورد DB می خوام بودنم آیا راه عملی داریم که مثلا زمانی که یک DataBase Server از کار افتاد ، از سرور دیگه استفاده کرد ؟ یک چیزی مثل Cluster کردن . یعنی موقت انجام عملیات در DB همزمان در 2 سرور انجام بشه تغییرات .

اما یک سوال پیش میاد این هست که وقتی سرور A از کار می افته و به سرور B منتقل میشیم و بعد از تعمیرات سرور A دوباره Online میشه و به سرور A سویچ می کنیم ، اما اطلاعات جدید ما در سرور B رو چه طوری به سرور A منتقل کنیم !؟

حرفام یکم گنگ هست ، اما این طور چیزی ممکن هست ؟ راه حل عملیش چیه ؟

in_chand_nafar
یک شنبه 01 اردیبهشت 1392, 12:01 عصر
به اين موضوع ميگ High availability
اين موضوع در SQL Server به چند روش امكان پذير است
Log Shipping
Mirroring
Fail over Clustering
Always On فقط 2012
هر كدوم اونها يه دناي بحث داره اگر خواستي كمي توي اينترنت جستجو كن بعدش بيا در مورد مثلا يكي از اينها يه توضيح مختصر با كمك دوستان و... بديم
اون چيزي كه شما مي خواهيد Fail over Clustering كه به ازاي كليه بانك هاي اطلاعاتي و برخي از سرويس هاي يك Instance راه اندازي ميشه

حمیدرضاصادقیان
چهارشنبه 04 اردیبهشت 1392, 22:56 عصر
سلام.
در نسخه 2008 نیز میتونید همین قابلیت Failover رو با استفاده از Mirroring پیاده سازی کنید که به صورت آنلاین داده ها بر روی دو سرور ذخیره می شوند و دقیقا همون اتفاقی که گفتید خواهد افتاد.

javadi_31456
شنبه 22 تیر 1392, 11:50 صبح
سلام
دوستان عزیز من در ایجاد Mirroring مشکل دارم
کسی هست که به صورت مرحله به مرحله راهنمایی کنه ؟
تو سایت های دیگه جستجو کردم ولی بازم مشکلم حل نشد

در مرحله ی آخر وقتی که Start Mirroring رو می زنم ، خطای زیر رو بهم می ده
که راجع به مقصدم هست .
ولی من از داخل مبدا به راحتی می تونم به مقصد متصل بشم
یعنی مشکل کانکشن هم ندارم
متن خطا:



TITLE: Database Properties
------------------------------

An error occurred while starting mirroring.

------------------------------
ADDITIONAL INFORMATION:

Alter failed for Database 'DLG'. (Microsoft.SqlServer.Smo)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617.0+((KJ_RTM_GDR).110422-1901+)&EvtSrc=Microsoft.SqlServer.Management.Smo.Exceptio nTemplates.FailedOperationExceptionText&EvtID=Alter+Database&LinkId=20476

------------------------------

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

The server network address "TCP://SAZGAR-77C07B1F:5218" can not be reached or does not exist. Check the network address name and that the ports for the local and remote endpoints are operational. (Microsoft SQL Server, Error: 1418)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617&EvtSrc=MSSQLServer&EvtID=1418&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

in_chand_nafar
شنبه 22 تیر 1392, 13:03 عصر
سرويس SQL مربوط به هر دو كامپيوتر رو با يك Account مشترك كه Username و password اونها يكسان است. Start كنيد.
1- در Work Group بايد اين UserName و pass در هر دو سرور تعريف شود
2- در اكتيو دايركتوري صرفا در سرور اكتيو تعريف و هر دو سرور SQL Server رو با اون اكانت Start كنيد

javadi_31456
یک شنبه 23 تیر 1392, 10:07 صبح
هر دو نام کاربری و رمز عبور یکسان دارند

work group هستند

سیستم عامل ها یکی xp و دیگری server2008 R2
و بر روی هر دو سیستم عامل Sql server 2008 R2 نصب هست

سرویس Sql مربوط به هردو با اکانت و پسورد یکسان start می شوند

Dns Suffix یکسان هم برای هر دو تعریف شده
DNS
(http://www.hostlinuxi.ir/binazir/upload/dns.JPG) بانک هام رو هم در مبدا بک آپ فول و در mirror بک آپ فول + Restoring هستند

ولی باز هم
هنگام استارت خطای زیر ر و میده :
لینک تصویر

err.JPG (http://www.hostlinuxi.ir/binazir/upload/err.JPG)


این رو هم اضافه کنم که از هر دو سیستم و حتی از یک سیستم دیگر هم تست کردم با telnet هر دوتا آی پی و پورت ها باز هستند

in_chand_nafar
یک شنبه 23 تیر 1392, 18:36 عصر
بانک هام رو هم در مبدا بک آپ فول و در mirror بک آپ فول + Restoring هستند

دقیقا چه نوع Backupی در سمت Mirror بازیابی کرده اید.
باید Full + Log رو اون طرف Restore کنید و دیتابیس شما هم باید در حالت NoRecovery و یا همون Restoring باشد.

در ضمن به این چندتا لینک هم سری بزنید انتهای اون در مورد FQDN بحث شده است
http://www.kendalvandyke.com/2011/12/database-mirroring-in-windows-workgroup.html

http://allcomputers.us/windows_server/sql-server-2008-high-availability---database-mirroring-(part-1)---how-to-configure-database-mirroring.aspx
(http://allcomputers.us/windows_server/sql-server-2008-high-availability---database-mirroring-(part-1)---how-to-configure-database-mirroring.aspx)


Digging around in the Windows event log on the mirror turned up this error:

Database mirroring connection error 4 'An error occurred while receiving data: '64(The specified network name is no longer available.)'.' for 'TCP://[SERVERNAME]:5022'.

where [SERVERNAME] is the name of the mirror. It turns out Adam Machanic (Blog | Twitter) had the same issue and fixed it by switching to FQDN. The problem? In a workgroup there are no FQDNs and trying to enter just a machine name in the mirroring wizard results in an error.

The solution? Add "fake" FQDN entries to the Windows hosts file (usually located in c:\windows\system32\drivers\etc\) on the principal, mirror, witness, and web servers, then rebuild mirroring using the "fake" FQDNs.

javadi_31456
دوشنبه 24 تیر 1392, 08:26 صبح
سلام
ببینید
من برای تست یک دیتا بیس رو ازش بک آپ فول گرفتم و آوردم روی این دوتا سیستم عامل
نوع بک آپم backup type :Full
بعد از اون در مبدا ا restor کردم با حالت recovery
و در میرور با حالت no recovery عمل restor انجام شده


در رابطه با
Database Mirroring In A Windows Workgroup (http://www.kendalvandyke.com/2011/12/database-mirroring-in-windows-workgroup.html)

بنده دقیقا از کاربر administrator و پسورد یکسان در دو سیستم عمل استفاده کردم

و در هر دو سیستم عامل سرویس های sql با این اکانت ها استارت می شوند

javadi_31456
دوشنبه 24 تیر 1392, 14:53 عصر
بانک هام رو هم در مبدا بک آپ فول و در mirror بک آپ فول + Restoring هستند

دقیقا چه نوع Backupی در سمت Mirror بازیابی کرده اید.
باید Full + Log رو اون طرف Restore کنید و دیتابیس شما هم باید در حالت NoRecovery و یا همون Restoring باشد.

در ضمن به این چندتا لینک هم سری بزنید انتهای اون در مورد FQDN بحث شده است
http://www.kendalvandyke.com/2011/12/database-mirroring-in-windows-workgroup.html

http://allcomputers.us/windows_server/sql-server-2008-high-availability---database-mirroring-(part-1)---how-to-configure-database-mirroring.aspx
(http://allcomputers.us/windows_server/sql-server-2008-high-availability---database-mirroring-(part-1)---how-to-configure-database-mirroring.aspx)


Digging around in the Windows event log on the mirror turned up this error:

Database mirroring connection error 4 'An error occurred while receiving data: '64(The specified network name is no longer available.)'.' for 'TCP://[SERVERNAME]:5022'.

where [SERVERNAME] is the name of the mirror. It turns out Adam Machanic (Blog | Twitter) had the same issue and fixed it by switching to FQDN. The problem? In a workgroup there are no FQDNs and trying to enter just a machine name in the mirroring wizard results in an error.

The solution? Add "fake" FQDN entries to the Windows hosts file (usually located in c:\windows\system32\drivers\etc\) on the principal, mirror, witness, and web servers, then rebuild mirroring using the "fake" FQDNs.



سلام
ممنون لینک ها مفید بودند
مطالعه شدند
ولی
مشکل من هنوز پابرجاست
:ناراحت:

in_chand_nafar
سه شنبه 25 تیر 1392, 08:12 صبح
ببينيد Log Backup چي آيا در سرور Mirror اون رو Restore كرديد؟

javadi_31456
سه شنبه 25 تیر 1392, 08:38 صبح
ببينيد Log Backup چي آيا در سرور Mirror اون رو Restore كرديد؟



کاری که کردم این بود که روی بانکم کلیک راست کردم ، all task , backup

و فول بک آپ گرفتم

و در آخر همین بک آپ رو داخل سرور Mrror با حالت no recovery ، restor کردم

باید کار دیگه ای هم انجام می دادم؟
در حال حاضر بانک من هیچ تراکنش جدیدی نداشته و نداره . به عبارت دیگه هیچ عملیاتی روی بانک من انجام نمی شه . چون بانک تست هست
الان این کار رو هم کردم یعنی به جز این که فول بک آپ گرفتم از لاگ دیتابیس مبدا هم بک آپ لاگ گرفتم و اون رو در مقصد باز هم با حالت no Recovry ، Restor کردم و باز در قسمت Mirroring وقتی Security Configuration رو انجام دادم در مرحله ی آخر که Start Mirroring رو می زنم خطای قبل رو که در زیر اومده می بینم
TITLE: Database Properties------------------------------An error occurred while starting mirroring.------------------------------ADDITIONAL INFORMATION:Alter failed for Database 'DLG'. (Microsoft.SqlServer.Smo)For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617.0+((KJ_RTM_GDR).110422-1901+)&EvtSrc=Microsoft.SqlServer.Management.Smo.Exceptio nTemplates.FailedOperationExceptionText&EvtID=Alter+Database&LinkId=20476------------------------------An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)------------------------------The server network address "TCP://SERVER3:5218" can not be reached or does not exist. Check the network address name and that the ports for the local and remote endpoints are operational. (Microsoft SQL Server, Error: 1418)For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617&EvtSrc=MSSQLServer&EvtID=1418&LinkId=20476------------------------------BUTTONS:OK------------------------------

javadi_31456
جمعه 28 تیر 1392, 10:00 صبح
کاری که کردم این بود که روی بانکم کلیک راست کردم ، all task , backup

و فول بک آپ گرفتم

و در آخر همین بک آپ رو داخل سرور Mrror با حالت no recovery ، restor کردم

باید کار دیگه ای هم انجام می دادم؟
در حال حاضر بانک من هیچ تراکنش جدیدی نداشته و نداره . به عبارت دیگه هیچ عملیاتی روی بانک من انجام نمی شه . چون بانک تست هست
الان این کار رو هم کردم یعنی به جز این که فول بک آپ گرفتم از لاگ دیتابیس مبدا هم بک آپ لاگ گرفتم و اون رو در مقصد باز هم با حالت no Recovry ، Restor کردم و باز در قسمت Mirroring وقتی Security Configuration رو انجام دادم در مرحله ی آخر که Start Mirroring رو می زنم خطای قبل رو که در زیر اومده می بینم
TITLE: Database Properties------------------------------An error occurred while starting mirroring.------------------------------ADDITIONAL INFORMATION:Alter failed for Database 'DLG'. (Microsoft.SqlServer.Smo)For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617.0+((KJ_RTM_GDR).110422-1901+)&EvtSrc=Microsoft.SqlServer.Management.Smo.Exceptio nTemplates.FailedOperationExceptionText&EvtID=Alter+Database&LinkId=20476------------------------------An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)------------------------------The server network address "TCP://SERVER3:5218" can not be reached or does not exist. Check the network address name and that the ports for the local and remote endpoints are operational. (Microsoft SQL Server, Error: 1418)For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617&EvtSrc=MSSQLServer&EvtID=1418&LinkId=20476------------------------------BUTTONS:OK------------------------------


کسی نیست کمکم کنه؟