列のデータ型をsmallintからbigintに変更する必要があります(設計上の考慮事項が不十分です。質問しないでください)。TSQLを実行します
alter table dbo.Test alter column ProductionModeID bigint NULL
しかし、メッセージを受け取ります:
メッセージ5074、レベル16、状態1、行1オブジェクト「DF_Test_ProductionModeID」は列「ProductionModeID」に依存しています。
メッセージ4922、レベル16、状態9、行1 ALTER TABLE ALTER COLUMN ProductionModeIDは、1つ以上のオブジェクトがこの列にアクセスするために失敗しました。
DF_Test_ProductionModeID
dbo.Test>>Constraintsで見つけました。(私はどのようDF_Test_ProductionModeID
に作成されたかわかりませんし、それが存在する必要があるとは思いません)。[削除]を押して[OK]ボタンを選択すると、次のメッセージが表示されます。
===================================
デフォルトの「DF_Test_ProductionModeID」はサーバーに存在しません。(SqlManagerUI)
ヘルプが必要な場合は、次をクリックしてください:http: //go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1447.4+ ((KJ_RTM).100213-0103+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates .ObjectDoesNotExist&LinkId = 20476
プログラムの場所:
Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DoDropObject(Int32 objectRowIndex)at Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DropAllObjects(Boolean stopOnError)
それで私は今混乱しています、なぜならそれが存在しない場合、それはどのように列に依存することができるのでしょうか?