首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将生产环境的字段类型从INT修改为BIGINT

本文描述了我如何计划和执行从INT到BIGINT数据类型的更改。该技术在单独的SQL服务器实例上创建表的新副本,并使用BIGINT数据类型,然后使用对象级恢复将其移到生产数据库中。...评估可选方案 最为直接的方式就是修改表字段类型。但是相应的停机时间就会很长,ID列是聚集索引,因此修改前还必须删除索引键。问题一下子就浮出水面了。 如果用这种方式修改,推测会引起至少好几个小时的停机。...假定已经将数据库恢复到一个开发环境,并从创建副本表开始 创建副本数据表 在一个新还原的AdventureWorks数据库中,创建一个PersonNEW表,使用BIGINT数据类型作为聚集索引列,如下所示...然后,我将新的表(PersonNEW)从备份恢复到新的staging数据库。 这是一种烟雾测试,以确保相同的对象级别恢复,从开发到生产将完全按照预期工作。...这种方法将停机时间从可能的9小时缩短到15分钟,并且大量的密集工作都从生产实例中删除了。我没有看到使用对象级恢复对表的恢复有多大影响。 总结 有许多方法可以将数据类型更改用于生产数据库。

3K10

SQL Server 索引和表体系结构(包含列索引)

2.将大数据类型设为非键列 CREATE NONCLUSTERED INDEX [IX3_Customers] ON [dbo]....只能对表或索引视图的非聚集索引定义非键列。 除 text、ntext 和 image 之外,允许所有数据类型。 精确或不精确的确定性计算列都可以是包含列。有关详细信息,请参阅为计算列创建索引。...与键列一样,只要允许将计算列数据类型作为非键索引列,从 image、ntext 和 text 数据类型派生的计算列就可以作为非键(包含性)列。...列修改准则 修改已定义为包含列的表列时,要受下列限制: 将列的为空性从 NOT NULL 改为 NULL。 增加 varchar、nvarchar 或 varbinary 列的长度。...特别是,将 varchar(max)、nvarchar(max)、varbinary(max) 或 xml 数据类型添加为非键索引列会显著增加磁盘空间要求。这是因为列值被复制到了索引叶级别。

