DBCC SHRINKFILE
คำสั่งจะถูกสะท้อนจากเงินต้นไปยังฐานข้อมูลที่มิเรอร์ นี่คือหลักฐานบางอย่าง
สร้างฐานข้อมูลตัวอย่างบนหลักการ:
create database MirroredDb;
go
สร้างฐานข้อมูลเดียวกันจากข้อมูลสำรองด้วยNORECOVERY
:
restore database MirroredDb
from disk = '\\backupdir\MirroredDb.bak'
with norecovery;
go
ตั้งค่าเซสชันการมิเรอร์ของคุณอย่างไรก็ตามวิธีที่คุณเลือก
ในฐานข้อมูลหลักดูขนาดไฟล์ฐานข้อมูล:
use MirroredDb;
go
select
name,
size
from sys.database_files;
ชุดผลลัพธ์ของฉันดูเหมือนว่าต่อไปนี้:
name size
MirroredDb 392
MirroredDb_log 104
บนฐานข้อมูลมิเรอร์สร้างสแน็ปช็อตและดูข้อมูลเดียวกัน:
create database MirroredDbss
on
(
name = 'MirroredDb',
filename = 'c:\sqlserver\MirroedDb.ss'
)as snapshot of MirroredDb;
use MirroredDbss;
go
select
name,
size
from sys.database_files;
ชุดผลลัพธ์ของฉันมีลักษณะดังนี้:
name size
MirroredDb 392
MirroredDb_log 104
ตอนนี้ขยายไฟล์บันทึกธุรกรรมบนฐานข้อมูลหลัก (ฉันนำมาไว้ที่ 1 GB):
alter database MirroredDb
modify file
(
name = MirroredDb_log,
size = 1GB
);
go
ดูขนาดบันทึกธุรกรรมของฐานข้อมูลหลักตอนนี้เราเห็นขนาดที่ปรับแล้ว:
use MirroredDb;
go
select
name,
size
from sys.database_files;
ชุดผลลัพธ์ของฉันมีลักษณะดังนี้:
name size
MirroredDb 392
MirroredDb_log 131072
สร้างสแนปชอตอื่นบนฐานข้อมูลที่มิเรอร์และดูขนาดไฟล์บันทึกธุรกรรมที่นั่น:
create database MirroredDbss2
on
(
name = 'MirroredDb',
filename = 'c:\sqlserver\MirroedDb2.ss'
)as snapshot of MirroredDb;
use MirroredDbss2;
go
select
name,
size
from sys.database_files;
ชุดผลลัพธ์ของฉันมีลักษณะดังนี้:
name size
MirroredDb 392
MirroredDb_log 131072
ตอนนี้ทำDBCC SHRINKFILE
บนหลักการ :
use MirroredDb;
go
dbcc shrinkfile('MirroredDb_log', 0);
go
select
name,
size
from sys.database_files;
ชุดผลลัพธ์ของฉันคือ:
name size
MirroredDb 392
MirroredDb_log 104
สร้างสแนปชอตที่สามและสุดท้ายในฐานข้อมูลมิเรอร์และดูขนาด:
create database MirroredDbss3
on
(
name = 'MirroredDb',
filename = 'c:\sqlserver\MirroedDb3.ss'
)as snapshot of MirroredDb;
use MirroredDbss3;
go
select
name,
size
from sys.database_files;
และฉันได้รับชุดผลลัพธ์ต่อไปนี้:
name size
MirroredDb 392
MirroredDb_log 104
ดังนั้นอย่างที่คุณเห็นที่นี่DBCC SHRINKFILE
คำสั่งคือมิร์เรอร์จริง ๆ กับฐานข้อมูลมิเรอร์