2017-06-29 3 views
0

同じデータベースが与えられているすべての異なる名前で混乱します。例:SQL Serverのデータベース名とファイルの場所を理解する

CREATE DATABASE DB_nameA 
ON 
(NAME = DB_nameB, FILENAME = 'C:\myDatabases\DB_nameC.mdf') 
LOG ON 
(NAME = DB_log, FILENAME = 'C:\myDatabases\DB_log.ldf' ) ; 
GO 

DB_nameA、DB_nameB、およびDB_nameCの違いは何ですか? SQL Serverは、どの名前が互いに関連付けられているかをどのように追跡しますか?例えば。何とか "DROP DATABASE DB_nameA"と書くと、SQLは "DB_nameC.mdf"ファイルを削除することを知っています。

DB_nameは、SQLでデータベースを参照する方法です(例:DROP DATABASE DB_nameA)。そして、DB_nameCはWindowsエクスプローラに表示されるファイル名です。しかし、いつDB_nameBが使用されたか、もう一度見られますか?

+1

(https://docs.microsoft.com/en-us/sql/t-sql/statements/create-database-sql-server-transact-sql)[データベース作成] 'データベース名 はあり新しいデータベースの名前。名前logical_file_nameファイルの論理名を指定します。 FILENAME {'os_file_name' | 'filestream_path'} オペレーティングシステム(物理)ファイル名を指定します。 – lad2025

+1

短い答え:DB_nameAはデータベースの名前、DB_nameBはプライマリデータファイルの論理名(SQLのファイルを参照するために使用されます)、DB_nameCは物理ファイルの名前(たとえば、データベースファイルを探したい場合は、コンピュータ/サーバー上で検索するもの)。 – ZLK

答えて

2

CREATE DATABASE <logical db name> ON (NAME = <logical data filename>, FILENAME = <physical data file path>) LOG ON (NAME = <logical log filename>, FILENAME = <physical log file path>); GO

0

DB_nameAは、各データベースについては、データベース名

で、MDFとLDFファイルが必要です。

MDF - マスターデータベースファイル(プライマリデータファイル) LDF - データベースを作成するたびに、データベースログファイル(トランザクションファイル)

だから、私たちは、それぞれのと一緒に「MDF」と「LDF」の名前を指定する必要がありますファイルパス。すべてのデータおよびトランザクションログファイルは、それぞれのファイルに格納されます。

EX:

データベースDB_nameA CREATE ON

(NAME = DB_nameA_Data、FILENAME = 'C:\ myDatabases \ DB_nameA_Data.mdf')
LOG ON
(NAME = DB_nameA_log、FILENAME = ' C:\ myDatabases \ DB_nameA_log.ldf ');

GO
関連する問題