How to recover from mdf file (SQL Server 2000)

Hi,
My database corrupted because when I was running an update query, there is a power failure. After the computer booted, I cannot open the database anymore, it just not responding. Then I stop the sql server service, and tried to rename the .mdf and .ldf. After that it worked normally, but I need the data from the corrupted mdf file, I tried to attach the database but it just hanged. I even tried to attach without the .ldf file but it didn't work either, so I concluded that the problem is with the mdf file.
Is there any way to recover my data ??
Thanks in advance
Regards,
Edwin

Try this undocumented stuff provided by Kevin [MS].
==========
1. Back up the .mdf/.ndf files at first!!!
2. Change the database context to Master and allow updates to system tables:
Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
Go
3. Set the database in Emergency (bypass recovery) mode:
select * from sysdatabases where name = '<db_name>'
-- note the value of the status column for later use in # 6
begin tran
update sysdatabases set status = 32768 where name = '<db_name>'
-- Verify one row is updated before committing
commit tran
4. Stop and restart SQL server.
5. Call DBCC REBUILD_LOG command to rebuild a "blank" log file based on the
suspected db.
The syntax for DBCC REBUILD_LOG is as follows:
DBCC rebuild_log('<db_name>','<log_filename>')
where <db_name> is the name of the database and <log_filename> is
the physical path to the new log file, not a logical file name. If you
do not
specify the full path, the new log is created in the Windows NT system
root
directory (by default, this is the Winnt\System32 directory).
6. Set the database in single-user mode and run DBCC CHECKDB to validate
physical consistency:
sp_dboption '<db_name>', 'single user', 'true'
DBCC checkdb('<db_name>')
Go
begin tran
update sysdatabases set status = <prior value> where name = '<db_name>'
-- verify one row is updated before committing
commit tran
Go
7. Turn off the updates to system tables by using:
sp_configure 'allow updates', 0
reconfigure with override
Go
============

