これは変です - 私はそれを効果的に検索することすらできませんでした。SQL Server:SSMSの "Script table as ..."が間違った列幅を示しています
スキーマとコードの変更を新しい顧客に属するデータベースに移行しています。オブジェクトエクスプローラからテーブルを右クリックし、[スクリプトテーブルを...]を選択すると、いくつかのテーブルをスクリプト化しようとしています。
私たちが取得するスクリプトは、いくつかの世代が古く、sp_helpを使用した場合に得られるものと一致しません。
実際に問題を引き起こしているのは2つの列です。 sp_help
を使用すると、列は70文字と30文字の長さで定義されます。これが現在の長さです。
MEMBER_LAST_NAME nvarchar no 70 yes (n/a) (n/a) Latin1_General_BIN
MEMBER_FIRST_NAME nvarchar no 30 yes (n/a) (n/a) Latin1_General_BIN
しかし、私はスクリプトテーブル、長さが半分にカットされている場合:
[MEMBER_LAST_NAME] [nvarchar](35) NULL,
[MEMBER_FIRST_NAME] [nvarchar](15) NULL,
は今、それは列が最初に35と15のように定義し、後で変更された可能性が高いです。しかし、テーブルをスクリプト化すると、なぜ現在の列幅が表示されませんか?
残念ながら、私たちは間違った幅を割り当てているため、「スクリプトに頼っている」と思われるサードパーティの移行ユーティリティを使用しています。あらゆるアイデアを歓迎します
興味深いアイデアですが、「script as ...」と同じ結果が返されます。 – Ceemack