نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • بررسی ها
  • هنگام به‌روزرسانی 1s یک خطای حیاتی روی داد. خطای تبدیل پایگاه اطلاعاتی

هنگام به‌روزرسانی 1s یک خطای حیاتی روی داد. خطای تبدیل پایگاه اطلاعاتی

هنگام کار در 1C: Enterprise، ممکن است پیام زیر ظاهر شود: "برای کار با نسخه جدید 1C: Enterprise، پایگاه اطلاعات باید تبدیل شود." چرا این پنجره ظاهر می شود و چگونه می توانم خطا را برطرف کنم؟

در بیشتر موارد، دلیل ظاهر شدن پنجره، انتقال اخیر برنامه از یک نسخه قدیمی پلت فرم به یک نسخه جدیدتر است. در پلتفرم های مختلف پایگاه اطلاعاتی 1Cبه شیوه خود شکل می گیرد و ترکیب دیگری به خود می گیرد. تنها کاری که باید انجام شود این است که پایگاه داده (که ساختار آن مطابق با پلت فرم قدیمی است) به جدیدترین فرمت تبدیل شود.

تبدیل DB

این روش ساده است، با این حال، توصیه می شود ابتدا یک نسخه پشتیبان از پایگاه داده ایجاد کنید، در صورت بروز خطا در هنگام تبدیل (به عنوان مثال، کامپیوتر خاموش می شود، در نتیجه پایگاه اطلاعاتی 1C، و همچنین خود برنامه، ممکن است آسیب ببیند). سپس الگوریتم اقدامات زیر را اعمال کنید:

  • پایگاه داده را در حالت پیکربندی باز کنید.
  • پیامی خواهید دید که از شما می خواهد پایگاه اطلاعات را تبدیل کنید. تایید مطبوعاتی؛

  • پیکربندی را ببندید.

پایگاه داده را باز کنید - باید بدون مشکل شروع شود. اگر پنجره خطا پس از تبدیل همچنان ظاهر می شود، می توانید این روش را دوباره امتحان کنید. در مواردی که این کمکی نمی کند، باید با برنامه نویس 1C تماس بگیرید. گاهی اوقات ممکن است برنامه در حین انجام عملیات مسدود شود. در حال حاضر نیازی به هیچ اقدامی نیست.

مهم! پایگاه اطلاع رسانی 1C، که توسط آخرین نسخه برنامه تبدیل شده است، روی نسخه های قبلی قابل باز شدن نیست.

جعبه شنی

قدرت سپتامبر 18, 2013 در 03:24 ب.ظ

1C، بازیابی پیکربندی پایگاه اطلاعاتی با استفاده از MS SQL

در یک زمان، من با یک مشکل مواجه شدم: هنگام به روز رسانی پیکربندی از مخزن، یک شکست رخ داد و 1C بسته شد.

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

زیرا این مشکل بیش از یک بار به وجود آمد که تصمیم گرفتیم گزینه درمانی را به اشتراک بگذارم.

دفعه بعد که پیکربندی را اجرا کردید، یک خطا رخ داد: "توجه!!! هنگام به‌روزرسانی داده‌ها پس از آخرین بازسازی، خطایی روی داد. دوباره امتحان کنید؟" اگر پاسخ مثبت است، این پیام را دریافت می کنیم: «عملیات ذخیره پیکربندی ناقص شناسایی شد. برای ادامه کار، باید عملیات را تکمیل کنید "سپس برنامه بسته می شود.

هنگام تجزیه و تحلیل این مشکل، چندین راه حل برای مشکل پیدا شد که هر راه حل در موارد مختلف کار می کند.

گزینه 1 (اگر یک نسخه پشتیبان SQL با یک کپی با پیکربندی یکسان دارید):

یک کپی از IB مستقر می شود و ساختار زیر درخواست می شود:
استفاده از GO DELETE FROM .. GO INSERT INTO .. ​​SELECT * FROM .. GO
در همان زمان، جدولی که پیکربندی IS در آن ذخیره شده است دوباره پر می شود. توصیه می شود پس از این عملیات تست و تصحیح IS انجام شود.

