PDA

View Full Version : یک خطا در هنگام replication



ghaum
شنبه 10 مرداد 1383, 09:02 صبح
سلام

من می خواهم اطلاعات بانک سرورم را به سرور دیگر که در جای دیگری هست منتقل کنم
من به طور معمول به آن بانک با ip خودش وصل می شوم
تنظیمات مربوط به replication را نیز انجام داده ام
ولی موقع شروع عمل replication این پیغام ظاهر می شود:



The process could not connect to Subscriber '217.5.4.225'.

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

متشکرم

vadood
شنبه 10 مرداد 1383, 21:19 عصر
agent مربوط permission لازم برای اتصال به آن کامپیوتر را ندارد.

ghaum
یک شنبه 11 مرداد 1383, 08:19 صبح
سلام

ببینید من روی سرورم که sql را نصب کردم تنظیمات مربوط به replication را انجام دادم
من این کار را از طریق کلاینت انجام می دهم اما برای اینکه بتوانم از replication در کلاینتم استفاده کنم حتما باید با Admin وارد شوم

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

حالا من باید چه Permission را برای آن تعریف کنم؟

خیلی متشکرم

vadood
یک شنبه 11 مرداد 1383, 20:49 عصر
SQL Server Agent باید از یه Domain Account استفده کنه که روی سروری که طرف کارش هست permission های لازم را داشته باشه.

برین یه سری به Services توی Administrative Tools بزنین تا موضوع روشن شه

ghaum
دوشنبه 12 مرداد 1383, 07:30 صبح
سلام
من آنجایی را که گفتید دیدم
گفتم که من با همان user به کلاینتم لاگین کردم

vadood
دوشنبه 12 مرداد 1383, 07:56 صبح
به کدوم یوزر؟ همونی که SQL Agent ازش استفاده می کنه؟

ghaum
دوشنبه 12 مرداد 1383, 10:11 صبح
سلام
بله با همان یوزر
یعنی َADMIN

ghaum
دوشنبه 12 مرداد 1383, 13:48 عصر
سلام

ببخشید شما فکر می کنید مشکل از کلاینت من هست یا از سروری که می خواهم اطلاعات را به آن منتقل کنم

نکنه که نمی توانم از روی کلاینت update کنم؟

خیلی متشکرم

vadood
دوشنبه 12 مرداد 1383, 18:21 عصر
رپلیکیشن شما یه Push Subscription داره، یهنی این که Distributer باید اطلاعات روی Subscriber رو اپدیت کنه. مشکل از اونجایی ناشی میشه که کامپیوتر distributer شما نمی تونه به subscriber وصل شه. یه دلیل مهم می تونه این باشه که permission لازم به اون سرویس داده نشده.

ghaum
سه شنبه 13 مرداد 1383, 07:55 صبح
سلام
خیلی متشکرم
اما من چطور می توانم permission لازم را به آن بدهم

خیلی متشکرم

vadood
سه شنبه 13 مرداد 1383, 09:16 صبح
این بستگی به شبکه شما داره، اگه Active Directory داری باید از یه Domain Account استفاده کنی. می تونی اون Account را Domain Admin بکنی
اگه Workgroup داری یه شناسه مشترک با رمزهی یکسان روی دو تا سیستم درست کن و سرویس Agent را تنظیم کن تا از اون Account استفاده کنه

ghaum
شنبه 17 مرداد 1383, 08:15 صبح
سلام
من از active directory استفاده می کنم
تنظیمات مربوط به آن را نیز در sql انجام داده ام
اما هنوز مشکل دارم
حالا این پیغام را به من می دهد:
[code]
A connection could not be established to 66.5.5.5
[code]
[/code]

AminSobati
شنبه 17 مرداد 1383, 19:53 عصر
سلام دوست عزیز
برای حل مشکل شما باید کمی در مورد وضعیت subscriber و publisher توضیح بدین. سطح اختیار شما در سمت subscriber چقدره؟ sysadmin یا db_owner ؟
ضمنا هیچ وقت از IP استفاده نکنین، حتما براش Alias بسازید. سمت subscriber نام کامپیوتر publisher به عنوان Remote Server اضافه شده؟ البته زمانی که شما sysadmin در سمت subscriber باشید، این کار برای شما انجام میشه که ازش اطلاع پیدا نمیکنید. در غیر این صورت admin سمت subscriber این کار رو باید انجام بده.
سرویسهای agent و sql از چه اکانتی استفاده میکنند؟ LocalSystem یا UserAccount؟
البته اغلب این مشکلات زمانی پیش میاد که در سمت subscriber فقط مالک دیتابیس خودتون هستین نه بیشتر. ضمنا حتما push رو اول امتحان کنین.
منتظر اطلاعات بیشتر شما هستم. شاد باشین...
امین ثباتی MCSD

ghaum
یک شنبه 18 مرداد 1383, 08:17 صبح
سلام
من این مشکل را حل کنم اول باید مشکل وصل شدن به بانک را حل کنم
این پیغام را به من میدهد هاست مشکلی ندارد از روی کلاینت که وصل می شوم وصل می شود ولی از روی خود سرور وصل نمی شوم


A connection could not be established to 66.5.5.5

اگر این مشکل حل بشود من می توانم مثل دفعات قبل از روی خود سرور عمل update بانک را با استفاده از replication انجام دهم تا دیگر مشکلات مربوط به Permission را نداشته باشم


خیلی متشکرم

AminSobati
یک شنبه 18 مرداد 1383, 18:13 عصر
سلام،
ببخشید من درست متوجه نشدم. منظور شما چیه که از روی کلاینت میتونید ولی از روی سرور error میده. در موقع انجام چه کاری این پیغام رو میده؟

