none
请问能不能把Sql Server的日志移动到新的位置??? RRS feed

  • 問題

  • 已经建立并开始运行的数据库,我能否把数据库的日志移动到另外一个位置?
    2008年12月17日 上午 12:37

解答

  • 摘自联机帮助

    若要将重定位文件作为计划的磁盘维护过程的一部分,请执行下列步骤:

    对于要移动的每个文件,请运行以下语句。

    Code Snippet
    ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name , FILENAME = 'new_path\os_file_name' )

     

     

    停止 SQL Server 实例或关闭系统以执行维护。有关详细信息,请参阅停止服务。


    将文件移动到新位置。


    重新启动 SQL Server 实例或服务器。有关详细信息,请参阅启动和重新启动服务。

    通过运行以下查询来验证文件更改。

    Code Snippet


    SELECT name, physical_name AS CurrentLocation, state_descFROM sys.master_filesWHERE database_id = DB_ID(N'');
     

     

     

     

     


     

    2008年12月17日 上午 03:11
  •  

    可以移动,但当前库必须下线(OFFLINE)或者,分离出去,(不一定要把服务关闭),先修改

    然后按照上面的方法,物理移动要移动的文件,最后再附加或者ONLINE即可.

     

    如果你是2005的话,可以参考下面的方法(同样摘自联机帮助):

     

    若要将移动数据或日志文件作为计划的重定位的一部分,请执行下列步骤:

    1. 运行以下语句。

      复制代码
      ALTER DATABASE database_name SET OFFLINE
    2. 将文件移动到新位置。

    3. 对于已移动的每个文件,请运行以下语句。

      复制代码
      ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name, FILENAME = 'new_path\os_file_name' )
    4. 运行以下语句。

      复制代码
      ALTER DATABASE database_name SET ONLINE
    5. 通过运行以下查询来验证文件更改。

      复制代码
      SELECT name, physical_name AS CurrentLocation, state_desc
      FROM sys.master_files
      WHERE database_id = DB_ID(N'<database_name>');
    2008年12月17日 上午 04:21
    版主
  • use master
    go
    1、離線
    ALTER DATABASE Test SET OFFLINE;
    2、
    復制到新路徑

    3、更改指定新路徑
    ALTER DATABASE Test MODIFY FILE ( NAME = test_Log , FILENAME = 'D:\roy\test_Log.LDF' )

    4、連線
    ALTER DATABASE Test SET ONLINE;




    1、分離
    2、
    復制到新路徑
    3、附加時指定路徑
    2008年12月17日 上午 04:34
    版主

所有回覆

  • 摘自联机帮助

    若要将重定位文件作为计划的磁盘维护过程的一部分,请执行下列步骤:

    对于要移动的每个文件,请运行以下语句。

    Code Snippet
    ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name , FILENAME = 'new_path\os_file_name' )

     

     

    停止 SQL Server 实例或关闭系统以执行维护。有关详细信息,请参阅停止服务。


    将文件移动到新位置。


    重新启动 SQL Server 实例或服务器。有关详细信息,请参阅启动和重新启动服务。

    通过运行以下查询来验证文件更改。

    Code Snippet


    SELECT name, physical_name AS CurrentLocation, state_descFROM sys.master_filesWHERE database_id = DB_ID(N'');
     

     

     

     

     


     

    2008年12月17日 上午 03:11
  •  

    可以移动,但当前库必须下线(OFFLINE)或者,分离出去,(不一定要把服务关闭),先修改

    然后按照上面的方法,物理移动要移动的文件,最后再附加或者ONLINE即可.

     

    如果你是2005的话,可以参考下面的方法(同样摘自联机帮助):

     

    若要将移动数据或日志文件作为计划的重定位的一部分,请执行下列步骤:

    1. 运行以下语句。

      复制代码
      ALTER DATABASE database_name SET OFFLINE
    2. 将文件移动到新位置。

    3. 对于已移动的每个文件,请运行以下语句。

      复制代码
      ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name, FILENAME = 'new_path\os_file_name' )
    4. 运行以下语句。

      复制代码
      ALTER DATABASE database_name SET ONLINE
    5. 通过运行以下查询来验证文件更改。

      复制代码
      SELECT name, physical_name AS CurrentLocation, state_desc
      FROM sys.master_files
      WHERE database_id = DB_ID(N'<database_name>');
    2008年12月17日 上午 04:21
    版主
  • use master
    go
    1、離線
    ALTER DATABASE Test SET OFFLINE;
    2、
    復制到新路徑

    3、更改指定新路徑
    ALTER DATABASE Test MODIFY FILE ( NAME = test_Log , FILENAME = 'D:\roy\test_Log.LDF' )

    4、連線
    ALTER DATABASE Test SET ONLINE;




    1、分離
    2、
    復制到新路徑
    3、附加時指定路徑
    2008年12月17日 上午 04:34
    版主