PDA

نسخه کامل مشاهده نسخه کامل : مشکل در Attach بانک از یک سرور در یک سرور دیگه



MTPROG
24-05-2009, 10:54
من تو سیستم خودم بانک اطلاعاتی ساختم نام کامپیوترم home-server است و Domain هم neda.com
حالا وقتی این بانک رو میخوام تو یه سرور دیگه Attach کنم که نام کامپیوتر Neda-dsr4545rg و Domain هم madnosh.com است
Attach نمیشه

وقتی به 2005 SQL SERVER وصل میشم تو سیستم خودم نام سرور HOME-SERVER و تو سرور بعدی ADMIN/RAFEH هستش

وقتی تو سیستم خودم Properties بانکمو نگاه میکنم Owner به نام NEDA/Administrator هستش

در ضمن این پیغام خطا رو میده

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

_H2_
24-05-2009, 15:12
سعی کنید...
1- به جای ریشه درایو C از داریو D استفاده کنید.
2- فایل ldf را هم در کنار mdf قرار دهید و rename اش هم نکنید.
3- در صورت ادامه مشکل مطمئن شوید، فایلهایتان صحیح و کامل هستند و به درستی detach شده اند و از رویه sp_attach_single_file_db استفاده کنید.

MTPROG
26-05-2009, 01:48
مشکل رو حل کردم البته نه به اون روش شما

رو سرور خودم روی بانک کلیک راست کردم و از جدولهای آن یک Query ساختم بعد تو سرور مقصد یک New database به نام بانک خودم ایجاد کردم و Query مورد نظر را اجرا کردم و تمام جدولهام ایجاد شد. و برنامه تو شبکه به کار افتاد.

چند تا سئوال داشتم

1-سرور مقصد یک سرور قوی شرکت اینتل با دو کارت شبکه 1Ghz می باشد .این شرکت از یک برنامه حسابداری تحت شبکه با تراکنش اطلاعاتی خیلی زیاد(ترافیک بالای اطلاعات در شبکه) استفاده میکنه.و برنامه من دومین برنامه تحت شبکه اونجاست
چون هم برنامه من و هم اون دیگه از یک سرور استفاده میکنن SQL Server2005 به هر دو برنامه جواب میده و ترافیکش هم طبیعی.ولی داخل شبکه بخاطر اینکه برنامه حسابداری مزاحم برنامه من نشه(منظور سنگین کردن ترافیک شبکه) سیستمهایی که با برنامه من کار می کنن(10 سیستم ) رو به کارت شبکه دوم Ping کردم و برنامه حسابداری (25 سیستم ) به کارت شبکه اولی.حالا ترافیک شبکه مثل اول میشه چون دو برنامه از مسیرهای متفاوت به سرور میرسند.
حالا به نظر شما سرور در هنگام درخواست تقاضا از طرف کلاینتها اول به کدوم کارت شبکه پاسخ میده
(کارت شبکه اولی 192.168.0.1 و کارت شبکه دومی 192.168.1.1)

2- من برای دسترسی کاربرانم تو سرور 10 کاربر تعریف کردم و تو SQL SERVER به اون کاربرا اجازه دسترسی به بانکم دادم (هر کاربر به اندازه دسترسی خودش) حالا وقتی کاربران من میخوان بیان تو شبکه هنگام لوگین نام کاربریی که من تعریف کردم وارد می کنند و برنامه رو اجرا کردم و سطح خودشون(منظور سطح دسترسی مدیر یا اپراتور) اعلام می کنند و وارد برنامه میشن

اما اون برنامه حسابداری فقط یک کاربر تعریف کرده و همه با اون وارد میشن(کاربر مدیر) و بعد تو نرم افزار یک نام و پسورد وارد میکنن و بسته به محدودیت اعمال شده در نرم افزار بعضی گزینه ها فعال یا غیر فعال میشن
در کل همه مدیر هستند فقط بصورت نرم افزاری بعضی گزینه ها غیر فعال میشه


به نظر شما کدوم روش بهتره؟
آیا شما روش بهتری دارید؟

_H2_
26-05-2009, 11:40
سلام

