SQL Server 2017 SELECT…INTO 创建的新表指定到文件组
原文:SQL Server 2017 SELECT…INTO 创建的新表指定到文件组

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 master
go
create database Demo
go
use Demo
go
create 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 on
insert into Test(userName) select 'kk'+convert(varchar(10),@@identity)
go 100
set nocount off
go--创建文件组及文件
alter database Demo add filegroup fg;
go
alter database Demo
add file
(name='fg_data',filename = 'D:\SQLServer\Data2017/Demo1.mdf'
)
to filegroup fg;
go--注意:SELECT…INTO 创建的新表指定到文件组
select *
into newTest on fg
from Test
go--查看结果:
SELECT tbl.name AS TableName,fg.name AS [FileGroupName],CAST(p.rows AS float) AS [RowCount]
FROM sys.tables AS tbl
INNER 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_id
LEFT OUTER JOIN sys.destination_data_spaces AS dds ON dds.partition_scheme_id = idx.data_space_id and dds.destination_id = p.partition_number
LEFT OUTER JOIN sys.filegroups AS fg ON fg.data_space_id = dds.data_space_id or fg.data_space_id = idx.data_space_id
WHERE (p.partition_number=1)
go

参考: https://docs.microsoft.com/zh-cn/sql/t-sql/queries/select-into-clause-transact-sql

posted on 2018-01-26 10:52 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/8358478.html

SQL Server 2017 SELECT…INTO 创建的新表指定到文件组相关推荐

  1. Win7 X64 SQL SERVER 2000企业管理器无法建立新表

    现象是点建立新表后是个空白窗口 解决方案: 点住某已有表(可以是系统表)再选择建立新表,然后OK了 PS:这个估计是某个系统BUG吧

  2. SQL Server 2017的逐步安装

    介绍 (Introduction) The new SQL Server 2017 comes with new features in the installation. It now suppor ...

  3. linux配置conf_如何使用mssql-conf和其他可用工具在Linux上配置SQL Server 2017

    linux配置conf Configuration of any system plays a vital role in its working efficiently. However, conf ...

  4. dmv io读写高的sql_适用于DBA的前8大新(或增强)SQL Server 2017 DMV和DMF

    dmv io读写高的sql Dynamic management views (DMVs) and dynamic management functions (DMFs) are system vie ...

  5. SQL Server 2017 新功能分享

    本篇文章是我在MVP直通车分享的关于SQL Server 2017的新功能,现在ppt分享如下,可以点击这里下载. 转载于:https://www.cnblogs.com/CareySon/p/SQL ...

  6. 使用SQL Server 2017 Docker容器在.NET Core中进行本地Web API开发

    目录 介绍 先决条件 最好事先知道 假设 动机 跨平台 快速安装 经济有效 不同版本/多个实例 速度 持久性 找到SQL Server 2017镜像并在本地下载它 在没有卷挂载的情况下在本地执行SQ​ ...

  7. 在SQL Server 2017上充分利用Python

    介绍 (Introduction) One of the new features announced with SQL Server 2017 is support for the Python l ...

  8. 如何在SQL Server 2017中实现图形数据库

    介绍 (Introduction) Graph database 图形数据库 A graph database is a type of database whose concept is based ...

  9. SQL Server 2017:mTVF的交错执行

    In this post, we are going to look at the new feature in SQL Server 2017 – interleaved execution. Yo ...

最新文章

  1. 浅谈https\ssl\数字证书
  2. oracle期末重点,oracle期末复习题及答案
  3. VTK修炼之道54:图形基本操作进阶_表面重建技术(三角剖分)
  4. 网易云信亮相WOT, 打造“IM+连麦互动直播”云服务
  5. MybatisPlus添加操作
  6. jquery 字符串查找_Python Appium 库IOS特有元素查找API介绍
  7. opencv 运动追踪_足球运动员追踪-使用OpenCV根据运动员的球衣颜色识别运动员的球队
  8. 信息技术与计算机文化的问题,信息技术与计算机文化
  9. 一台服务器装两个sql server 如何访问吗_服务器多网卡多路由策略
  10. copula函数(高斯copula函数)
  11. S32K1XX系列单片机 ——(1)开发环境搭建
  12. lpush rpush 区别_redis中lpush、rpush、lset、lrem是什么
  13. 程序设计思维与实践 Week15 作业
  14. DiskGenius无法分区
  15. 【数学模型】基于Volterra理论的捕食模型
  16. Android App开发动画特效中遮罩动画的讲解及实战演示(附源码 简单易懂 可直接使用)
  17. 裸奔的智能插座:博联Broadlink SP2/SP mini的分析、破解
  18. IDEA-自定义常用代码块
  19. 最大不相交子集 POJ1328
  20. 数据包结构(IVI,NID,CTL,TTL,SEQ,SRC,DST,TransPDU,NetMIC)

热门文章

  1. 【iCore4 双核心板_ARM】例程十一:DMA实验——存储器到存储器的传输
  2. NET中对象的构建过程
  3. LeetCode(412)——Fizz Buzz(JavaScript)
  4. java 缓冲流 刷新_java – 缓冲和刷新Apache Beam流数据
  5. 力扣 数组中的最长山脉
  6. 感觉养老金越涨差距越大,有人提议高于5000的不再上涨,合理吗?
  7. 微信为什么没有开屏广告?
  8. 进大学时高考成绩是班里第一,同样也是努力学习,为什么大学时做不到第一了呢?
  9. 应该用怎样的态度对待孩子?
  10. 和公婆住在一起是什么体验?