SQL Server:SSMS中的“脚本表为...”显示错误的列宽

时间:2017-12-06 22:04:56

标签: sql ssms sql-server-2016

这很奇怪 - 很奇怪我甚至都无法有效地搜索它。

我们正在将架构和代码更改迁移到属于新客户的数据库。我们试图通过右键单击表并选择“Script table as ...”来从Object Explorer中编写一些表。

我们得到的脚本是几代过时的,如果我们使用sp_help,则与我们得到的不匹配。

有两列确实导致了问题。如果我使用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,然后稍后进行更改。但是,如果我们编写表格,为什么不显示当前的列宽?

不幸的是,我们使用的第三方迁移实用程序似乎依赖于“脚本为”,因此我们分配了错误的宽度。欢迎任何想法。

1 个答案:

答案 0 :(得分:0)

尝试此选项右键单击数据库并选择任务,然后选择生成脚本。按照向导的步骤操作,并为您需要的对象生成脚本。