2017-12-06 9 views
0

これは変です - 私はそれを効果的に検索することすらできませんでした。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のように定義し、後で変更された可能性が高いです。しかし、テーブルをスクリプト化すると、なぜ現在の列幅が表示されませんか?

残念ながら、私たちは間違った幅を割り当てているため、「スクリプトに頼っている」と思われるサードパーティの移行ユーティリティを使用しています。あらゆるアイデアを歓迎します

答えて

0

このオプションを試すと、データベースを右クリックしてタスクを選択し、スクリプトの生成を選択します。ウィザードに従って手順を実行し、必要なオブジェクトのスクリプトを生成します。

+0

興味深いアイデアですが、「script as ...」と同じ結果が返されます。 – Ceemack

関連する問題