sql >> データベース >  >> RDS >> Sqlserver

T-SQLを使用してSQLServerでデータベース名を変更する方法

    SQL Serverを使用しているときにデータベースの名前を変更する場合は、GUI(SSMSなど)またはTransact-SQLを使用して変更できます。

    GUIを使用している場合は、データベース名を右クリックして、名前の変更をクリックできます。 データベースの名前を変更します(最初にデータベースをシングルユーザーモードに設定する必要がある場合があります)。

    T-SQLを使用してこれを行う場合は、このページの例が役に立ちます。

    基本的な例

    T-SQLを使用してデータベースの名前を変更する基本的な例は次のとおりです。

    USE master;
    GO
    
    ALTER DATABASE Problems  
    MODIFY NAME = Solutions; 
    GO
    

    最初にマスターデータベースに変更し、次にALTER DATABASEを使用します データベースの名前をProblemsから変更するステートメント Solutionsへ 。

    この例でもGOを使用しています これは厳密にはT-SQLではありませんが、T-SQLステートメントのバッチの終了を通知するものとしてさまざまなユーティリティによって認識されます。

    データとログファイルの名前を変更

    前の例では、データとログファイルの名前が変更されていないことに注意してください。データベースの名前を変更するだけです。データファイルとログファイルは元の名前のままです。この例では、Solutionsというデータベースがあります。 ただし、Problems.mdfのようなデータとログファイルを使用します およびProblems_log.ldf 。これは私たちが望んでいることではありません。

    このデータベースのデータファイルとログファイルの名前を変更して、データベースの名前を反映させる方法は次のとおりです。

    -- Change the logical name of the data file
    ALTER DATABASE Solutions
    MODIFY FILE ( 
      NAME = 'Problems', 
      NEWNAME = 'Solutions' 
      );
    
    -- Change the logical name of the log file
    ALTER DATABASE Solutions
    MODIFY FILE ( 
      NAME = 'Problems_log', 
      NEWNAME = 'Solutions_log' 
      );
    
    -- Change the physical path of the data file
    ALTER DATABASE Solutions
    MODIFY FILE ( 
      NAME = 'Solutions', 
      FILENAME = 'D:\mssql\data\Solutions.mdf' 
      );
    
    -- Change the physical path of the log file
    ALTER DATABASE Solutions
    MODIFY FILE ( 
      NAME = 'Solutions_log', 
      FILENAME = 'D:\mssql\data\Solutions_log.ldf' 
      );  
    

    したがって、両方の論理を変更します 名前と物理的 ファイルの名前。

    これらのファイルパスは純粋にデモンストレーションを目的としているため、特定の環境に適したファイルパスを使用する必要があります。

    また、この例ではWindowsファイルパスを使用していることに注意してください。 Linux(またはMac)を使用している場合は、スラッシュ(/)を使用する必要があります )バックスラッシュの代わりに(\


    1. SQL Server一括挿入–パート1

    2. MariaDBでのPERIOD_DIFF()のしくみ

    3. プライマリの代わりに2つの外部キー

    4. データベース構造変更のためのバージョン管理システムはありますか?