تغییر نوع ستون در یک جدول
سلام
یک جدول داریم بصورت زیر می باشد
CREATE TABLE [dbo].[PePicutre]( [Id] [int] IDENTITY(1,1) NOT NULL, [PersonnelID] [int] NOT NULL, [LENGTH] [int] NULL, [Picture] [image] NULL, [TYPE] [int] NULL)
درحدود150000 رکود ذخیره شده است حال می خواهم نوع داده PersonnelID از int به bigint تغییر بدهم
ویزاردی قبول نمی کند و همچنین از تغییر کد زیر هم قبول نمی کند
ALTER TABLE [dbo].[PerssonelPicutre] ALTER COLUMN [PersonnelID] bigint
و ارور زیر را می دهد
Msg 5074, Level 16, State 1, Line 1
The index 'IX_PerssonelPicutre' is dependent on column 'PersonnelID'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE ALTER COLUMN PersonnelID failed because one or more objects access this column.
و ویزاردی هم هشدار زیر می اید
PerssonelPicutre' table
- Saving Definition Changes to tables with large amounts of data could take a considerable amount of time. While changes are being saved, table data will not be accessible.
و
PerssonelPicutre' table
- Unable to modify table.
Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
می اید
برای تغییر دیتاتایپ چکار باید کنم
باتشکر
3 پاسخ
سلام مجدد، ایندکس IX_PerssonelPicutre رو قبل از به روز رسانی DROP کنید و بعد از به روزرسانی مجدد ایجاد کنید ببینید مشکل حل میشه؟ می تونید CREATE SCRIPT از روی ایندکس بگیرید و بعد از UPDATE مجدد اجراش کنید.
سلام ابوالفضل جان، برای تغییر از بخش Designer تو قسمت تنظیمات (Options) توی Management Studio گزینه زیر رو که تو عکس مشخص شده تیکش و بردار:
سلام
مشکل بعلت بالا بودن تعداد رکوردها است وگرنه تیک مربوطه از هنگام نصب برداشته شده است