بایگانی

بایگانی ژوئن

رپلیکیشن بین دو تا سکیول سرور

۲۱ خرداد ۱۳۹۲ ۶ دیدگاه

MS SQL Server Replication

در این نوشتار به نکاتی از رپلیکیشن بین دو سکیول سرور اشاره خواهدشد. فرض بر آن است که دو تا سرور روی اینترنت و با آی پی های متفاوت هستند  , SQL Server 2008 R2 نیز می باشد.

۱- چون رپلیکیشن بین دو سرور از نامهای مجازی یعنی Alias Name استفاده می کنند لذا باید تنظیمات آنها صورت گیرد.

  • برای اینکار از Start برنامه SQL ServerConfiguration Manager را انتخاب کنید
  • از سمت چپ SQL Native Client 10.0 Configuration را باز کنید
  • روی Alias کلیک کنید
  • سمت راست رایت کلیک کنید و بر اساس آی پی ها اسامی مجازی را برای سرورها تعریف کنید مثلا برای یک سرور اینگونه است:
  • کلید OK را زده و خارج شوید

۲- ساخت Publication: حالا Configuration manager را ببندید و MS SQL Server Management Studio را باز کنید و به یکی از سرورها کانکت شوید.

  • Replication را باز کنید
  • روی منوی Local Publications کلیک راست کنید.
  • New Publication را انتخاب کنید
  • Next را بزنید
  • دیتابیس مورد نظر را انتخاب کنید و Next را بزنید
  • نوع Publication Type را انتخاب کنید و Next را بزنید
  • از دیتابیس جدول و فیلدهای مورد نظر را انتخاب کنید و Next را بزنید
  • اگر فیلتری مورد نظر نیست کلید Next را بزنید
  • در ویندوی بعدی می توانید زمانبندی ها را تعیین کنید و اگر نخواستید کلید Next را بزنید
  • در ویندوی بعدی می توانید تعیین کنید که اجرای ایجنت تحت اکانت ویندوز باشد یا تحت اکانت SQL Server Account باشد. مثلا اکانت ویندوز را انتخاب و بعنوان نمونه این را وارد کنید myserver\administrator و پسورد آنرا وارد کنید و کلید Ok را بزنید
  • در اینجا می توانید کلید Finish را بزنید ولی اگر بخواهید از پابلیکیشن ساخته شده اسکریپت تهیه کنید می توانید به صفحه بعدی بروید. هرچند اسکریپت را بعدا هم می توانید به طریق دیگر تهیه کنید.
  • کلید Finish را بزنید و نامی دلخواه برای پابلیکیشن بدهید مثلا myTest1 و کلید Finish را بزنید تا پابلیکیشن ساخته شود.
  • اگر وارد ویندوی ساخت اسکریپت شده باشید کلید Next را بزنید تا به ویندوی بعدی برود تا آنجا محل و اسم اسکریپتی که قرار است ساخته شود تعیین کنید. اسکریپت با پسوند sql خواهد بود که می توانید داخل SQL Server اجرا کنید.
۳- ساخت Subscription
  • روی Publication ساخته شده کلیک راست کنید و منوی New Subscription را انتخاب و در ویندوی بعدی کلید Next را بزنید
  • در ویندوی بعدی نشان داده خواهد شد که از چه Publication ای و چه دیتابیسی انتخاب شده اند. البته همانجا می توان انتخاب ها را عوض کرد اگر نیازی به تعویص نیست می توانید کلید Next را بزنید
  • در ویندوی بعدی هم کلید next را کلیک کنید
  • در ویندوی بعدی روی کلید Add Subscriper کلیک کنید و Add SQL Server Subscriber را انتخاب کنید
  • در ویندوی بعدی سرور دوم را انتخاب یا Server Name اش را وارد کنید. در واقع اینجا باید Alias Name ای را که در مرحله ۱ ساخته بودید وارد کنید مثلا server2
  • برای Authentication هم Sql Server Authentication را انتخاب و Login کنید.
  • در ویندوی بعدی نام دو تا سرور را خواهید دید که تیک سرور دوم زده شده است. از مقابل آن جدول دلخواهی را که می خواهید رپلیکیشن با آن انجام شود انتخاب کنید و کلید Next را بزنید
  • در ویندوی بعدی روی کلید … بزنید تا بتوانید مشابه قبل برای Distributor Agent اکانت و پسورد را وارد کنید.
  • کلید Ok را بزنید تا به صفحه قبل باز گردید. ملاحظه خواهید کرد که در ستون های  Connection to Distributor و Connection to Subscriber پر شده اند.
  • اگر خواسته باشید بقیه مراحل بصورت پیش فرض پر شوند می توانید همینجا کلید Finish را بزنید. اگر نه می توانید کلید Next را بزنید تا در مراحل بعد مثلا بتوانید فایل اسکریپت را تولید کنید

