同じデータベースが与えられているすべての異なる名前で混乱します。例: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が使用されたか、もう一度見られますか?
(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
短い答え:DB_nameAはデータベースの名前、DB_nameBはプライマリデータファイルの論理名(SQLのファイルを参照するために使用されます)、DB_nameCは物理ファイルの名前(たとえば、データベースファイルを探したい場合は、コンピュータ/サーバー上で検索するもの)。 – ZLK