适用范围:SQL Server
在 SQL Server 中,通过在 ALTER DATABASE 语句的 子句中指定新的文件位置,可以将用户数据库中的数据、日志和全文目录文件移动到新位置。 此方法适用于在同一 SQL Server 实例中移动数据库文件。 若要将数据库移动到另一个 SQL Server 实例或另一台服务器上,请使用备份和还原或分离和附加操作。
将数据库移动到另一个服务器实例上时,若要为用户和应用程序提供一致的体验,可能需要为数据库重新创建部分或全部元数据。 有关元数据的详细信息,请参阅使数据库在其他服务器上可用时管理元数据。
SQL Server 数据库引擎的某些功能改变了数据库引擎在数据库文件中存储信息的方式。 这些功能仅限于特定 SQL Server 版本。 不能将包含这些功能的数据库移到不支持这些功能的 SQL Server 版本。 使用 动态管理视图可列出当前数据库中启用的所有特定于版本的功能。
本文中的过程需要数据库文件的逻辑名称。 若要获取该名称,请在 sys.master_files 目录视图中查询名称列。
全文目录已集成到数据库中,而不是存储在文件系统中。 移动数据库时将自动移动全文目录。
若要将移动数据或日志文件作为计划的重定位的一部分,请执行下列步骤:
- 对于要移动的每个文件,请运行以下语句。
- 运行以下语句以使数据库脱机。
此操作需要对数据库有独占访问权限。 如果打开了与数据库的另一个连接,则在所有连接都关闭之前,将阻止 语句。 若要替代此行为,请使用 子句。 例如,若要自动回滚并断开与数据库的所有其他连接,请使用:
- 将文件移动到新位置。
- 运行以下语句。
- 通过运行以下查询来验证文件更改。
若要将重定位文件作为计划的磁盘维护过程的一部分,请执行下列步骤:
- 对于要移动的每个文件,请运行以下语句。
- 要执行维护,停止 SQL Server 实例或关闭系统。 有关详细信息,请参阅启动、停止、暂停、继续和重启 SQL Server 服务。
- 将文件移动到新位置。
- 重启 SQL Server 实例或服务器。 有关详细信息,请参阅启动、停止、暂停、继续和重启 SQL Server 服务
- 通过运行以下查询来验证文件更改。
如果由于硬件故障而必须移动文件,则请执行下列步骤,将文件重新定位到一个新位置。
- 如果 SQL Server 实例已启动,请将其停止。
- 通过在命令提示符下输入下列命令之一,在仅 恢复模式下启动 SQL Server 实例。
- 对于默认的 (MSSQLSERVER) 实例,请运行以下命令。
- 对于命名实例,请运行以下命令。
有关详细信息,请参阅启动、停止、暂停、继续和重启 SQL Server 服务。 有关 Linux 的信息,请参阅在 Linux 上启动、停止和重启 SQL Server 服务。
- 对于要移动的每个文件,请使用 sqlcmd 命令或 SQL Server Management Studio 运行以下语句。
有关如何使用 sqlcmd 实用工具的详细信息,请参阅 sqlcmd – 使用实用工具。
- 退出 sqlcmd 实用工具或 SQL Server Management Studio。
- 停止 SQL Server 实例。
- 将文件移动到新位置。
- 启动 SQL Server 实例。 例如,运行 。
- 通过运行以下查询来验证文件更改。
下面的示例将 日志文件移动到一个新位置,作为计划的重定位的一部分。
- 请确保处于 数据库的上下文中。
- 返回逻辑文件名称。
- 将数据库设为脱机状态。
- 以物理方式将文件移动到新位置。 在以下语句中,将 中指定的路径修改为服务器上文件的新位置。
- 验证新位置。
- ALTER DATABASE (Transact-SQL)
- CREATE DATABASE
- 数据库分离和附加 (SQL Server)
- 移动系统数据库
- 移动数据库文件
- BACKUP (Transact-SQL)
- RESTORE 语句 (Transact-SQL)
- 启动、停止、暂停、继续和重启 SQL Server 服务
适用范围:SQL Server
在 SQL Server 中,通过在 ALTER DATABASE 语句的 子句中指定新的文件位置,可以将用户数据库中的数据、日志和全文目录文件移动到新位置。 此方法适用于在同一 SQL Server 实例中移动数据库文件。 若要将数据库移动到另一个 SQL Server 实例或另一台服务器上,请使用备份和还原或分离和附加操作。
将数据库移动到另一个服务器实例上时,若要为用户和应用程序提供一致的体验,可能需要为数据库重新创建部分或全部元数据。 有关元数据的详细信息,请参阅使数据库在其他服务器上可用时管理元数据。
SQL Server 数据库引擎的某些功能改变了数据库引擎在数据库文件中存储信息的方式。 这些功能仅限于特定 SQL Server 版本。 不能将包含这些功能的数据库移到不支持这些功能的 SQL Server 版本。 使用 动态管理视图可列出当前数据库中启用的所有特定于版本的功能。
本文中的过程需要数据库文件的逻辑名称。 若要获取该名称,请在 sys.master_files 目录视图中查询名称列。
全文目录已集成到数据库中,而不是存储在文件系统中。 移动数据库时将自动移动全文目录。
若要将移动数据或日志文件作为计划的重定位的一部分,请执行下列步骤:
- 对于要移动的每个文件,请运行以下语句。
- 运行以下语句以使数据库脱机。
此操作需要对数据库有独占访问权限。 如果打开了与数据库的另一个连接,则在所有连接都关闭之前,将阻止 语句。 若要替代此行为,请使用 子句。 例如,若要自动回滚并断开与数据库的所有其他连接,请使用:
- 将文件移动到新位置。
- 运行以下语句。
- 通过运行以下查询来验证文件更改。
若要将重定位文件作为计划的磁盘维护过程的一部分,请执行下列步骤:
- 对于要移动的每个文件,请运行以下语句。
- 要执行维护,停止 SQL Server 实例或关闭系统。 有关详细信息,请参阅启动、停止、暂停、继续和重启 SQL Server 服务。
- 将文件移动到新位置。
- 重启 SQL Server 实例或服务器。 有关详细信息,请参阅启动、停止、暂停、继续和重启 SQL Server 服务
- 通过运行以下查询来验证文件更改。
如果由于硬件故障而必须移动文件,则请执行下列步骤,将文件重新定位到一个新位置。
- 如果 SQL Server 实例已启动,请将其停止。
- 通过在命令提示符下输入下列命令之一,在仅 恢复模式下启动 SQL Server 实例。
- 对于默认的 (MSSQLSERVER) 实例,请运行以下命令。
- 对于命名实例,请运行以下命令。
有关详细信息,请参阅启动、停止、暂停、继续和重启 SQL Server 服务。 有关 Linux 的信息,请参阅在 Linux 上启动、停止和重启 SQL Server 服务。
- 对于要移动的每个文件,请使用 sqlcmd 命令或 SQL Server Management Studio 运行以下语句。
有关如何使用 sqlcmd 实用工具的详细信息,请参阅 sqlcmd – 使用实用工具。
- 退出 sqlcmd 实用工具或 SQL Server Management Studio。
- 停止 SQL Server 实例。
- 将文件移动到新位置。
- 启动 SQL Server 实例。 例如,运行 。
- 通过运行以下查询来验证文件更改。
下面的示例将 日志文件移动到一个新位置,作为计划的重定位的一部分。
- 请确保处于 数据库的上下文中。
- 返回逻辑文件名称。
- 将数据库设为脱机状态。
- 以物理方式将文件移动到新位置。 在以下语句中,将 中指定的路径修改为服务器上文件的新位置。
- 验证新位置。
- ALTER DATABASE (Transact-SQL)
- CREATE DATABASE
- 数据库分离和附加 (SQL Server)
- 移动系统数据库
- 移动数据库文件
- BACKUP (Transact-SQL)
- RESTORE 语句 (Transact-SQL)
- 启动、停止、暂停、继续和重启 SQL Server 服务
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sqlbc/48846.html