1.4K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何将生产环境的字段类型从INT修改为BIGINT

    本文描述了我如何计划和执行从INT到BIGINT数据类型的更改。该技术在单独的SQL服务器实例上创建表的新副本,并使用BIGINT数据类型,然后使用对象级恢复将其移到生产数据库中。...评估可选方案 最为直接的方式就是修改表字段类型。但是相应的停机时间就会很长,ID列是聚集索引,因此修改前还必须删除索引键。问题一下子就浮出水面了。 如果用这种方式修改,推测会引起至少好几个小时的停机。...假定已经将数据库恢复到一个开发环境,并从创建副本表开始 创建副本数据表 在一个新还原的AdventureWorks数据库中,创建一个PersonNEW表,使用BIGINT数据类型作为聚集索引列,如下所示...然后,我将新的表(PersonNEW)从备份恢复到新的staging数据库。 这是一种烟雾测试,以确保相同的对象级别恢复,从开发到生产将完全按照预期工作。...这种方法将停机时间从可能的9小时缩短到15分钟,并且大量的密集工作都从生产实例中删除了。我没有看到使用对象级恢复对表的恢复有多大影响。 总结 有许多方法可以将数据类型更改用于生产数据库。

    5.1K80

    关于数据存储类型的一点分析

    首先是LOB页,这类是用于存储存在数据库的二进制文件所设计,当这个类型的列出现时,在原有的列会存储一个24字节的指针,而将具体的二进制数据存在LOB页中,除去Text之外,VarBinary(max)也是存在...DateTimeOffSet(外加时区) 10     2.使用VarChar(Max),Nvarchar(Max),varbinary(Max)来代替text,ntext和image类型    ...根据前面的基础知识可以知道,对于text,ntext和image类型来说,每一列只要不为null,即使占用很小的数据,也需要额外分配一个LOB页,这无疑占用了更多的页。...图4.使用char(5)类型,每行所占的空间为16字节     下面我们再来看改为Varchar(5),此时的页信息,如图5所示。 ?    ...因此,当实际列存储的内容长度小于5字节时,使用char而不是varchar会更节省空间。 关于Null的使用     关于Null的使用也是略有争议。

    89360

    如何将SQLServer2005中的数据同步到Oracle中

    第一个SQL语句是看SQL转Oracle的类型对应,而第二个表则更详细得显示了各个数据库系统的类型对应。根据第一个表和我们的SQLServer中的字段类型我们就可以建立好Oracle表了。...    BLOB    NULL    0    1 ORACLE    varbinary    RAW    -1    4    1 ORACLE    varbinary(max)    BLOB...    BLOB    NULL    0    1 ORACLE    varbinary    RAW    -1    4    1 ORACLE    varbinary(max)    BLOB...    BLOB    NULL    0    1 ORACLE    varbinary    RAW    -1    4    1 ORACLE    varbinary(max)    BLOB...我们将Oracle系统作为SQLServer的链接服务器加入到SQLServer中。

    3K40

    如何从 SQL Server 恢复已删除的数据

    现在,从 SQL Server 2005 或更高版本恢复已删除的数据非常容易。(注意:此脚本可以恢复以下数据类型并与 CS 排序规则兼容)。...] sql_variant, [Col_ntext] ntext, [Col_bit] bit, [Col_decimal] decimal(18,4), [Col_numeric] numeric(18,4...] ,[Col_ntext] ,[Col_bit] ,[Col_decimal] ,[Col_numeric] ,[Col_smallmoney] ,[Col_bigint] ,[Col_varbinary...dbo.Student' AND Context IN ('LCX_MARK_AS_GHOST', 'LCX_HEAP') AND Operation in ('LOP_DELETE_ROWS') 该查询将返回提供不同信息的列数...现在我们需要根据定义为 [ System_type_id ] 的数据类型转换数据。每种类型都有不同的 数据转换机制。 步骤7: 最后,我们对数据进行数据透视表,您将看到结果。删除的数据又回来了。

    24210

    小议隐式转换引起的问题

    tinyint                                    bit                                    ntext...                                char                                    varbinary(包括 varbinary(max)...; 而图2,主键改为varchar类型,参数改为int类型执行计划采用了非聚集索引扫描,IO势必增加不少。...简单说基本上, 有三种比较表达式选项:   1.转换右侧数据类型为左侧数据类型。   2.转换左侧数据类型为右左侧数据类型。   3.将两者转换到第三方数据类型 这部分就不一一赘述了。...具体解决上要根据实际情况进行数据类型的转换或者注意类型的兼容性和优先级。由于隐式转换查询带来的性能问题甚至由于主键扫描带来的锁的问题,都需要开发人员了解这部分的原理,从根源上避免这类事件的发生。

    1.1K90

    SQL Server 数据类型

    其中,n 的取值范围是从 1 到 8000。其存存储的大小是 n + 4 个字节。   Varbinary[(n)] 是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。...在 SQL Server 中,Unicode 数据以 Nchar、Nvarchar 和 Ntext 数据类型存储。使用这种字符类型存储的列可以存储多个字符集中的字符。...当列的长度变化时,应该使用Nvarchar 字符类型,这时最多可以存储 4000 个字符。当列的长度固定不变时,应该使用 Nchar 字符类型,同样,这时最多可以存储4000 个字符。...当使用 Ntext 数据类型时,该列可以存储多于 4000 个字符。...因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。 (6)货币数据表示正的或者负的货币数量 。

    2.1K10

    数据库应用技术系列第一讲 创建数据库和表

    (2)varbinary [(n)]:n个字节变长二进制数据。n取值范围为1~8 000,默认为1。varbinary(n)数据的存储长度为实际输入数据长度+4个字节。...若创建表时定义一个列的数据类型为时间戳类型,那么每当对该表加入新行或修改已有行时,都由系统自动将一个计数器值加到该列,即将原来的时间戳值加上一个增量。...该类型是为了向下兼容而保留的数据类型,微软推荐用户使用varbinary(MAX)数据类型来替代image类型。...(2)sql_variant:一种存储SQL Server支持的各种数据类型(除text、ntext、image、timestamp和sql_variant外)值的数据类型。...此时若输入数据,如果成绩不是在0~100的范围内,系统将报告错误。

    1.5K20

    SQL Server 使用全文索引进行页面搜索

    您可以对以下类型的列创建全文索引:char、varchar、nchar、nvarchar、text、ntext、image、xml、varbinary 和varbinary(max),从而可对这些列进行全文搜索...对数据类型为 varbinary、varbinary(max)、image 或 xml 的列创建全文索引需要您指定类型列。...其职责之一是从全文索引列中收集数据,并将所收集的数据传递给筛选器后台程序宿主,从而由该宿主根据需要应用筛选和断字符。...筛选器 某些数据类型需要筛选,然后才能为文档中的数据(包括 varbinary、varbinary(max)、image 或 xml 列中的数据)创建全文索引。给定文档采用何种筛选器取决于文档类型。...与全文索引中的表列相关的语言将决定为列创建索引时要使用的断字符和词干分析器。

    2.9K50

    SQL Server 使用全文索引进行页面搜索

    您可以对以下类型的列创建全文索引:char、varchar、nchar、nvarchar、text、ntext、image、xml、varbinary 和varbinary(max),从而可对这些列进行全文搜索...对数据类型为 varbinary、varbinary(max)、image 或 xml 的列创建全文索引需要您指定类型列。...其职责之一是从全文索引列中收集数据,并将所收集的数据传递给筛选器后台程序宿主,从而由该宿主根据需要应用筛选和断字符。...筛选器 某些数据类型需要筛选,然后才能为文档中的数据(包括 varbinary、varbinary(max)、image 或 xml 列中的数据)创建全文索引。给定文档采用何种筛选器取决于文档类型。...与全文索引中的表列相关的语言将决定为列创建索引时要使用的断字符和词干分析器。

    3.3K70

    数据类型(一)

    数据类型(一)指定 SQL 实体(如列)可以包含的数据类型。...描述此处描述了以下主题:支持的 DDL 数据类型及其类属性映射表数据类型优先级用于从具有不同数据类型的数据值中选择最具包容性的数据类型 日期、时间、PosixTime 和时间戳数据类型 使用SqlCategory...和用户定义的标准对 1840 年 12 月 31 日之前的日期的可配置支持支持字符串数据类型、列表数据类型和流数据类型支持 ROWVERSION 数据类型IRIS® 数据平台 ODBC / JDBC 公开的数据类型使用查询元数据方法和数据类型整数代码确定列的数据类型创建用户定义的数据类型处理未定义的数据类型数据类型转换函数数据类型指定列可以保存的值的种类...具有此数据类型的 SQL 列返回的默认精度为 20。...客户端仅分配将数据保存为本机类型所需的内容。精确度和范围NUMERIC(6,2) 等数值数据类型具有两个整数值 (p,s) 精度和小数位数。

    87320
    领券