ghaum
دوشنبه 19 مرداد 1383, 13:53 عصر
سلام
ببینید من منظورم اتصال به بانکی هستش که در Host هست
من قبل از اینکه دوباره Sql server را نصب کنم می توانستم روی سروری که sql server نصب بود به بانک خودم وصل شوم و همچنین می توانستم که آن را update کنم با replication
اما روی سرور نمی توانم به بانکم وصل شوم با اینکه اینترنت را می توانم روی سرورم ببینم
اما روی کلاینتها می توانم به بانک وصل شوم ولی موقع عمل replication همان پیغامی که قبلا گفتم ظاهر می شود

اگر می شود مرا راهنمایی کنید
متشکرم

AminSobati
دوشنبه 19 مرداد 1383, 21:25 عصر
سلام دوست عزیز
مشکل شما همون چیزی هست که حدس میزدم. زمانیکه عمل replication رو با یک سرور در اینترنت انجام میدین، به خاطر اینکه در اون سمت فقط dbowner هستید عمل replication کمی پیچیده تر(شاید بهتره بگیم، نکته دار تر) هستش. متاسفانه بدون همکاری host انجام کار امکان نداره. چون host شما باید نام کامپیوتر شما رو به عنوان Remote Server به SQL Server خودشون معرفی کنه. ولی عمدتا به علت ضعف دانش فنی Admin های Host، چنین کاری رو از ترس security انجام نمیدن، در حالی که ابدا خطری برای اونها نداره.
اما چرا وقتی با کامپیوتر local عمل Replication انجام میدیم به چنین تنظیم خاصی نیاز نداره؟ جواب این هست که وقی با کامپیوتر Local کار میکنید، تمام اختیارات لازم رو در هر دو سمت Publisher و Subscriber دارید. یعنی Sysadmin هستید که در حین عمل Replication، کار معرفی Remote Server انجام میشه ولی از چشم شما دوره. در حالتی که با اینترنت Replication میکنید، به دلیل نداشتن اختیار کافی در اون سمت، Remote Server بصورت اتوماتیک Add نمیشه و Admin اون سرور باید به طور دستی برای شما انجام بده.
زمانی که من کار Replication برای شرکت گلد ایران (نماینده LG) رو انجام میدادم تا اطلاعات فروش روی سایت اینترنتی رو با SQL Server محلی(Local) هماهنگ کنم، مجبور شدیم تا با مدیر Host اونها کلی صحبت کنیم تا رضایت بدن!
اگر شما موفق نشید چنین کاری رو انجام بدین، ادامه بحث در این موضوع متاسفانه بی فایده خواهد بود

ghaum
سه شنبه 20 مرداد 1383, 07:53 صبح
سلام
متشکرم از توضیحاتتان
خوب من برای اینکه از روی سرور بتوانم این مشکل را حل کنم نیاز دارم که ابتدا مشکل اتصال به بانک روی host روی سرورم حل کنم
ببینید با اینکه من به اینترنت وصل هستم و لی پیغامی که به من می دهد مانند این است که من اصلا به اینترنت دسترسی ندارم
شما علت این پیغام را می دانید؟


A connection could not be established to 66.5.5.5

خیلی متشکرم

AminSobati
سه شنبه 20 مرداد 1383, 08:12 صبح
دقیقا از چه نرم افزاری برای اتصال به بانک استفاده میکنید؟ Q.A ؟

ghaum
سه شنبه 20 مرداد 1383, 10:25 صبح
از خود SQL server
با انتخاب New sql server registeration

AminSobati
سه شنبه 20 مرداد 1383, 23:35 عصر
زمانی که SQL Server رو نصب میکنید، یکی از آیکونهایی که ایجاد میکنه، Client Network Utility هستش. اون رو باز کنید. در لیست سمت راست باید TCP/IP حتما وجود داشته باشه. اگر نه، اون رو از لیست سمت چپ به سمت راست منتقل کنید. بعدش از این آیتم Properties بگیرید و چک کنید که از Port صحیح داره استفاده میکنه. مقدار پیش فرضش 1433 هست. اگر از پورت دیگه ای استفاده میکنید، اون عدد رو وارد کنید.
بعد از این چک، از طریق Query Analyzer سعی کنید متصل بشید به Host. یعنی در قسمت SQL Server عدد IP که از Host گرفتید رو بنویسید، و با استفاده از SQL Server authentication نام Login و Password رو وارد کنین.
نتیجه این کار رو لطفا بنویسید...

ghaum
چهارشنبه 21 مرداد 1383, 07:29 صبح
سلام
خیلی متشکرم از شما

من کارهایی که گفتید را انجام دادم شماره پورت درست بود
از طریق query analyzer هم نتوانستم وصل شوم
خیلی عجیبه
پیغامی که می دهد برای موقعی است که سرور از شبکه قطع است و اصلا اینترنت را نمی بیند در صورتی که روی سرور می توانم صفحات اینترنت را ببینم

AminSobati
چهارشنبه 21 مرداد 1383, 10:02 صبح
سلام،
راستش من اصلا به درست بودن IP شما دیگه شک کردم! سعی کنین از روی یک کامپیوتر دیگه همون روش Query Analyzer رو امتحام کنین، اگر نشد پس شاید IP درست نباشه؟!!

ghaum
چهارشنبه 21 مرداد 1383, 11:06 صبح
سلام
من وقتی روی کلاینت خودم از طریق query anlayzer امتحان می کنم ،وصل می شوم
با همان IP

فکر کنم چاره ای ندارم جز اینکه دوباره sql server را نصب کنم

AminSobati
چهارشنبه 21 مرداد 1383, 21:34 عصر
بسیار خوب! اگر این مشکل حل شد، بعد در مورد Replication هم میتونیم ادامه بدیم.
موفق باشین