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?
Hi, How do I check what is the actual DB size that is currently being use? e.g. I set 10 GB as initial size. A few days and a few transactions later, how can I know how much was used since it is still under 10GB and checking the physical DB file will not tell me anything.
I€™m using LTO3 tape drive (400GB) the used media is for LTO2, currently I€™m looking for LTO4(1.6TB) but I need the backward compatibility to support LTO3 tapes so I can go for LTO2 media or LTO3 media.
I need to know the size of the database backup (Ms SQL2005 SP1 x64-bit, on Ms Windows 2003 R2 x64-bit) on the tape drive. I can see the backup size of the database but not the size on the tape which is using hardware compression.
Sql Server has many data types. For Example: smallint Integer data from -2^15 (-32,768) through 2^15 - 1 (32,767). Storage size is 2 bytes. I want to know that If it contains like 0 or 100 or 1000 or -200 or -2000 or more or less. What will its actual size? 2 bytes or change with the value. Please also mention the reference with your answer. if available.
Can someone recommend an application that produces an estimate of the size of a database from column definitions and estimated number of rows in each table? -- Thanks
Howdy folks! (I feel im creating too many topics...but all my questions are unrelated :-/)
Dev environment: SSCE, Native c++ OLE code, Win CE 5
I have a routine that calculates the size of a set of columns in order to create a byte buffer for retrieving data from an IRowset and inserting it into a custom class. This method works great for all data types except ntext. When I look at the column information from an ntext field, the DBCOLUMNINFO::ulColumnSize member holds 536,870,911 (the max length of an ntext type). Obviously I dont want to allocate 1GB of memory for each ntext column. Is there anyway (natively) to determine the actual number of characters in a field?
I am trying to resize a database initial log file from 500M to 2M. I€™m using€?
ALTER DATABASE <DBNAME> MODIFY FILE ( NAME = <DBLOGFILENAME, SIZE = 2 ) "
And I'm getting "MODIFY FILE failed. Specified size is less than current size." I tried going into the database properties and setting the log file to 2M, but it doesn€™t keep the changes.
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.
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.
I have a view in SQLServer 2005. It took 30 sec. to finish. Then I deleted 4500 records from one table that is used in view. It took 90 sec. to finish now. I did a comparison on Actual Execution Plan between before I deleted data and after I deleted data, they are almost same, only different is Actual Number Rows become less after deleted data. So, I wonder why data become less but time become more. When I look closely on the Actual Execution Plan, the ridiculous thing is, there are only Estimated Operation Cost on each step, no Actual Operation Cost. I guess there are something wrong with optimizer because reuse same Execution Plan, but how can I tell which step wrong without Actual Operation Cost.
Let me preface by saying I am not very familiar with SSIS.
Ideally, since the Transfer SQL Server Objects task can do all tables, I would like to use it to copy only data from one server to a new server that has the tables pre-created. When I encounter any kind of error, in addition to the error information provided by SSIS, I also need the actual row data.
If using the Transfer Object task can't do that, how would I loop through all the tables on an OLEDB source and capture the same error information on the destination? I figured out how to do the Data Flow a table with a redirect error output but that does not give me the actual row data.
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
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?
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.
I have a log file that is approximately 50 GIG. I backed up just the log and the file size of the .bak is 192 GIG . Why is this? Shouldn't it be closer to the 50 GIG.
Normally I wouldn't let log grow this much. But we are in process of getting new server up and running and don't have backups going yet. They are working on getting that up and running this week.
So I did a log backup to give me back some log space for now but was concerned when I saw the size of the .bak file.
When I view media contents of the backup device it shows one tranaction log back up and size of 192 GIG.
What is up with this. I know in SQL 2000 the log backup files where never this big. they were about the size of the log itself.
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.
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")
I installed sql 2005 a while back. Then I recently found out my file system was fat32 (I don't understand why the hardware people did this...) and I had to convert to NTFS. Naturally the sql service no longer worked so I uninstalled inorder to reinstall now I can't reinstall it I keep getting this message
native_error=5039, msg=[Microsoft][SQL Native Client][SQL Server]MODIFY FILE failed. Specified size is less than current size.
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 have one db test with one .mdf and .ldf file...mdf file size is 100mb and for some reson i removed all the tablesfrom that .mdf file and transfer it into new secondary file so all thetables moved into secondary file now i want to reduce the first .mdffile from 100 mb to 50mb is that possible,it's showing 90mb is free.Please reply
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 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 have a an asp.net application running under IIS. this application is using two folders, the virtual directory under C:Inetpubwwwroot and the application phisical folder at C:. I want to manage this applications .mdf database using microsoft sql server management studio express(iam running sql express with advanced services) which means i have to attach the database to Ms sql server managemet studio express tool. What i dont know is if i should attach the .mdf file in the physical folder's App_Data folder at C:myapplicationFolderApp_data or the .mdf file in the virtual directory under C:InetpubwwwrootMyapplicationFolderApp_Data I dont know which of the two i should attach. Where exactly is the running database, the .mdf file in the physical folder or the .mdf file in the virtual directory under wwwroot.