sql2000backup database不能用于紧急模式打开的数据库 SQL Server数据库成为紧急模式怎么恢复

\u7d27\u6025\u6c42\u52a9\uff0cSQL2000\u6570\u636e\u5e93\u5904\u4e8e\u8d28\u7591\u72b6\u6001

\u5728MS SQLSERVER\u4e2d\u4e00\u76f4\u6709\u8fd9\u6837\u7684\u95ee\u9898,SQLSERVER\u7684\u72b6\u6001"\u7f6e\u7591",\u539f\u56e0\u7ea6\u6709\u4ee5\u4e0b\u51e0\u6761:
1.\u9519\u8bef\u7684\u5220\u9664\u65e5\u5fd7;
2.\u786c\u4ef6(HD)\u635f\u574f,\u9020\u6210\u65e5\u5fd7\u548c\u6570\u636e\u6587\u4ef6\u5199\u9519\u8bef;
3.\u786c\u76d8\u7684\u7a7a\u95f4\u4e0d\u591f,\u6bd4\u5982\u65e5\u5fd7\u6587\u4ef6\u8fc7\u5927;
\u89e3\u51b3\u529e\u6cd5:
\u6700\u7b80\u5355\u7684\u529e\u6cd5\u662f\u6709\u6570\u636e\u5e93\u7684\u5168\u5907\u4efd,\u7136\u540e\u6062\u590d\u5373\u53ef.
\u6b65\u9aa4:
1. \u5220\u9664\u539f\u59cb\u7684\u6570\u636e\u5e93:
USE MASTER
GO
DROP DATABASE DB_SUEPECT
2.\u5efa\u7acb\u540c\u540d\u7684\u6570\u636e\u5e93:
USE master
GO
CREATE DATABASE DB_SUSPECT
ON
( NAME = DBNAME_DAT,
FILENAME = 'C:',
SIZE = 10,
FILEGROWTH = 5 )
LOG ON
( NAME = 'DBNAME_LOG',
FILENAME = 'g:',
SIZE = 5MB,
FILEGROWTH = 5MB )
GO
3.\u6062\u590d\u6570\u636e\u5e93:
RESTORE DATABASE DB_SUSPECT
FROM DBNAME_BACKUP.DAT
4.\u6570\u636e\u5e93\u5b8c\u6574\u6027\u68c0\u6d4b:
DBCC CHECKDB('DB_SUSPECT')
5.\u91cd\u65b0\u542f\u52a8MSSQLSERVER\u670d\u52a1.
\u5982\u679c\u6ca1\u6709\u5168\u5907\u4efd,\u90a3\u5c31\u8981\u7528\u4e00\u4e9b\u7279\u6b8a\u7684\u65b9\u6cd5:
1.\u8bbe\u7f6e\u6570\u636e\u5e93\u4e3a\u7d27\u6025\u6a21\u5f0f
Use Master
GO
sp_configure 'allow updates', 1
reconfigure with override
GO
UPDATE sysdatabases SET status = 32768 where name = 'DB_SUSPECT'
GO
2.\u505c\u6389SQL Server\u670d\u52a1:
.Net STOP MSSQLSERVER
3.\u628a\u539f\u59cb\u6570\u636e\u5e93\u7684\u6570\u636e\u6587\u4ef6DBNAME_DAT.MDF,DBNAME_LOG.LDF\u79fb\u8d70:
4.\u542f\u52a8SQL Server\u670d\u52a1:
.Net START MSSQLSERVER
5.\u91cd\u65b0\u5efa\u7acb\u4e00\u4e2a\u540c\u540d\u7684\u6570\u636e\u5e93DB_SUSPECT\uff1b
USE master
GO
CREATE DATABASE DB_SUSPECT
ON
( NAME = DBNAME_DAT,
FILENAME = 'C:',
SIZE = 10,
FILEGROWTH = 5 )
LOG ON
( NAME = 'DBNAME_LOG',
FILENAME = 'g:',
SIZE = 5MB,
FILEGROWTH = 5MB )
GO
6.\u8bbe\u7f6e\u6570\u636e\u5e93\u8fd0\u884c\u5728\u5355\u7528\u6237\u7684\u6a21\u5f0f:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET SINGLE_USER
GO
7.\u505c\u6389SQL\u670d\u52a1:
.Net STOP MSSQLSERVER
8.\u628a\u539f\u6765\u7684\u6570\u636e\u6587\u4ef6\u518d\u8986\u76d6\u56de\u6765:
9.\u542f\u52a8SQL Server\u670d\u52a1:
.Net START MSSQLSERVER
10.\u91cd\u65b0\u8bbe\u7f6eSQLSERVER\u7684\u72b6\u6001:
USE MASTER
GO
EXEC sp_resetstatus "DB_SUSPECT"
11.\u6570\u636e\u5e93\u5b8c\u6574\u6027\u68c0\u6d4b:
DBCC CHECKDB('DB_SUSPECT')
12.\u6062\u590d\u6570\u636e\u5e93\u4e3a\u591a\u7528\u6237\u6a21\u5f0f:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET MULTI_USER
GO
13.\u6062\u590dSQLSERVER\u539f\u59cb\u7684\u914d\u7f6e:
USE MATER
GO
UPDATE sysdatabases SET status = 4194320 where name = 'DB_SUSPECT'
GO
14.\u914d\u7f6eSQLSERVER\u4e0d\u5141\u8bb8\u66f4\u65b0\u7cfb\u7edf\u8868:
USE MASTER
GO
sp_configure 'allow updates', 0
reconfigure with override
GO
15.\u91cd\u65b0\u542f\u52a8MSSQLSERVER\u670d\u52a1:
\u6700\u597d\u91cd\u65b0\u542f\u52a8\u64cd\u4f5c\u7cfb\u7edf
16.\u5907\u4efd\u6570\u636e\u5e93:
\u53ef\u4ee5\u901a\u8fc7SQLSERVER\u4f01\u4e1a\u7ba1\u7406\u5668\u6216T-SQL.\u9700\u8981\u5907\u4efdMASTER\u548cDB_SUSPECT
\u8865\u5145\u4e00\u70b9\uff0c\u5982\u679c\u7528DOMAIN\USER\u65f6,\u8981\u6ce8\u610f\u5bf9.MDF.LDF\u7684\u6240\u5728\u76ee\u5f55\u7684\u6743\u9650.

