1. 只读表必须放在只读数据库中吗?
2. 只读表中的数据可以删除吗?

解决方案 »

  1.   

    文件组可以标记为只读。任何现有的文件组(主文件组除外)都可以标记为只读。不能使用任何方式对标记为只读的文件组进行修改。对于不允许修改的表(如历史数据),可以将它们置于文件组中,然后将这些文件组标记为只读。这可以防止意外的更新。使用只读用户定义文件组和只读数据库的 NTFS 压缩
    SQL Server 2005 支持只读用户定义文件组和只读数据库的 NTFS 压缩。应在下列情形下考虑压缩只读数据: 有大量的静态数据或历史数据必须限制为只读访问。
    磁盘空间有限。管理注意事项
    仅支持 Windows NTFS 压缩。有关详细信息,请参阅 Windows NTFS 文档。
    支持将存储在只读用户定义 (.NDF) 文件组中的用户数据进行数据压缩。除非数据库自身是只读的,否则无法压缩主文件组和事务日志。
    若要压缩用户定义文件组文件,数据库必须处于脱机状态。有关详细信息,请参阅 ALTER DATABASE (Transact-SQL)。
    若要压缩文件或验证文件的压缩状态,请使用 Windows COMPACT 命令或 Windows 资源管理器。有关详细信息,请参阅 Windows 文档。
    无法压缩 SQL Server 系统数据库(如 master、model、msdb、resource 和 tempdb)。
    SQL Server 备份和还原操作支持压缩文件组。无需对备份和还原的实施进行修改。操作系统压缩对备份和还原操作是透明的。
    完全支持 ALL SELECT 语句和只读操作。这些语句的执行时间将比非压缩文件组上相同语句的执行时间长。
    若要修改压缩数据,必须解压缩文件并将文件组设置为读/写。
    只读数据库的主文件组和用户定义文件组均可以压缩。必须使用 NTFS 压缩来压缩关联文件。
    压缩文件组支持附加数据库操作。在分离数据库之前,必须将文件组设置为只读。在附加数据库之前,必须压缩文件。辅助文件组压缩示例
    在此示例中,销售订单事务从生产数据库转移到 SalesArchive(在只读、压缩文件组上存储的存档数据库)。还将间歇性地搜索数据用于销售分析和预测,但不修改数据。 在为从生产数据库移动数据作准备时,数据库管理员 (DBA) 将在 SalesArchive 上创建一个读/写文件组 Sales01。Sales01 位于 NTFS 目录。
    DBA 将从生产数据库复制销售订单事务来将基于 Sales01 文件组创建的表进行存档。
    在 SalesArchive 数据库为所有用户服务后,DBA 将更改数据库并将 Sales01 文件组设置为只读,然后使数据库处于脱机状态。
    DBA 可以使用 Windows COMPACT 命令来压缩 Sales01.ndf 文件。有关详细信息,请参阅 Windows NTFS 文档。
    DBA 使 SalesArchive 数据库联机。数据现已压缩,可用于只读访问。
      

  2.   

    我好像印象里面曾经看过一个资料,说什么数据库的表还是数据库本事可以设成只读的,这样的话很多其他的设置SqlServer都会省去,对于查询效率有相当大的提高,这种方式用户存放历史数据等等,我现在找不到那篇文章了,晕,明天结贴,谢谢大家