گزینه 2 (در صورت عدم وجود نسخه پشتیبان):

این گزینه به عنوان آخرین نی در نظر گرفته شد. زیرا پیکربندی در حال توسعه بود و آنها با اتکا به فضای ذخیره سازی، نسخه پشتیبان را کمی فراموش کردند.
در پایگاه داده، دو رکورد از جدول "Config" با مقدار موجود در ستون "FileName" - dbStruFinal حذف می شود و commit می شود.

درخواست زیر مطرح می شود:
از GO DELETE FROM استفاده کنید. WHERE FileName = "dbStruFinal" برو DELETE FROM. WHERE FileName = "commit" GO
به اندازه کافی عجیب، پایه زنده می شود.

برچسب‌ها: 1s enterprise 8.2، SQL، بازیابی پیکربندی

این مقاله قابل نظر نیست، زیرا نویسنده آن هنوز عضو کامل جامعه نیست. فقط پس از دریافت نویسنده می توانید با او تماس بگیرید

زمینه

ما نیاز به ایجاد یک ثبت اطلاعات جدید "MessageTrackingLog" داشتیم. به پیکربندی اضافه شد، داده ها بارگیری شد. سپس کار بهینه سازی آمد. مجبور شدم ساختار رجیستر را تغییر دهم. اما آنجا نبود!

اینجا همه چیز روشن است. ورودی ها غیر منحصر به فرد شده اند، باید آنها را حذف کنید!

ساده ترین راه این است:

NewRecord =RegistersInfo.MessageTrackingLog.CreateRecordSet(); NewRecord.Record();

با این روش رجیستر را در 1C خیلی سریع پاک می کنیم (اما این هم اشتباه ما خواهد بود).

اشتباه

به نظر می رسد که رجیستر خالی است و می توانید 1C را به روز کنید. من نمی خواهم شما را غافلگیر کنم، اما دوباره یک خطا وجود دارد:


خطا چیست:

هنگام به‌روزرسانی پایگاه اطلاعات، یک خطای حیاتی روی داد
به خاطر اینکه:
تلاش برای درج یک مقدار غیر منحصر به فرد در یک شاخص منحصر به فرد:
Microsoft SQL Server Native Client 11.0: دستور CREATE UNIQUE INDEX خاتمه یافت زیرا یک کلید تکراری برای نام شی "dbo._InfoRgChngR34546NG" و نام فهرست "_InfoR34546_ByNodeMsg_RNTSRRRRRRNG" پیدا شد. مقدار کلید تکراری (0x00000011,d7, , Sep 27 4015 10:22 PM, 768404.00.00.00.00.00.00).
HRESULT=80040E2F، SQLSrvr: SQLSTATE=23000، حالت=1، شدت=10، بومی=1505، خط=1

توضیح

بیایید ساختار SQL را درک کنیم. ما یک ثبت نام داریم "MessageTrackingLog"، در SQL در جدول " _InfoR34546". می توانید این را با پردازش خاص یا روش "poke" بررسی کنید (نیازی نیست که این کار را انجام دهیم، زیرا نام جدول قبلاً در متن خطا مشخص شده است).

حالا بگذارید توضیح بدهم چه اتفاقی افتاده است. وقتی داده ها را در رجیستر بارگذاری کردیم، سپس در SQL آنها وارد جدول شدند " _InfoR34546". وقتی جدول را با کد 1C پاک کردیم، این داده ها از جدول حذف شد " _InfoR34546، اما آنها در جدول کپی شدند. _InfoRgChngR34546". این مشکل شد.

تصمیم

برای حل مشکل، باید جدول SQL "_InfoRgChngR34546" را پاک کنیم.