Similar Messages

  • Tell me how to format a date retrieved from a MS SQL Server 2000 database?

    Tell me how to format a date retrieved from an MS SQL Server 2000 database for various uses in my JSP page?

    Or if you want to use JSTL instead of a scriptlet see:
    http://forum.java.sun.com/thread.jspa?threadID=676754&tstart=0

  • How to load oracle data into SQL SERVER 2000?

    how to load oracle data into SQL SERVER 2000.
    IS THERE ANY UTILITY AVAILABLE?

    Not a concern for an Oracle forum.
    Als no need for SHOUTING.
    Conventional solutions are
    - dump the data to a csv file and load it in Mickeysoft SQL server
    - use Oracle Heterogeneous services
    - use Mickeysoft DTS
    Whatever you prefer.
    Sybrand Bakker
    Senior Oracle DBA

  • Creation of database link from oracle to sql server 2000

    Hi
    I need to create a database link from oracle to sql server 2000.

    Assuming your Oracle database is running on Windows, you can set up a database link using ODBC using Heterogeneous Services and Generic Connectivity, but there are some functional limitations (i.e. no two-phase commits). If you can live with those limitations but aren't on Windows, you can generally purchase an ODBC driver for your operating system that will connect to SQL Server through someone like DataDirect and still use Generic Connectivity. If you cannot live with those limitations, you can purchase one of Oracle's Transparent Gateway products (though this can get somewhat pricey).
    What version of Oracle are you on?
    What operating system(s) are you using?
    What are you going to use the database link for?
    Justin

  • How to use OEM to moniter sql server 2000

    Hi,
    I need to learn How to use OEM to moniter sql server 2000.
    Can anyone help me and give me some website or documents
    to read?
    So I can learn to do this job.
    Thanks.

    See Note 115302.1 in Metalink.oracle.com
    in how to use OEM Diagnostic pack addon for SQL Server
    Or search for
    oem "user events"
    to build your own monitor script.

  • How to load data to a SQL Server 2000 from a text file ( fixed / delimited)

    I am a navie user to ODI, just installed some time back. And I wanted to load text data ina file ( fixed length/ delimited ) to SQL server 2000 database.
    Iam intrested to know the steps I need to take to achieve this. I mean for example first creating topology,next designer..
    Could you please provide some books/articles or any documents that talt about these steps clearly one-by-one.

    Hi,
    Oracle Data Integrator - Getting Started with an ETL Project
    follow this manuel step by step and you will be able to load data from file to any database...

  • How to connect from InformixDB to SQL Server 2012 (and copy data)

    Hello guys
    I try to build a connection from an Informix (Informix2000) database to my SQL Server 2012.
    I really dont know how to do this...
    The plan is to build a job in the night in which data is beeing copied from the InformixDB to my SQL Server 2012
    The SQL server should be like a "archive server" (same data as informix DB , but the data should stay for 2 years)
    Any idea if this is possible ? (what im trying to do)
    Can i do this with ODBC Connection ?
    Thanks a  lot and Regards, Dominic

    Thanks a lot guys... but what im trying to do is not to migrate the hole Informix DB to SQL 2012, i just want to copy some data into my SQL Server (archive). in the informix DB the data is only 30days back... i want to transfer  every week
    the data and let it on the SQL Server 2 years back. (SQL Server should be like an archive system)
    Hello ,
    Then you need to create an SSIS package to migrate data from Informix to SQL Server 2008 since Informix is old I dont know which connection provider to use but you can try ADO.NET connection provider
    Can you check below link
    http://davidbridge.wordpress.com/2012/05/30/extraction-from-informix-database-using-ssis-data-warehouse-etl/
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

  • How can i connect to a SQL Server 2000 database usgin JSP?

    I need (URGENT) to connect to SQL Server 2000 databse using JSP. I do not know how to program using JSP, so if anyone has any code snippet please let me see it. What i need is to give my site some login/password security.
    Anyone?
    Thx.

    just create an ODBC of your database from control pannel -> administrative tools -> data sources (ODBC) ,double click it .....
    go to the tab SYstem DSN , click on ADD button. select the driver for your connection. it will be the last one in the list "SQL Server".
    click Next then give ur DSN name there, description and Server Name , on next give your username and password of SQL server. when it will be connected to the server celect your database from there and hence there will be an ODBC bridge same as in case of MS Access.
    code for connecting to ODBC is
    // DSN-NAME same as in System DSN.
    // username and password are of your databse
    try
              url = "jdbc:odbc:DSN-NAME";
              Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
              connect = DriverManager.getConnection( url,"username","password" );
              catch ( ClassNotFoundException cnfex ) {
                        setErrorMsg( cnfex.getMessage() );
              catch ( SQLException sqlex ) {
                        setErrorMsg( sqlex.getMessage() );
              catch ( Exception ex ) {
                        setErrorMsg( ex.getMessage() );
    Now you are connected to the SQL Server ..... use connect object for further processing .........

  • How to reduce transaction log in SQL Server 2000

    Dear All gurus/experts,
    I need your help. The problem is that the time to take to reduce transaction log in SQL server 2000 when I use shrink method. Are there another way to do that beside shrink database (right click : all tasks --> shrink database) ?
    I appreciate your answers. TIA
    Rgds,

    Hi Steve,
    Is this for a test system or a production system?
    For a test system, as per Ad's post, setting the recovery model to simple should do the trick.
    For a production system, I'd recommend you leave the recovery model at full and set up transaction log backups. This will keep the log file at a reasonable size and you will gain point in time recovery (eg if you back up the logs on an hourly basis, you can recover the database to the last log backup, meaning you would never lose more than an hour's work).
    Kind Regards,
    Owen

  • How to compare 2 dates in SQL Server 2000 DB using Java?

    How do you compare 2 dates in SQL Server 2000 DB using Java?
    Let's say we have two fields: Date Reported and Target Finish Date.
    Date Reported is 09-10-2004 09:55:55: PM
    Target Finish Date is 09-12-2004 11:59:59: PM
    What i want to happen is i want to convert both dates to days and get the difference of the two.
    can SQL Server 2000 DB do this?

    it doesnt wrk.
    ok here's what i did:
    iv tested a simple code for this case.
    I created a table name tblDate which has 3 columns namely date_ID, date_From (datatype datetime), date_To (datatype datetime).
    I inserted 1 row: date_ID has the value 1, date_From has the value 10/22/2004, and date_To has the value 10/24/2004.
    i run the java code below:
    int days = 0;
              String query = "SELECT date_From, date_To cast(date_From-date_To AS int) AS Diff FROM tblZoo WHERE date_ID = '1'";
              try
                   DBConnect db = new DBConnect();
                   db.openCon();
                   ResultSet rs = db.execute(query);
                   while(rs.next())
                        days = rs.getInt("Diff");
                   db.closeCon();                         
              catch (Exception ex)
                   System.out.println("Error on Execution: " + ex);
              return days;___________
    an error occurred: Error on Execution: java.lang.nullpointerexception

  • Creating Database link from Oracle9i to SQL server 2000

    Pls how do I create connectivity from Oracle9i database to query a table in an SQL server 2000 database.
    Pls I need the necessary steps to take.
    Thanx

    There are 2 solutions that you can use:
    1) Transparent Gateway for SQL Server
    2) Generic Connectivity
    Generic Connectivity is free with the database but has less features than the Gateway. For Generic Connectivity you will need to obtain an ODBC driver.
    The steps for using the gateway are available in the gateway manual and the steps for using Generic Connectivity is available in Chap 7 of the Heterogeneous Connectivity Administrator's Guide.

  • How To Use Reporting Services On SQL Server 2000 ?

    Hi all .
    Today , I has a issue .
    Normal , if the customer use SQl Server 2005 , it is no proplem , so if use SQL Server 2000 ,  Now , I want to use Reporting services on SQL Server 2000 , but , I am searching  on Internet , so I know , if I want to use SQL 2000 reporting server , I must have license of SQL server 2000 .
    is Every body  idea for this issue  ? .
    Please help me .
    Thanks alot .

    Ok ,anyway thanks alot ,.

  • SSDT: Creation of localDB instances from project file - Sql Server Unit testing purposes

    I have a SqlServer Database Project in my solution (VS2013 Professional) which has a corresponding test project with some stored procedure unit tests. Currently I am using a LocalDB and as far as I understand a local database instance is created in C:\Users\[User]\AppData\Local\Microsoft\Microsoft
    SQL Server Local DB\Instances\Projects and the specific .mdf file referenced in the SQL Server Object Explorer is in C:\Users\[User]\AppData\Local\Microsoft\VisualStudio\SSDT\[ProjectName]. The unit tests run fine on my local machine which I have developed
    the project on.
    My issue is we have a box which is configured to check out the project file from our version control, build the project using ms build commands and then run the unit tests using VSTest.Console. Usually with C# Test projects we reference the test project
    dll and the unit tests run fine. I have referenced the dll for the test project with the stored procedure unit tests in. 
    With the Stored Procedure unit tests however we get this exception: 
    Initialization method [project].[spTest].TestInitialize threw exception. System.Data.SqlClient.SqlException: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 50 - Local Database Runtime error occurred. The specified LocalDB instance does not exist.
    After some digging I have realised that the localdb instance seems to be created when the project itself is created in VS not when it is built. Specifically when the localdb is first used and if you look into the appData folder of the test machine there
    is no corresponding mdf file for the project.  
    The question is is there a way to set up a localDB instance on the new machine if all you have the project file? The only purpose of the project on the test machine is to run the unit tests, no other development purposes. VS2013 Professional is installed
    on the test machine but a solution only using config file changes or MSBuild/VSTest commands would be preferable.
    I realise you could change the connection string to an actual test database and run the unit tests of that but we quite like the localdb approach for the testing. I also realise that you could potentially transfer the mdf file (haven't tested this solution)
    as well, though I would prefer if there is a solution to my initial question. 
    http://technet.microsoft.com/en-us/library/hh234692.aspx
    http://msdn.microsoft.com/en-us/library/hh309441(v=vs.110).aspx
    I have been reading up on LocalDB and I assume a automatic LocalDB is created when you create a sql server database project (ie on localdb first use). I have tried adding the database creation to the test project config file but do not really know where
    to go from there. The second link does not really specify when the named localdb will be created if you add the config items and I am not even sure if that is an actual solution.  Here's my test project config file for reference
    <configSections>
    <section name="system.data.localdb" type="System.Data.LocalDBConfigurationSection,System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=[PublicKeyToken]"/>
    <section name="SqlUnitTesting_VS2013" type="Microsoft.Data.Tools.Schema.Sql.UnitTesting.Configuration.SqlUnitTestingSection, Microsoft.Data.Tools.Schema.Sql.UnitTesting, Version=12.0.0.0, Culture=neutral, PublicKeyToken=[PublicKeyToken]" />
    </configSections>
    <system.data.localdb>
    <localdbinstances>
    <add name="SimpleUnitTestingDB" version="11.0" />
    </localdbinstances>
    </system.data.localdb>
    <SqlUnitTesting_VS2013>
    <DatabaseDeployment DatabaseProjectFileName="..\..\..\SimpleUnitTestDB\SimpleUnitTestDB.sqlproj"
    Configuration="Release" />
    <DataGeneration ClearDatabase="true" />
    <ExecutionContext Provider="System.Data.SqlClient" ConnectionString="Data Source=(localdb)\Projects;Initial Catalog=SimpleUnitTestDB;Integrated Security=True;Pooling=False;Connect Timeout=30"
    CommandTimeout="30" />
    <PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="Data Source=(localdb)\Projects;Initial Catalog=SimpleUnitTestDB;Integrated Security=True;Pooling=False;Connect Timeout=30"
    CommandTimeout="30" />
    </SqlUnitTesting_VS2013>
    Thanks in advance for any response. Sorry if there is any misunderstanding, while I have been using VS to develop from the start, this is the first time I have used a Sql Server Database Project. 
    Regards,
    Christopher. 

    Yes, you can create a LocalDB instance manually. You use the SqlLocalDb utility, see here:
    http://technet.microsoft.com/en-us/library/hh212961.aspx
    Erland Sommarskog, SQL Server MVP, [email protected]

  • How to connect from Oracle to SQL Server Database?

    I want to connect to SQL Serv DB via Oracle 10g can anyone assist please?

    Hi,
    you should post this question in the database forum (General Database Discussions - this is specially for the Oracle Warehouse Builder.
    Regards,
    Detlef

  • How to store/display images with SQL Server 2000

    Hi everybody, I'm totally new to ColdFusion, and creating a
    sample project, where a user would enter in a person's info and
    upload a picture of that person. I trying to get my app to save
    that image to SQL Server database and then to display that pic.
    Currently, it "seems" that I'm able to save to SQL server (my table
    saves user info but all values in my photo column says
    <binary>-I don't know if that is correct), but I can't seem
    to get image and display it on my cf page. I have pasted portions
    of my code below.
    I've been hammering away at this but no luck, so Any comments
    are very well appreciated, example code would be great!
    Thank you so much,
    noijet
    # 1.) I have a 'User Info Entry' page that submits to page
    #2:
    <cfform...>
    <input name="fileToUpload" id="fileToUpload" type="file"
    size="64"/>
    </cfform>
    # 2.) This page does the actual saving, this doesn't output
    any errors but am I saving the image to SQL server correctly? I
    have no idea really how to save images to database, so please
    advise or possibly provide example code. Afterwards, it goes to
    page #3 to display confirmation page that data has been saved.
    <cfif isDefined("Form.fileToUpload") and Form.fileToUpload
    neq "">
    <cfset uploadPath =
    GetDirectoryFromPath(GetBaseTemplatePath()) & "uploads\">
    <cfif not DirectoryExists(uploadPath)>
    <cfdirectory action="create" directory="#uploadPath#">
    </cfif>
    <cffile action="upload" fileField="fileToUpload"
    destination="#uploadPath#" nameConflict="overwrite">
    <cfset imagefile= "uploads\\" & cffile.serverFile
    & "'">
    </cfif>
    <cfquery name="qInsertPerson" dataSource="HRP">
    Execute insertPerson
    N'#Trim(FORM.sLastname)#',N'#Trim(FORM.sFirstname)#',N'#Trim(FORM.sMiddle)#',N'#Trim(FORM .sAlias)#',
    '#imagefile#'
    </cfquery>
    <cflocation url = "savePersonResult.cfm" addToken =
    "No">
    #3.) This confirmation page displays last user entered and a
    picture of the user. The user info retrieved from SQL server is
    displaying correctly but the picture is not displaying(just a small
    red 'x' box). The image calls another getPersonPhoto.cfm file to
    display image.
    <cfquery name="lastPerson" datasource="HRP">
    Exec getLastRow
    </cfquery>
    <cfoutput query="lastPerson">
    #firstName# #middle# #lastName# was added to our Persons
    list. That Person has been given id: #id# <br>
    Thank you for your assistance and cooperation.
    <img src="getPersonPhoto.cfm?id=71" border="0" width="128"
    height="180">
    </cfoutput>
    #4.) This is .cfm file that only displays image of person
    <cfsetting enablecfoutputonly="Yes">
    <cfsetting showdebugoutput="No">
    <cfquery name="getBlob" datasource="HRP">
    SELECT TOP 1 photo FROM Persons WHERE id = 71
    </cfquery>
    <cfheader name="content-disposition"
    value="Inline;filename=ExamplePerson.jpg">
    <cfcontent type="image/jpeg; charset=iso-8859-1">
    <cfoutput>#tostring(tobinary(getBlob.photo))#</cfoutput>
    Note: In my ColdFusion admin, I checked "Enable ... BLOB's"
    and set Blob Buffer to 20000

    Regarding doing the actual saving, here are some other things
    to consider:
    * a max on the image's file size
    * check if it really is an image
    * don't use nameconflict="overwrite". consider
    nameconflict="MAKEUNIQUE"
    * delete uploaded image on file system after insert into db
    Also, on the cfm page that returns an image, try putting the
    cfcontent tag and the cfoutput tag on one line.
    <cfheader name="Content-Type" value="image/jpeg">
    <cfcontent
    type="image/jpeg"><cfoutput>#getBlob.photo#</cfoutput>
    Good luck!

Maybe you are looking for