附加和分离 Analysis Services 数据库

适用于: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

通常,SQL Server Analysis Services数据库管理员 (dba) 希望使数据库脱机一段时间,然后在同一服务器实例或其他服务器实例上使该数据库重新联机。 根据业务需要(例如,将数据库移到另一个磁盘以获得更好的性能、为数据库扩容获取空间或升级产品),经常需要进行上述操作。 对于所有这些情况及更多情况,附加分离命令使 SQL Server Analysis Services dba 能够使数据库脱机,并使其重新联机,而不需要任何工作。

附加和分离命令。

通过 Attach 命令可使已脱机的数据库恢复联机。 可以将该数据库附加到原始的服务器实例,也可以附加到另一个实例。 在附加数据库时,用户可以为该数据库指定 ReadWriteMode 设置。 使用 Detach 命令可使数据库与服务器脱机。

附加和分离命令的用法

Attach 命令用于使现有数据库结构联机。 如果该数据库是在 ReadWrite 模式下附加的,则只能将其附加到服务器实例一次。 但是,如果此数据库是在 ReadOnly 模式下附加的,则可以将其多次附加到不同的服务器实例。 但是,不能将同一数据库多次附加到同一服务器实例。 即使已将数据复制到不同的文件夹中,在尝试多次附加同一数据库时也会引发错误。

重要

如果分离数据库时需要输入密码,则附加数据库时需要输入相同的密码。

Detach 命令用于使现有数据库结构脱机。 分离数据库时,应提供一个密码来保护机密的元数据。

重要

若要保护数据文件的内容,应针对文件夹、子文件夹和数据文件使用访问控制列表。

分离数据库时,服务器会执行下列步骤。

分离读/写数据库 分离只读数据库
1) 服务器会对数据库上的 CommitExclusive 锁发出请求

2) 服务器会等待,直到提交或回滚所有正在进行的事务

3) 服务器会构建分离数据库必须具备的所有元数据

4) 将数据库标记为已删除

5) 服务器提交事务
1) 将数据库标记为已删除

2) 服务器提交事务

注意:不能更改只读数据库的分离密码。 如果为已包含密码的附加数据库提供密码参数,则会产生错误。

AttachDetach 命令必须作为单独的操作执行。 在同一事务中,不能将它们与其他操作一起执行。 同样, AttachDetach 命令都是原子事务命令。 这意味着操作只有成功或失败两种情况。 数据库不会处于未完成的状态。

重要

执行 Detach 命令需要服务器或数据库管理员权限。

重要

执行 Attach 命令需要服务器管理员权限。

另请参阅

移动 Analysis Services 数据库
数据库 ReadWriteMode
在 ReadOnly 和 ReadWrite 模式之间切换 Analysis Services 数据库
分离元素
附加元素