


How to recover when a SQL Server database crashes? _PHP Tutorial
No database system can avoid crashes. Even if you use Clustered, dual-machine hot backup... you still cannot completely eliminate single points of failure in the system, not to mention that most users cannot afford such expensive hardware investment. Therefore, when the system crashes, how to recover the original valuable data becomes an extremely important issue.
During recovery, the ideal situation is that your data files and log files are intact, so you only need to sp_attach_db to attach the data files to the new database, or all the data during shutdown It is okay to copy all the files (must have master, etc.) to the original path, but this approach is generally not recommended. sp_attach_db is better, although it is more troublesome.
However, when the database crashes, the system may not have time to write unfinished transactions and dirty pages to the disk. In this case, sp_attach_db will fail. So, let's hope the DBA has a good disaster recovery plan in place. According to your recovery plan, restore the latest full backup, incremental backup or transaction log backup, and then if your active transaction log is still readable, congratulations! You can revert to the state before the crash.
General units do not have a full-time DBA. If there is no backup available, it is more likely that the latest backup is too old, resulting in unacceptable data loss, and your active transaction log is also in an unavailable state. , that is the most troublesome situation.
Unfortunately, database crashes are generally caused by the storage subsystem, and in such a situation it is almost impossible to have available logs for recovery.
Then you have to try these solutions. Of course, it is required that at least your data files exist. If the data files, log files and backups are gone, don't look for me. You can go to the rooftop and sing "God, save me".
First of all, you can try sp_attach_single_file_db and try to recover your data files. Although the recovery is unlikely, it may still be successful if the database happens to execute a checkpoint.
If you are not lucky enough to win the lottery, and the most important database is not attached as you expected, don’t be discouraged, there are still other solutions.
We can try to re-create a log. First, set the database to emergency mode. If the status of sysdatabases is 32768, it means that the database is in this state.
However, the system table cannot be changed casually. To set it up, first
Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
Go
and then
update sysdatabases set status = 32768 where name = '
Now, pray for the blessings of the gods and Buddhas in the sky and re-create a log file. The chance of success is still quite high, and the system will generally recognize your newly created log. If no errors were reported, you can breathe a sigh of relief now.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



On July 29, at the roll-off ceremony of AITO Wenjie's 400,000th new car, Yu Chengdong, Huawei's Managing Director, Chairman of Terminal BG, and Chairman of Smart Car Solutions BU, attended and delivered a speech and announced that Wenjie series models will be launched this year In August, Huawei Qiankun ADS 3.0 version was launched, and it is planned to successively push upgrades from August to September. The Xiangjie S9, which will be released on August 6, will debut Huawei’s ADS3.0 intelligent driving system. With the assistance of lidar, Huawei Qiankun ADS3.0 version will greatly improve its intelligent driving capabilities, have end-to-end integrated capabilities, and adopt a new end-to-end architecture of GOD (general obstacle identification)/PDP (predictive decision-making and control) , providing the NCA function of smart driving from parking space to parking space, and upgrading CAS3.0

On April 11, Huawei officially announced the HarmonyOS 4.2 100-machine upgrade plan for the first time. This time, more than 180 devices will participate in the upgrade, covering mobile phones, tablets, watches, headphones, smart screens and other devices. In the past month, with the steady progress of the HarmonyOS4.2 100-machine upgrade plan, many popular models including Huawei Pocket2, Huawei MateX5 series, nova12 series, Huawei Pura series, etc. have also started to upgrade and adapt, which means that there will be More Huawei model users can enjoy the common and often new experience brought by HarmonyOS. Judging from user feedback, the experience of Huawei Mate60 series models has improved in all aspects after upgrading HarmonyOS4.2. Especially Huawei M

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

Recently, Huawei announced that it will launch a new smart wearable product equipped with Xuanji sensing system in September, which is expected to be Huawei's latest smart watch. This new product will integrate advanced emotional health monitoring functions. The Xuanji Perception System provides users with a comprehensive health assessment with its six characteristics - accuracy, comprehensiveness, speed, flexibility, openness and scalability. The system uses a super-sensing module and optimizes the multi-channel optical path architecture technology, which greatly improves the monitoring accuracy of basic indicators such as heart rate, blood oxygen and respiration rate. In addition, the Xuanji Sensing System has also expanded the research on emotional states based on heart rate data. It is not limited to physiological indicators, but can also evaluate the user's emotional state and stress level. It supports the monitoring of more than 60 sports health indicators, covering cardiovascular, respiratory, neurological, endocrine,

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

Using the database callback function in Golang can achieve: executing custom code after the specified database operation is completed. Add custom behavior through separate functions without writing additional code. Callback functions are available for insert, update, delete, and query operations. You must use the sql.Exec, sql.QueryRow, or sql.Query function to use the callback function.

Through the Go standard library database/sql package, you can connect to remote databases such as MySQL, PostgreSQL or SQLite: create a connection string containing database connection information. Use the sql.Open() function to open a database connection. Perform database operations such as SQL queries and insert operations. Use defer to close the database connection to release resources.