من به عنوان مثال "Microsoft SQL Server Management Studio" را به شما می گویم. می رویم به " مدیریت استودیو". پایگاه داده خود را پیدا می کنیم، تب جداول را باز می کنیم، روی هر کدام کلیک می کنیم و دکمه "پرس و جو جدید" را فشار می دهیم: اکنون پرس و جو را تایپ می کنیم.

جدول کوتاه "_InfoRgChngR34546"

می توانید یک میز دیگر هم داشته باشید! فراموش نکن!

و Run یا F5 را فشار دهید. این چیزی است که نتیجه باید باشد:

همه چیز، اکنون می توانید با خیال راحت 1C را به روز کنید و هیچ خطایی وجود نخواهد داشت!

ما به یک سرور جدید منتقل شدیم. روی آن SQL و 1C. نسبت به قدیمی ها خیلی خنک تر بود. و تست Gilev نیز این موضوع را تایید کرد: در سرورهای قدیمی 39 در مقابل 10-15 را نشان داد.بنابراین بلافاصله پس از خرید پایگاه داده را انتقال دادیم و شروع به کار کردیم.

اما در مقطعی، مشکلی پیش آمد - کاربران شروع به شکایت از کندی کار کردند. ما تنظیمات خاصی را برای سرور و خدمات انجام دادیم (که موضوع یک پست جداگانه است) و تصمیم گرفتیم سرور را مجددا راه اندازی کنیم، زیرا سرعت راه اندازی مجدد 2 دقیقه بود (در سرورهای دیگر به 10 رسید). پس از آن، هنگام وارد کردن 1C، پیام زیر را دریافت می کنیم:

"توجه!!! هنگام به‌روزرسانی داده‌ها پس از آخرین بازسازی، خطایی روی داد. دوباره امتحان کنید؟" "نه واقعا"

پس از کلیک بر روی دکمه "بله"، موارد زیر ظاهر می شود:

"عملیات ذخیره پیکربندی ناقص شناسایی شد. برای ادامه باید عملیات را کامل کنید."

اولین کاری که تصمیم گرفتم انجام دهم CHECKDB در Managment Studio بود - پس از 2 ساعت انتظار (بانک اطلاعاتی 500 گیگابایت) - همه چیز اوکی است.

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

راه حل های ارائه شده در شبکه فوراً کمکی نکردند، اما همراه با اقدامات دیگر، نتیجه دادند. پس کاری که من کردم:

تصمیم:

  1. آنچه برای راه حل های شبکه از دست رفته بود:

sp_configure "اجازه به روز رسانی"، 1
پیکربندی مجدد با لغو
برو

2. پایگاه داده را به حالت بازیابی منتقل کنید

تغییر مجموعه پایگاه داده EMERGENCY، SINGLE_USER

3. ما آزمایش پایگاه داده را انجام می دهیم:

dbcc checkdb('db_name', REPAIR_ALLOW_DATA_LOSS)

4. پایگاه داده را از حالت بازیابی خارج می کنیم:

تغییر مجموعه پایگاه داده ONLINE، MULTI_USER

5. در اصل، اگر مطمئن هستید که همه چیز با خود بیس اوکی است، پس نمی توانید 2-4 امتیاز انجام دهید. در مرحله بعد، دو کوئری را در پروفایلر SQL اجرا می کنیم:

حذف از پیکربندی که در آن FileName = 'commit'
حذف از پیکربندی که در آن FileName = 'dbStruFinal'

این ورودی ها مسئول به روز رسانی پویا هستند - نمی توانید از حذف آنها بترسید.

در نسخه های کاری پایگاه های داده، پرس و جوها:

* از پیکربندی WHERE FileName = 'commit' را انتخاب کنید

* را از Config انتخاب کنید WHERE FileName = 'dbStruFinal'

خالی خواهد بود

6. تنظیمات را برگردانید:

sp_configure "اجازه به روز رسانی"، 0
برو

7. پس از آن، ما موفق به راه اندازی configurator شدیم و پایگاه داده شروع به کار کرد.

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

برترین مقالات مرتبط