附加和分离数据库
Microsoft�0�3 SQL Server�6�4 2000 允许分离数据库的数据和事务日志文件,然后将其重新附加到另一台服务器,甚至同一台服务器上。分离数据库将从 SQL Server 删除数据库,但是保持在组成该数据库的数据和事务日志文件中的数据库完好无损。然后这些数据和事务日志文件可以用来将数据库附加到任何 SQL Server 实例上,包括从中分离该数据库的服务器。这使数据库的使用状态与它分离时的状态完全相同。
如果想按以下方式移动数据库,则分离和附加数据库很有用:
1 从一台计算机移到另一台计算机,而不必重新创建数据库,然后手动还原数据库备份。
2 移到另一物理磁盘上,例如,当包含该数据库文件的磁盘空间已用完,您希望扩充现有的文件而又不愿将新文件添加到其它磁盘上的数据库。
将数据库或数据库文件移动到另一服务器或磁盘:
1 分离数据库。
2将数据库文件移到另一服务器或磁盘。
3通过指定移动文件的新位置附加数据库。
当附加在数据库上时,必须指定主数据文件的名称和物理位置。主文件包含查找由数据库组成的其它文件所需的信息,除非自分离了数据库后那些文件中的一个或多个已改变了位置。除主文件外,还必须指出其它任何已改变位置的文件。否则,SQL Server 将试图基于存储在主文件中的不正确的文件位置信息附加文件,且不能成功附加数据库。
如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库用于复制,则应运行 sp_removedbreplication 从数据库中删除复制。或者,可以在分离数据库之前从数据库中删除复制。
分离数据库时所产生的错误可能会防碍干净地关闭数据库和重建事务日志。如果收到错误信息,请执行下列 *** 作以纠正错误:
1 重新附加所有与数据库相关联的文件,而不仅是主文件。
2 解决导致错误信息的问题。
3 再次分离数据库。
示例B 创建一个包含下列物理文件的名为 Archive 的数据库:
c:\program files\microsoft sql server\mssql\data\archdat1mdf
c:\program files\microsoft sql server\mssql\data\archdat2ndf
c:\program files\microsoft sql server\mssql\data\archdat3ndf
c:\program files\microsoft sql server\mssql\data\archlog1ldf
c:\program files\microsoft sql server\mssql\data\archlog2ldf
可以使用 sp_detach_db 存储过程分离该数据库,然后使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新附加。
--使用 sp_detach_db 存储过程分离该数据库
sp_detach_db ArchiveGO--使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新附加
SQL Server或 SQL Server Management Studio 在 Transact-SQL中有附加数据库功能。 *** 作者可以使用此功能来复制、移动或升级 SQL Server 数据库。附加数据库时,所有数据文件(MDF 文件和 LDF 文件)都必须可用。
不建议对“备份和恢复”使用分离和附加。 没有事务日志备份,并且可能会意外删除文件。在使用附加方法升级数据库后,该数据库将立即变为可用,然后自动进行升级。如果数据库具有全文检索,升级过程将导入、重置或重新生成它们,具体取决于全文升级选项服务器属性的设置。
扩展资料:
如果任何数据文件的路径不同于首次创建数据库或上次附加数据库时的路径,则必须指定文件的当前路径。在附加数据库时,如果 MDF 和 LDF 文件位于不同目录并且其中一条路径包含 \\\GlobalRoot,该 *** 作将失败。
不能附加或还原来自未知或不可信源的数据库。 此类数据库可能包含恶意代码,这些代码可能会执行非预期的 Transact-SQL 代码,或者通过修改架构或物理数据库结构导致错误。
使用来自未知源或不可信源的数据库前,需要在非生产服务器上针对数据库运行 DBCC CHECKDB ,然后检查数据库中的代码,例如存储过程或其他用户定义代码。
以上就是关于附加数据库 是什么意思怎样 附加数据库全部的内容,包括:附加数据库 是什么意思怎样 附加数据库、附加数据库有什么作用、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)