博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server 2017 SELECT…INTO 创建的新表指定到文件组
阅读量:6938 次
发布时间:2019-06-27

本文共 1867 字,大约阅读时间需要 6 分钟。

原文:

SELECT…INTO 在 SQL Server 中也是常见的一个功能,过去用此方法创建的新表只能存储到默认的文件组,但是 SQL Server 2017 可以创建到指定的文件组中。

使用 SELECT…INTO 需要了解的地方:

SELECT...INTO 为大容量操作,大容量操作是最小日志记录操作;

使用 SELECT... INTO 语句可以是比创建表,然后填充具有 INSERT 语句的表更高效;

启用事务复制时,将完全记录 SELECT INTO 操作,即使处于大容量日志恢复模式下;

不能使用 SELECT…INTO 创建分区表;

SELECT...INTO 不使用源表的分区方案;

源表中定义的索引、约束和触发器不会转移到新表中;

指定 ORDER BY 子句无法确保按指定顺序插入行;

稀疏列属性不会转移到新表中的列;

当选择列表中包含计算列时,新表中的相应列并不是计算列;

在选择现有标识列并将其插入到新表时,新列将继承 IDENTITY 属性;除非以下条件中的一个为真,列将被创建为 NOT NULL 而不继承 IDENTITY 属性:

1. SELECT 语句包含一个联接。

2. 多个 SELECT 语句由 UNION 联接。

3. 标识列在选择列表内多次列出。

4. 标识列是表达式的一部分。

5. 标识列来自远程数据源。

测试 SELECT…INTO 创建的新表指定到文件组:

--创建测试数据use mastergocreate database Demogouse Demogocreate table Test(id int not null identity(1,1),userName varchar(50),addTime datetime constraint df_addtime default(getdate()) ) on [primary]go--插入100行数据set nocount oninsert into Test(userName) select 'kk'+convert(varchar(10),@@identity) go 100set nocount offgo--创建文件组及文件alter database Demo add filegroup fg;goalter database Demoadd file(	name='fg_data',	filename = 'D:\SQLServer\Data2017/Demo1.mdf')to filegroup fg;go--注意:SELECT…INTO 创建的新表指定到文件组select * into newTest on fgfrom Testgo--查看结果:SELECT tbl.name AS TableName,fg.name AS [FileGroupName],CAST(p.rows AS float) AS [RowCount]FROM sys.tables AS tblINNER JOIN sys.indexes AS idx 	ON idx.object_id = tbl.object_id and (idx.index_id < 2  or (tbl.is_memory_optimized = 1 	and idx.index_id = (select min(index_id) from sys.indexes where object_id = tbl.object_id)))INNER JOIN sys.partitions AS p ON p.object_id=CAST(tbl.object_id AS int) AND p.index_id=idx.index_idLEFT OUTER JOIN sys.destination_data_spaces AS dds ON dds.partition_scheme_id = idx.data_space_id and dds.destination_id = p.partition_numberLEFT OUTER JOIN sys.filegroups AS fg ON fg.data_space_id = dds.data_space_id or fg.data_space_id = idx.data_space_idWHERE (p.partition_number=1)go

参考: 

你可能感兴趣的文章
树形dp
查看>>
iptables nat
查看>>
frm+ibd文件还原data【方法1】 转载
查看>>
GIT命令图
查看>>
条件运算符
查看>>
我的友情链接
查看>>
jdbc连接mysql
查看>>
解决secureCRT显示中文为乱码
查看>>
大数字运算
查看>>
Servlet总结1---基础东西的介绍
查看>>
我的友情链接
查看>>
DotNetTextBoxV3.0在线编辑器控件Ver3.5.0 Open Source免费开源版
查看>>
使用Windows Azure 第一步就应该创建地缘组Affinity groups
查看>>
征询一下意见
查看>>
微信内置浏览器不支持APK附件下载的原因
查看>>
Linux下批量修改文件编码
查看>>
添加反爬策略1-User-Agent
查看>>
C程序设计导引(3)
查看>>
自己造容器List
查看>>
为什么你不应该自行更新 Drupal 网站?
查看>>