Dica
SQL Server Select Into para novo Filegroup
Uma novidade do SQL 2017 muito interessante e que há muito era pedida é a possibilidade de realizar um Select Into para um filegroup diferente.

Isso facilitará a movimentação de tabelas existentes para um novo filegroup ou criação de cópias em um filegroup diferente.

Esse script abaixo faz uma pequena demonstração: 


-- Criação de um banco com 2 filegroups 
CREATE DATABASE Sales
on Primary
   (NAME = Sales_dat, FILENAME = 'C:\BancosAdmin\Sales.mdf',
      SIZE = 8MB, MAXSIZE = 500MB, FILEGROWTH = 20% ),
Filegroup FG1 -- Default 
   (NAME = Sales_dat2, FILENAME = 'C:\BancosAdmin\Sales2.ndf',
      SIZE = 8MB, MAXSIZE = 500MB, FILEGROWTH = 20% ),
   (NAME = Sales_dat3, FILENAME = 'C:\BancosAdmin\Sales3.ndf',
      SIZE = 8MB, MAXSIZE = 500MB, FILEGROWTH = 20% )
LOG ON
   (NAME = Sales_log, FILENAME = 'C:\BancosAdmin\Sales.ldf',
      SIZE = 20MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10MB );
go

use sales
go

-- Criação de uma tabela no filegroup primary 
create table teste
( id int identity(1,1) primary key,
texto char(8000))go

-- Inserindo dados 
insert into teste values ('x')
go 10

-- Criando uma cópia da tabela 
-- em outro filegroup 
select * into teste2 on FG1 FROM TESTE

-- Checando a alocação da tabela no 
-- filegroup original 
-- Observe o id do arquivo 
select extent_file_id,count(*)
from
sys.dm_db_database_page_allocations
(DB_ID('Sales'),OBJECT_ID('teste'),1,1,'DETAILED')
group by extent_file_idgo

-- Checando a alocação da nova 
-- tabela 
-- Observe o id do arquivo 
select extent_file_id,count(*)
from
sys.dm_db_database_page_allocations
(DB_ID('Sales'),OBJECT_ID('teste2'),0,1,'DETAILED')
group by extent_file_idgo


Búfalo Informática
e-mail: Contato@bufaloinfo.com.br
Telefones: (21) 99240-7281 (21) 99240-5134