Unable To Open The Physical Mdf File Or Log File Because It Is Being Used By Another Process
Dec 4, 2007
Unable to open the physical mdf file or log file because it is being used by another process
I am trying to write a Windows Application using ASP.NET 2.0, C#2005 EXPRESS, and SQL 2005 EXPRESS.
I had followed the introductory video to create a connection to the Database using Windows Authentication, and use the wizard to create a dataset and checking all the tables in the database.
After that I dragged a table from the data source created from the above process. The Details Grid so created is able to perform update, delete and addition of records.
But when I went back to the database at my PC I wasn€™t able to connect to the database. And if I opened the database first and then load the windows application and perform some database operations and went back to the physical database I wasn€™t able to open the tables in the database.
The error message is that the physical database connection cannot open the .mdf file or log file because another process is using the database. I guess it refers to the Windows Application.
Is this normal? Will it have any implications after the application is deployed? I suppose that there isn€™t a scenario where a Windows application and a physical process will access the database at the same time.
Will appreciate some feedback and advice on this scenario and whether it is a problem.
Hi, i'm trying to interface a c# application with an sql database created with Visual Web Developer Express. I have published the site (and the db) on iis 5 (xp pro). Everithing goes fine on accessing the database from internet,but when i try to connect the db while it's opened with my c# program i keep an error in the sqlconnection open command: Unable to open the physical file "C:myApp_Datamydb.mdf". Operating system error 32: "32(The file is in use by another process.)". My connection string from webconfig: <add name="MYDBCS" connectionString="Data Source=.SQLEXPRESS;Database="C:myApp_Datamydb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" /> .....and the connection string for the c# program: "Data Source=.\SQLEXPRESS;Database=c:myapp_datamydb.mdf;Integrated Security=False;Connect Timeout=30;User ID=abc;Password=abc;Trusted_Connection=False;"; I have used a user to connect the database because there was a conflict trying to open the db with Integrated Security=True.
Does anyone have an idea where is the error? Many thanks Max
Scenario : I have VC++ 2005 Express IDE open and use the database explorer to browse tables in a database. Then I open SQL Server Managament Studio Express and try to browse the same database. I get "Unable to open the physical file ... The process cannot access the file because it is being used by another process".
What is this "other process" that is trying to open the file? I thought the whole point of a database server was that clients talk to the server, and the server accesses the physical file. So only one process should be accessing the file. Do VC++ IDE and SSMSE work directly with the physical file, or do they channel their requests, etc. through the server.
Hi, I've just finished creating my first ASP.NET website. I created it on my laptop and it works perfectly, but I'm having some problems deploying it to my web server (PC).The site works ok, but when I try to log in to my client area, I get this error: "Unable to open the physical file "c:inetpubwwwrootONeillStrataApp_Dataaspnetdb.mdf". Operating system error 5: "5(Access is denied.)".An attempt to attach an auto-named database for file c:inetpubwwwrootONeillStrataApp_Dataaspnetdb.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share." I've searched far and wide for a solution and have read many articles, but none seem to be able to fix my problem. I've tried using that SEUtil tool, but that didn't work, I've made sure the App_Data directory on the web server isn't read only (the read-only checkbox isn't ticked, but it DOES have that little green square which I can't get rid of), I've assigned the ASPNET user as a db owner and that didn't work and I've manually attached the database to the web server's instance of SQL Express 2005.When I launch the solution in VS2005 on the web server, I can browse through the database and see the tables and data etc, but when I try to run the application, I get that message above... Surely it shouldn't be this hard to get it going?Any help would be massively appreciated.
I am working in a C# database application quick test where I basically use two types of access to an SQL Server Express database. In the first part of the code, I use the traditional connection declaring a SqlConnection. When I just use only this kind of connection I do not have any problem. The issue starts when I access to the same database using Data Bindigs at the same time. When I start the application I got and error as soon as the instruction goes to open the data base connection. The reported error is "Unable to open the physical file "<Niños.mdf>". Operating System Error 32: (Process does not have access to the file because is being using by another process)"
For additional information my connection string is:
I am trying to attach a database to SQL 2005. This database has not previously been attached. I have only just installed SQL.  I get the following message: Unable to open physical file "C:ArrowSQLArr@DataArrow_data.mdf" Operating system error 5: "5(error not found)" (Microsoft SQL Server: Error 5120)".  I have loaded SQL and the database fiel and directory with the same user account which is a local administrator on this machine. I have checked that I have read/write access to the file.  The machine runs Windows Vista Business. SQL has SP 2 loaded. What causes this?
We are trying to attach a database in Sql Server 2005 Express on Windows Vista.It will Show the following Error.
"Unable to open the physical file "Test.mdf". Operating system error 5 :". And then we installed the SQL Server 2005 Service pack 2. This error again comes.Could you please give me the steps to resolve the problem.
I have used the copy database wizard, but I realized I had forgotten to shrink the transaction log file. So I canceled the wizard. My database, detached by the wizard, has now disappeared. The mdf file is still there, but when I try to attach it manually I get the "create file encountered operating system error 5 while attempting to open the physical file..." error.
Hello all, I am running into an interesting scenario on my desktop. I'm running developer edition on Windows XP Professional (9.00.3042.00 SP2 Developer Edition). OS is autopatched via corporate policy and I saw some patches go in last week. This machine is also a hand-me-down so I don't have a clean install of the databases on the machine but I am local admin.
So, starting last week after a forced remote reboot (also a policy) I noticed a few of the databases didn't start back up. I chalked it up to the hard shutdown and went along my merry way. Friday however I know I shut my machine down nicely and this morning when I booted up, I was in the same state I was last Wenesday. 7 of the 18 databases on my machine came up with
FCB:pen: Operating system error 32(The process cannot access the file because it is being used by another process.) occurred while creating or opening file 'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataTest.mdf'. Diagnose and correct the operating system error, and retry the operation. and it also logs FCB:pen failed: Could not open file C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataTest.mdf for file number 1. OS error: 32(The process cannot access the file because it is being used by another process.).
I've caught references to the auto close feature being a possible culprit, no dice as the databases in question are set to False. Recovery mode varies on the databases from Simple to Full. If I cycle the SQL Server service, whatever transient issue it was having with those files is gone. As much as I'd love to disable the virus scanner, network security would not be amused. The data and log files appear to have the same permissions as unaffected database files. Nothing's set to read only or archive as I've caught on other forums as possible gremlins. I have sufficient disk space and the databases are set for unrestricted growth.
Any thoughts on what I could look at? If it was everything coming up in RECOVERY_PENDING it's make more sense to me than a hit or miss type of thing I'm experiencing now.
We have a very severe issue in our production, and this is very very ugent to fix this issue, there was a job started on server on 10th October, 2007, for backup of database of 3.2 TB, which caused this issue on 18th October, 2007. I cancelled that job and even restarted the server, but still there is same issue on the server.
I am using this command to expand the physical file,
ALTER DATABASE [ODS] MODIFY FILE ( NAME = N'ODSFG33File1', SIZE = 307200000KB )
Error:
MODIFY FILE encountered operating system error 1450(Insufficient system resources exist to complete the requested service.) while attempting to expand the physical file.
Server:
64bit Itanium Server with 4 Processors 4TB of SAN Storage 24GB of RAM MS Windows 2003 Enterprise Edition with SP1 MS SQL Server 2005 (9.0.3152) Enterprise Edition with SP2
Database:
3.2 TB Size of Partitioned Database with 60 File Groups Every File Group contains One month data in its only one physical File. Physical Files are of different size between 10GB and 300GB.
I am running sql script inside job.But sql is not saving the results in the file which i specified ('Unable to open Step output file'). I tried same thing on different server, it works fine.
Both are are 2008 R2. Is there any server level setting that i have to look at.On both servers i logged in as sa.
I am having trouble with BCP. I get the same error with xp_cmdshell as I do with entering bcp as a DOS command. I have checked and rechecked the file names and permissions and even restart the PC.
Does BCP even work when SQL Server 2005 Express on a PC?
declare @sql varchar(8000) select @sql = 'bcp SYMITAR..ACCOUNT in C: estEXTRACT.ACCOUNT -T -f C: estACCOUNT.FMT -S'+@@servername exec SYMITAR..xp_cmdshell @sql GO
Volume in drive C has no label. Volume Serial Number is 08E5-2414
Directory of C: est
02/13/2007 08:44 AM <DIR> . 02/13/2007 08:44 AM <DIR> .. 08/31/2006 09:11 AM 27,503,161 EXTRACT.ACCOUNT 08/31/2006 09:12 AM 6,879 FMT.ACCOUNT 02/07/2007 08:46 AM 220 ACCTTYPE.FMT 02/13/2007 08:44 AM 0 filelisting.txt 02/07/2007 08:33 AM 220 ACCTTYPE.xml 5 File(s) 27,510,480 bytes 2 Dir(s) 54,344,847,360 bytes free
Could the fact that it's actually pulling BCP from c:Program FilesMicrosoft SQL Server80Toolsinn be a problem? I know this because it doesn't recognize the -x extensionof the bcp command.
I added the c: est to the path and removed c:Program FilesMicrosoft SQL Server80Toolsinn from the path. While it recognizes the -x extension now it still gets the same error message:
SQLState = HY000, NativeError = 0 Error = [Microsoft][SQL Native Client]Unable to open BCP host data-file NULL
I have checked file names, and I have checked permissions on the files. I do not see any reason why the BCP should fail. Any ideas how I can debug this further?
Well, I'm to the point of giving up. If there was a 1-800 # that charged $400 /minute for support at this point I would pay it! I have been developing an ASP.net 2.0 web application that basically has login security. I have been struggling to get this thing to work. On my local machine it works fine, but when I copy the code (including the ASPNETDB.mdf that is in the APP_Data directory) over to a web server, I get to the login screen but when I attempt to login I get an error. I've tried using the SSEUTIL.exe and was unsuccessful. At this point I don't even know where to start. Can someone please help me??? The error is listed below: Server Error in '/' Application.
Unable to open the physical file "C:InetpubWIWebApp_Dataaspnetdb.mdf". Operating system error 32: "32(The process cannot access the file because it is being used by another process.)".Unable to open the physical file "C:InetpubWIWebApp_Dataaspnetdb_log.ldf". Operating system error 32: "32(The process cannot access the file because it is being used by another process.)".Cannot open user default database. Login failed.Login failed for user 'NT AUTHORITYNETWORK SERVICE'.File activation failure. The physical file name "C:InetpubWIWebApp_Dataaspnetdb_log.ldf" may be incorrect. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: Unable to open the physical file "C:InetpubWIWebApp_Dataaspnetdb.mdf". Operating system error 32: "32(The process cannot access the file because it is being used by another process.)".Unable to open the physical file "C:InetpubWIWebApp_Dataaspnetdb_log.ldf". Operating system error 32: "32(The process cannot access the file because it is being used by another process.)".Cannot open user default database. Login failed.Login failed for user 'NT AUTHORITYNETWORK SERVICE'.File activation failure. The physical file name "C:InetpubWIWebApp_Dataaspnetdb_log.ldf" may be incorrect.Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace:
[SqlException (0x80131904): Unable to open the physical file "C:InetpubWIWebApp_Dataaspnetdb.mdf". Operating system error 32: "32(The process cannot access the file because it is being used by another process.)". Unable to open the physical file "C:InetpubWIWebApp_Dataaspnetdb_log.ldf". Operating system error 32: "32(The process cannot access the file because it is being used by another process.)". Cannot open user default database. Login failed. Login failed for user 'NT AUTHORITYNETWORK SERVICE'. File activation failure. The physical file name "C:InetpubWIWebApp_Dataaspnetdb_log.ldf" may be incorrect.] System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +684835 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +207 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1751 System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +32 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +601 System.Data.SqlClient.SqlInternalConnectionTds..ctor(SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +159 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +346 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +28 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +445 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +304 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +85 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105 System.Data.SqlClient.SqlConnection.Open() +111 System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +126 System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +239 System.Web.Security.SqlMembershipProvider.GetPasswordWithFormat(String username, Int32& status, String& password, Int32& passwordFormat, String& passwordSalt, Int32& failedPasswordAttemptCount, Int32& failedPasswordAnswerAttemptCount, Boolean& isApproved) +815 System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved, String& salt, Int32& passwordFormat) +80 System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved) +42 System.Web.Security.SqlMembershipProvider.ValidateUser(String username, String password) +78 System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +161 System.Web.UI.WebControls.Login.AttemptLogin() +94 System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35 System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +115 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +134 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5670
Version Information: Microsoft .NET Framework Version:2.0.50215.44; ASP.NET Version:2.0.50215.44
I have a SQL Server 2005 database file (a .mdf file) that I am trying to open in SQL Server Management Studio so I can add a field to a table, but I am unable to open the file. I can't say that I really understand how SQL Server handles these databases. I especially don't understand the "attaching" and "detaching" operations.
I am working in VB.Net 2008 now, but my background is with VB6 using the JET engine. It was just so straightforward using the JET engine, but seems so much more complicated with SQL Server. I am trying to use .mdf files the same way I used .mdb files. I want my application to find the database file, "attach to it", and let me manipulate it.
At one time I was able to open my database in Sql Server Management Studio and edit the design of the database. The application still works but I am no longer able to modify the database because I cannot attach to it in Management Studio.
Here is a big clue: the files are no longer in the special folder anymore, which is c:Program Files (x86)Microsoft SQL ServerMSSQL.2MSSQLDATA. I might have deleted the files, stupidly, thinking they were redundant. I still have the .mdf file (and the _log.ldf file) on my hard drive and the application can still open it, but when I try to use Management Studio to attach to the .mdf file, I get this error:
Microsoft SQL Server Management Studio Express
An error occurred when attaching the database(s). Click the hyperlink in the Message column for details.
here are the details:
Unable to open the physical file "c:Program Files (x86)Microsoft SQL ServerMSSQL.2MSSQLDATAHEALSExamsSQL.mdf". Operating system error 2: "2(The system cannot find the file specified.)". (.Net SqlClient Data Provider)
Indeed the file is not there, but why is Mgmt Studio looking there? Why doesn't it just open the file where it is? What can I do to get it back? I even copied the files to c:Program Files (x86)Microsoft SQL ServerMSSQL.2MSSQLDATA? I get the same error.
Here is another clue: In Management Studio, when I right-click Databases, and chose Attach, it brings up a dialog. There I click "Add" to get another dialog in which I will select a database, but before the dialog appears I get this error:
Locate Database Files - KURANT-WIN7SQLEXPRESS C:UsersJason KurantDesktop Cannot access the specified path or file on the server. Verify that you have the necessary security privileges and that the path or file exists.
If you know that the service account can access a specific file, type in the full path for the file in the File Name control in the Locate dialog box.
I am running sql script inside job.But sql is not saving the results in the file which i specified('Unable to open Step output file'). I tried same thing on different server, it works fine.Both are are 2008 R2.Is there any server level setting that i have to look at.On both servers i logged in as sal. Why is it working on server1 ,but not on server2?
Hi I am using VWD 2008, SQL Express 2005, Reporting Services, Win-XP, IIS5Basically let's say I have 2 pages:Page1: has a SQLDataSource control that populates a GridView from a table from a database file myDB.mdf (no code behind)Page2: has a reportviewer control that show a report with data from the same table from myDB.mdf from the reportserver, (no code behind)I have attached myDB.mdf to the SQL Server Express using the SQL Server Management Studio Express.If I first open Page2 to display the ReportViewer it works ok. or using the Report ManagerNow this is the problem:If after that I try to open Page1 then a get an error message:Cannot open user default database. Login failed.Login failed for user 'myServerASPNET'. Exception Details: System.Data.SqlClient.SqlException: Cannot open user default database. Login failed.Login failed for user 'myServerASPNET'.Then I have to restart the SQL Server to fix it,Now I can open Page1 ok, but if after this I try to open Page2 (ReportViewer) againThen I get this error:" An error has occurred during report processing. o Cannot create a connection to data source 'my_Datasource'. &And this error if open the report using the report manager:" An error has occurred during report processing. o Cannot create a connection to data source 'my_Datasource'. § Unable to open the physical file "C:InetpubwwwrootWebsiteApp_DatamyDB.mdf". Operating system error 32: "32(The process cannot access the file because it is being used by another process.)". &Now if i check the Management Studio Express again, you can see that myDB.mdf was detached. It seems to be there by it has no Tables or definitions, so I have to attach it again..Do you know how to fix this?Thanks in advance,Ed
I need to write a process to get file size in kb and record count in a file. I was planning on writing a c# console app that takes the file path and name as a param however should i use a CLR?
I cant put a script in the ssis when it's bringing the file down because it has been deemed that we only use ssis for file consumption.
I need find out the number of columns in flat file before i process that particular file.I have file name in @filename variable and file path is @filepath variable.But do not not that how i will check the column name in before i will process that file.
@filePath = C:DatabaseSourceFilesCAHCVSSourceFiles And i am using for each loop container to read the file one by one and put the file name in @filename variable.and my file name like
Now what i have to do is i need to make sure that ID,Name,City,County,Phone is there in flat file.if it is not there then i have to send mail to client saying that file is not valid.I need to also calculate the size of flat file.
I am running my package in sql server 2012, in which i am giving network path for flat file destination. And its working fine. But if i give m local path, its giving me  error " cannot open data file" ...
I have a package A which is copied from another existing package B as most of the data structure and ETL mappings are same.
What I need to change in Package A is to change the file in Flat File Connection Manager. I can change it in the conneciton manager editor. However, it is automatically changed back to the previous one everytime when I try to Save All or run the package.
I also tried to copy/paste this Flat File Connection Manager in the same package but samething happen. The package file is not set 'Read Only" so anything else can Saved well except for the File name in connection manager.
Is this a bug? It would be very appreciated if anyone can give me any idea about this.
Hi Everybody, I like to compute the actual physical database file size using queries.
From the EM database properties, the file size shown is not matching with the master..sysaltfiles.size
Ex. Actual file size is 12MB and 1MB for MDF & LDF respectively. 'sysaltfiles' shows 1464 & 96 resp. Since they are shoing it as 8K Pages, 96*8 = 768KB is not matching with 1024KB for the LDF file. Is there any overheads (additional space from the physical file for file headers) allocated?
Accidentally, I've managed to have this as part of a Create Database:
... FILENAME = N'C:MSSQLData\ estdb_Log.LDF' ...
, notice the triple backslash. The Create Database statement works fine, and sp_helpdb says the log file name is:
C:MSSQLData\ estdb_Log.LDF
I noticed the MSDOS command prompt also allows multiple backslashes, they're reduced to one when performing the command and I guess SQL Server does the same thing, so no problem so far really.
But is it supposed to work this way? Quite confusing, isn't it?
I have been trying to use DMO(C++) to backup a database and then restore from that backup to a new db name AND physical data and log files, with no success. I have been able to successfully restore the backup to the same database and change the physical file names using the RelocateFiles property on the Restore object, but not change both. Any help would be greatly appreciated.
Due to running out of disk space and reducing I/O contention, I plan to seperate data files and log files to different disk arrays.
My plan is to - detach all databases - copy log files to another disk - attach all databases
The total size of log files is about 60GB. It becomes a problem becasue it spend too much time passing files. To reduce down time, is there any way I can do?
Can I just create new log files and remove the current files by using sql management studio?
Dim strComputer Dim objRegistry Dim strKeyPath Dim strValueName Dim strValue Dim arrValues Dim intValue Dim strpath Dim strpath2 Dim strDBServerName Dim objSQLServer
strComputer = "."
Set objRegistry = GetObject("winmgmts:\" & strComputer & " ootdefault: StdRegProv")
Hi, I'm trying to upload the ASPNETDB.MDF file to a hosting server via FTP, and everytime when it was uploaded half way(40% or 50%) I would get an error message saying: "550 ASPNETDB.MDF: The process cannot access the file because it is being used by another process" and then the upload failed. I'm using SQL Express. Does anybody know what's the cause? Thanks a lot