Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何重命名SQL Server 2016数据库,包括物理文件,即.mdf和.log文件_Sql Server - Fatal编程技术网

Sql server 如何重命名SQL Server 2016数据库,包括物理文件,即.mdf和.log文件

Sql server 如何重命名SQL Server 2016数据库,包括物理文件,即.mdf和.log文件,sql-server,Sql Server,我有一个包含大量数据的数据库,用于我的web应用程序。出于某种原因,我想更改数据库名称(phycially、.mdf和.log文件) 如何做到这一点?您可以使用dbatools中的命令Rename dbatabase Rename-DbaDatabase -SqlInstance sqlserver2014a -Database HR -DatabaseName HR2 这是从命令的帮助中引用的: 流程如下(遵循实体的层次结构): 数据库名称已更改(可选,强制用户退出) 相应地更改了文件组名

我有一个包含大量数据的数据库,用于我的web应用程序。出于某种原因,我想更改数据库名称(phycially、.mdf和.log文件)


如何做到这一点?

您可以使用dbatools中的命令Rename dbatabase

Rename-DbaDatabase -SqlInstance sqlserver2014a -Database HR -DatabaseName HR2
这是从命令的帮助中引用的:

流程如下(遵循实体的层次结构):

  • 数据库名称已更改(可选,强制用户退出)
  • 相应地更改了文件组名称
  • 相应地更改了逻辑名称
  • 相应地更改了物理文件
  • 如果指定了移动,则数据库将脱机,移动将启动,然后将联机
  • 如果未指定Move,则数据库将保持联机状态(SetOffline除外),您将负责移动文件
  • 如果上述任何一项失败,进程将停止
请在使用前备份您的数据库,并记住在使用后备份(也是主数据库的完全备份)


有关该命令的详细信息,请查阅。

对于物理文件,请使用
分离
-重命名-
附加
。有关数据库名称,请参见。请注意,您现有的应用程序,在此之后作业可能无法工作此方法仅重命名ssms中的文件,而不是存储在文件夹中的实际文件。如我之前的评论所述,您必须
分离
数据库,重命名文件并
附加
备份数据库亲爱的sander,谢谢您的留言。我通过power shell使用了您的命令,但它只是更改了ssms中的数据库名称,而不是位于我驱动器某处的实际文件中。@ghaffar hunzai如果执行以下命令,您将获得各种各样的示例如何使用该命令:
get Help Rename dbatabase-examples
您实际上需要设置更多的示例重命名物理文件和可能的文件组的选项。查看示例4至11,了解可以使用哪些标记重命名数据库文件