\u7075\u9a8c\u811a\u672c
\u9047\u5230\u8fd9\u79cd\u6570\u636e\u5e93\u7f6e\u7591\u60c5\u51b5\uff0c\u5c31\u8fd0\u884c\u4e0b\u9762\u8fd9\u4e2a\u811a\u672c\uff0c\u5c61\u8bd5\u4e0d\u723d\uff1a
======================================================
--before running any script, run the following to set the
master database to allow updates
USE master
GO
sp_configure 'allow updates', 1
GO
RECONFIGURE WITH OVERRIDE
GO

--Run the following script
UPDATE master..sysdatabases SET status = status ^ 256
WHERE name = 'Database_Name'

--Run the following script
exec SP_resetstatus Database_Name

--stop and start the MSDTC at this stage

--After the procedure is created, immediately disable
updates to the system tables:
exec sp_configure 'allow updates', 0
GO
RECONFIGURE WITH OVERRIDE
GO

1\u3001\u4f7f\u6570\u636e\u5e93\u53d8\u4e3a\u5355\u7528\u6237\u6a21\u5f0f
ALTER DATABASE \u6570\u636e\u5e93\u540d SET SINGLE_USER
\uff08\u5f53\u53d8\u6210\u5355\u7528\u6237\u7684\u6a21\u5f0f\u53ea\u80fd\u5728\u540c\u4e00\u4e2a\u7a97\u53e3\u6267\u884c\u8bed\u53e5\uff09
2\u3001\u4fee\u6b63\u6570\u636e\u5e93\u65e5\u5fd7\u91cd\u65b0\u751f\u6210\uff0c\u6b64\u547d\u4ee4\u68c0\u67e5\u7684\u5206\u914d\uff0c\u7ed3\u6784\uff0c\u903b\u8f91\u5b8c\u6574\u6027\u548c\u6240\u6709\u6570\u636e\u5e93\u4e2d\u7684\u5bf9\u8c61\u4e0d\u6b63\u786e\u3002\u5f53\u60a8\u6307\u5b9a\u201cREPAIR_ALLOW_DATA_LOSS\u201d\u4f5c\u4e3aDBCC CHECKDB\u547d\u4ee4\u53c2\u6570\uff0c\u8be5\u7a0b\u5e8f\u5c06\u68c0\u67e5\u548c\u4fee\u6b63\u62a5\u544a\u7684\u4e0d\u6b63\u786e\u3002\u4f46\u662f\uff0c\u8fd9\u4e9b\u4fee\u6b63\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e00\u4e9b\u6570\u636e\u4e22\u5931\u3002
DBCC CheckDB (\u6570\u636e\u5e93\u540d, REPAIR_ALLOW_DATA_LOSS)
3\u3001\u4f7f\u6570\u636e\u5e93\u53d8\u56de\u4e3a\u591a\u7528\u6237\u6a21\u5f0f
ALTER DATABASE \u6570\u636e\u5e93\u540d SET MULTI_USER

数据库置疑后,你执行语句修复时需要将数据库设为紧急模式,也许你用的是复制过来的语句自己并不清楚,只要将数据库紧急模式取消就好了!在master表中执行语句取消紧急模式 update sysdatabases set status= 0 where name='你的库名'

扩展阅读:sql2000 win7 ... sql2000装在win10 ... sql2005安装包下载 ... sql2000与win10不兼容 ... windows10安装sql2000 ... sql2008安装 ... win10安装sql2000无弹窗 ... sql2000安装挂起怎么解决 ... sql2000挂起解决办法 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网