یک تصویر از مکانیزم و کارکرد Snapshot Replication

Snapshot

Categories: Microsoft, MSSQL Server Tags:

نحوه نگاشت یا Mapp یک مدل(جدول) یا بطور کلی یک آبجکت به یک ویو مدل یا آبجکت

۱۱ خرداد ۱۳۹۲ ۲ دیدگاه

How to mapping or convert a model to a view model

برای نگاشت، مپ یا کانورت یک مدل به یک ویو مدل به شکل زیر عمل می کنیم.

ابتدا دستور زیر را در global.asax وارد می کنیم

سپس از فولدر Model داخل فایل AutoMapperWebConfiguration.cs دستورات زیر را می نویسیم

توجه داشته باشید که باید حتما automapper.dll را به رفرنس ها وارد کرده باشید. برای این کار می توانید از منو های VS آنرا بصورت آنلاین دریافت و در پروژه اعمال نمایید

Tools > Library Package Manager > Manage NuGet Packages for solution

و سپس بصورت Online، Automapper را سرچ کنید و بعد از پیدا کردن Install کنید.

و در ادامه

سپس در صورت نیاز به استفاده از آنها داخل یک Action مثلا Details می نویسیم

 

Categories: Code First, Microsoft, MVC Tags:

تعریف یک مسیر در MVC

How to define a route in MVC

تعریف یک روت با داشتن حداقل دو پارامتر:

فقط باید توجه داشته باشید که مسیر تعریف شده فوق حتما قبل از مسیر تعریف شده Default قرار بگیرد

 

Categories: Microsoft, MVC Tags:

ارسال چندین پارامتر به یک اکشن

Passing multiple parameters to an action

می دانیم که متد ارسال یک پارامتر به یک اکشن از یک کنترلر بشکل زیر است

در شکل فوق فقط یک پارامتر به اکشن ارسال شده است. اگر بخواهیم پارامترهای زیادی را به یک اکشن ارسال کنیم چه باید کرد. برای این کار چندین روش وجود دارد که دو تا از آنها را بیان می کنیم

۱- نگهداری مقادیر در Html.hidden:  فرض کنید مقادیر نام و نام خانوادگی را می خواهیم به یک اکشن بفرستیم در view می نویسیم

2- تعریف یک روت با داشتن دو پارامتر فوق:

فقط باید توجه داشته باشید که مسیر تعریف شده فوق حتما قبل از مسیر تعریف شده Default قرار بگیرد

 

Categories: Microsoft, MVC Tags:

بازنشانی ID یا Autoincrement یک جدول به مقدار صفر

حتما برای شما نیز بسیار پیش آمده است که جدولی با فیلد autoincrement دارید و مقادیری نیز در آن درج شده است. ممکن است لازم داشته باشید که کل محتوای جدول را پاک کنید. اما بعد از پاک کردن و درج اولین رکورد ملاحظه می کنید که مقدار Autoincrement  آن هنوز صفر نشده است بعبارتی آخرین مقدار باز هم باقی مانده است و شما به هر دلیلی می خواستید که مقدار آن صفر شود تا با درج اولین رکورد مقدار آن ۱ گردد.

ممکن است بگویید که راه حل ساده این است که آن جدول را حذف می کنیم و دوباره ایجاد می کنیم. ولی ممکن است آن جدول فیلدهای زیادی داشته باشد. یا با Code First ایجاد شده باشد و حتی و مهم تر از همه اینکه در ارتباط با سایر جداول باشد که حذف آن ناممکن یا صدمه به یکپارچگی اطلاعات بزند. با استفاده از یک دستور ساده براحتی می توانید این کار را انجام دهید

 

Categories: MSSQL Server Tags:
IP Blocking Protection is enabled by IP Address Blocker from LionScripts.com.