50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

تغییر بخشی از چندین رکورد در sql server

با سلام

اگر در یک جدول sql بیش از یک میلیون رکورد تاریخ داشته باشم به تاریخ 2016 البته فیلد مربوطه از نوع datetime است و بخوام همه رو بکنم 2019 چطوری باید عمل کنم

ممنون

پرسیده شده در 1397/11/16 توسط

9 پاسخ

0

چک کنید درایوی که فایل Log روش هست فضای خالی داره؟

پاسخ در 1397/11/16 توسط
1

بله، منظور اسم فیلد مورد نظرتون هست.

پاسخ در 1397/11/16 توسط
0

جناب آقای احمدی

بعد از اجرای دستوری که فرمودید پیغام زیر رو میده

The transaction log for database 'NewSMDA' is full due to 'LOG_BACKUP'.

که بعدش من سعی کردم shrink بکنمش که نشد

بنظرتون مشکل از کجاست که پیغام full بودن log file رو میده ؟

پاسخ در 1397/11/16 توسط
1

یکبار از بانکتون Full Backup بگیرید و بعد اسکریپت زیر رو اجرا کنید ببینید حل میشه؟

USE DbName;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DbName
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (LogName, 1);
GO
-- Reset the database recovery model.
ALTER DATABASE DbName
SET RECOVERY FULL;
GO
پاسخ در 1397/11/16 توسط
0

ممنون ولی باز هم پیغام زیر رو داد

The transaction log for database 'NewSMDA' is full due to 'ACTIVE_TRANSACTION'.
پاسخ در 1397/11/16 توسط
1

سلام، وقت بخیر

شما می تونید از تابع DATEADD استفاده کنید، به این صورت:

UPDATE [Table] SET [DateCol] = DATEADD(YEAR, 3, [DateCol])

اسکریپت بالا 3 سال به همه تاریخ های جدول اضافه می کنه. البته کد بالا در صورتی جواب میده که همه تاریخ ها 2016 باشند.

پاسخ در 1397/11/16 توسط
2

روی دیتابیس راست کلیک کنید، گزینه Properties از قسمت Files چک کنید تنظیمات مربوط به AutoGrowth و MaxSize فایل ها چقدر هست:

SQL Server
پاسخ در 1397/11/16 توسط

پاسخ شما