web-dev-qa-db-ja.com

データベースをアタッチしようとしたときに「CREATE FILEでオペレーティングシステムエラー32が発生しました」

SSMSで作成したデータベースに接続できません。データベースを扱うのはこれが初めてです。このデータベースでやったことは、いくつかのテーブルを作成し、いくつかのレコードを追加することだけです。 Visual Studio 2015でこのデータベースに接続する必要があります。ただし、Microsoft SQL Serverデータベースファイルへの接続をwindows forms applicationに追加しようとすると、ファイルが使用中であり、それを選択します。 SSMSで作成した別のデータベースファイルを選択して接続をテストすると、this database file is not compatible with the current instance of SQL Server. To resolve this issue, you must upgrade the database file by creating a new connection or modify the existing connection to this database file.と表示されます。MSのドキュメントによると、データベースファイルをアップグレードするには、データベースをアタッチする必要があります。しかし、SSMSで[データベース]ノードを右クリックして[添付]をクリックし、前の2つのデータベース.mdfファイルのいずれかを追加しようとすると、次のエラーが発生します。

TITLE: Microsoft SQL Server Management Studio
------------------------------

Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)

For help, click: http://go.Microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&LinkId=20476

------------------------------
ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. 
(Microsoft.SqlServer.ConnectionInfo)

------------------------------

CREATE FILE encountered operating system error 32(The process cannot access the file 
because it is being used by another process.) while attempting to open or create the 
physical file 'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\Mestek Database.mdf'. 
(Microsoft SQL Server, Error: 5123)

For help, click: http://go.Microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=12.00.2000&EvtSrc=MSSQLServer&EvtID=5123&LinkId=20476

このクエリをデータベースで実行したところ、データベースを使用するプロセスが返されたと思います。

SELECT * FROM sysfiles

ただし、これは.mdfファイルとログファイルのファイルパスと名前を返すだけです。

2
Lacuna

みんなを恐れないで、私は自分の問題を修正しました。私がしなければならないのは、必要なデータベースを切り離して、SSMSで使用されないようにすることでした。これにより、発生していたエラーがなくなり、Visual Studioでデータソースへの接続を追加できるようになりました。

1
Lacuna