SQL ServerのDetach関数とAttach関数を使用して、SQL Serverデータベースを新しい場所に移動する方法


SQL ServerのDetach関数とAttach関数を使用して、SQL Serverデータベースを新しい場所に移動する方法
次の例では、データファイルMydb.mdfとログファイルMydblog.ldfを含むmydbというデータベースを移動します.移動するデータベースに他のデータまたはログファイルがある場合は、ストレージ・プロシージャsp_attach_dbでカンマで区切られたリストは、すべてリストされます.データベースにどれだけのファイルが含まれているかにかかわらず、ストレージ・プロシージャsp_detach_dbは、これらのファイルがリストされないため、変更されません.
  • データベースを次のように分離します.
    use master
       go
       sp_detach_db 'mydb'
       go

  • その後、現在位置(D:/Mssql 7/Data)から新しい位置(E:/Sqldata)にデータおよびログファイルをコピーする.
  • 新しい場所のファイルを指すデータベースを次のように再添付します.
    use master
      go
      sp_attach_db 'mydb','E:/Sqldata/mydbdata.mdf','E:/Sqldata/mydblog.ldf'
      go

    sp_の使用helpfileファイルの場所の変更を確認する:
    use mydb
       go
       sp_helpfile
       go

    filename列の値は、新しい場所を反映する必要があります.