[SQL SERVER][TSQL]建立唯讀資料表
建立唯讀資料表有什麼好處?唯讀資料表可以讓SQL Server 不再重新編譯執行計畫,
這裡自己紀錄一下 Readonly FileGroup。
使用Readonly FileGroup
alter database myspace add filegroup readonlyTables
alter database myspace add file
(
name='readonlytbls',filename='D:\sqldata\readonlytbls.ndf',size=100mb,maxsize=1gb,filegrowth=100mb
) to filegroup readonlyTables
create table testA
(
c1 int identity(1,1),
c2 varchar(10)
) on readonlyTables
insert into testA values('rico'),('papa'),('spig'),('spapa')
--唯讀檔案群組
alter database myspace modify filegroup readonlyTables readonly
ps.透過權限只能達到部份唯讀,
因為無法授與、拒絕或撤銷 sa、dbo、實體擁有者、information_schema、sys 或自己的權限,
不過真正來說檔案群組還是無法避免 sysadmins role 修改,這時只能再使用稽核去紀錄相關操作。
參考