حالا به نظر شما سرور در هنگام درخواست تقاضا از طرف کلاینتها اول به کدوم کارت شبکه پاسخ میده
(کارت شبکه اولی 192.168.0.1 و کارت شبکه دومی 192.168.1.1)
نمیدانم! ولی به نظرم چندان مهم نیست،
من اینطور تصور میکنم که جریان پردازش دقیقاً معادل سیستم چندریسمانی نرم افزارها است.
یک مسیر دوار پردازشی وجود دارد، از ریسمان اول به آخر و دوباره اول و....
یک دایره! کسی جلوتر و عقب تر نمیماند.
یعنی اگر n کارت شبکه داشته باشید، در حلقه پردازشی ریسمانهای مختلفی میگیرند و هر ریسمان در صف پردازش میشود و دوباره از از اول ...
گمانم مشکلی به وجود نمی آید.


به نظر شما کدوم روش بهتره؟
آیا شما روش بهتری دارید؟
شاید اگر بتوان هر دو روش را تلفیق کرد بهتر باشد.

در نوعی شما تهیه کرده اید، امنیت بیشتری وجود دارد و خود sqlserver هم محدودیتها را اعمال خواهد کرد.

نکته مهم محافظت از connectionstring دارای user و pass است که در روشی که همه برای sql مدیر هستند ولی در خود برنامه محدودیت دارند، بسیار مهم میشود.
طبیعتاً در این روش اگر کسی به connectionstring برنامه دسترسی پیدا کند، و خودش دانشی از sqlserver داشته باشد، میتواند دور از چشم برنامه برخی کارها را انجام دهد !
در کل باید اطلاعات امنیتی مهم به طریقه صحیح رمزنگاری شوند.

در عوض در روش فوق، برنامه کنترل بسیار کاملی میتواند روی کاربران اعمال کند.
بالاخره باید توجه داشت که برخی مجوزها را نمیتوان کاملاً در مجوز های یک جدول دیتابیس محدود کرد.
برخی مجوزها درون برنامه ای هستند و شاید ربط خاصی به بانک نداشته باشند.

- مثلاً بخواهید در برنامه مجوز استفاده از فرم "جستجو" را با مجوز رویت تمام محتویات فرق بگذاری.
- یا اینکه مجوز "ویرایش و حدف" فقط برای نوع خاصی از سطرها!
(مثلاً فقط بتواند اطلاعات کارکنان عادی دخل جدول پرسنلی را ویرایش کند)
-مجوزی برای آپدیت برنامه و...

نتیجتاً هر دو روش با حفظ تعادل در جای خود خوب هستند.
البته در هر دو حالت، همه مدیریتی در خود برنامه باید انجام شود و مدیر بتواند در فرم مورد نظر مجوز کارکنان را تغییر دهد.

MTPROG
27-05-2009, 08:38
یک سئوال دیگه

تو اون شبکه دو تا ازسیستمها در اتصال به شبکه دچار مشکل میشن یعنی در حین کار در نرم افزار دچار قطعی ارتباط میشن(البته مشکل از کابل است که بعضی مواقع request timeOut میده) چطور میشه تابعی بنویسیم که بتونه جریان رو در شبکه مدام بررسی کنه تا ببینه قطعی به وجود آمده یا نه
اگر بشه همچین تابعی نوشت میشه اونو به یک ریسمان تحویل داد تا مدام بررسی کنه و در صوتر مشکل در شبکه کاربر رو آگاه کنه
(یه چیزی تو مایه ping 192.168.0.1 /t )

_H2_
28-05-2009, 00:57
سلام
نمونه کد زیر قادر است اتصال به یک ip یا نام دامین خاص را مدام چک کند.
در حال حاضر وصل بودن رایانه به اینترنت را بررسی میکند.
کلاسی اماده در این کد وجود دارد که به راحتی میتوانید در پروژه خود اضافه و مصرف کنید.

کل سورس کد فقط دو فایلvb است و فایل اجرایی 9 کیلوبایتی ان هم در پوشه bin موجود است.
لینک ثابت و همیشگی:
support.h02.ir/fwlink/?LinkId=1003104927
یا
لینک فعلی:
h02.ir/Downloads/?familyid=9E0F8A09-7063-44C8-9BC7-43032DAC17DC

تاپیک اصلی:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

موفق باشید