SQL 資料庫的 邏輯 File Name 變更

 

看到圖中的 File Name 與 資料庫的實際名稱不同,真是怪怪!!

mdf

再加上近來,想將數量眾多的資料庫,以批次方式逐一 Restore 簡化繁瑣的作業及時間,才發現到這個 File Name 是乎不能視而不見,所以興起”改名”的念頭。

首先,回首 Restore 的用法:

  1. 一般型:(將備份資料庫回復成 DB27 ,資料庫存放位置是在 系統默認路徑。)
    RESTORE DATABASE DB27 FROM DISK = 'D:\A-Zip\DB27_20100105\DB27-2010-01-05.bak' 
    Go
  2. 技巧用法:(將備份資料庫回復成 DB27 ,資料庫存放位置是在 指定存放的路徑 中:E:\SQL_DB。)
    RESTORE DATABASE DB27 FROM DISK = 'D:\A-Zip\DB27_20100105\DB27-2010-01-05.bak' 
    WITH
    MOVE 'DB15_Data' TO 'E:\SQL_DB\DB27.mdf',
    MOVE 'DB15_Log' TO 'E:\SQL_DB\DB27_log.ldf'
    Go

在上述的指令中
MOVE 'DB15_Data' TO 'E:\SQL_DB\DB27.mdf',
MOVE 'DB15_Log' TO 'E:\SQL_DB\DB27_log.ldf'

DB15_Data、DB15_Log 就是 SQL 的 邏輯 File Name
'E:\SQL_DB\DB27.mdf'、'E:\SQL_DB\DB27_log.ldf' 則是回復資料庫的存放位置及檔名。

變更 Logical File Name 的語法:
USE master;
GO
ALTER DATABASE database_name
MODIFY FILE
(NAME = logical_file_name, NEWNAME = new_logical_name);
GO

實例語法:
USE master;
GO
ALTER DATABASE DB27 MODIFY FILE (NAME = IEDB15_Data, NEWNAME = IEDB27_Data );
GO
ALTER DATABASE DB27 MODIFY FILE (NAME = IEDB15_Log, NEWNAME = IEDB27_Log );
GO

 

經過這樣的修正後,Restore 的指令就變成:(順眼多了)
RESTORE DATABASE DB27 FROM DISK = 'D:\A-Zip\DB27_20100105\DB27-2010-01-05.bak' 
WITH
MOVE 'DB27_Data' TO 'E:\SQL_DB\DB27.mdf',
MOVE 'DB27_Log' TO 'E:\SQL_DB\DB27_log.ldf'
Go

*.csproj.user 何時會產生?

在使用 Visual Studio 2005 工具,C# 程式語言開發時,無意間發現到程式目錄中,多出一個檔案

*.csproj.user

一直納悶這檔案是在何時會由系統自動產生?

經多次追蹤後,發現其產生的時機點是在曾經啟用 Show All Files 功能,只要關閉 專案(solution),系統就會自動生成該檔案。

image

該檔案的內容有兩種情形:

1. 開啟 Show All Files
<Project xmlns="http://www.blogger.com/'http://schemas.microsoft.com/developer/msbuild/2003>
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>

2. 開啟 Show All Files
<Project xmlns="http://www.blogger.com/'http://schemas.microsoft.com/developer/msbuild/2003>
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>