MSSQL网页编程之数据库被置疑的办理举措
两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。办理|数据|数据库|置疑在MSSQLSERVER中一向有如许的成绩,SQLSERVER的形态"置疑",我们先来剖析一下SQLSERVER数据库"置疑"的缘故原由:1.毛病的删除日记;
2.硬件(HD)破坏,形成日记和数据文件写毛病;
3.硬盘的空间不敷,好比日记文件过年夜;
办理举措:
这是最复杂的举措是无数据库的全备份,然后恢复便可.
步骤:
1.删除原始的数据库:
USEMASTER
GO
DROPDATABASEDB_SUEPECT
2.创建同名的数据库:
USEmaster
GO
CREATEDATABASEDB_SUSPECT
ON
(NAME=DBNAME_DAT,
FILENAME=C:,
SIZE=10,
FILEGROWTH=5)
LOGON
(NAME=DBNAME_LOG,
FILENAME=g:,
SIZE=5MB,
FILEGROWTH=5MB)
GO
3.恢单数据库:
RESTOREDATABASEDB_SUSPECT
FROMDBNAME_BACKUP.DAT
4.数据库完全性检测:
DBCCCHECKDB(DB_SUSPECT)
5.从头启动MSSQLSERVER服务.
假如没有全备份,那就要用一些特别的办法:
1.设置数据库为告急形式
UseMaster
GO
sp_configureallowupdates,1
reconfigurewithoverride
GO
UPDATEsysdatabasesSETstatus=32768wherename=DB_SUSPECT
GO
2.停失落SQLServer服务:
NETSTOPMSSQLSERVER
3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:
4.启动SQLServer服务:
NETSTARTMSSQLSERVER
5.从头创建一个同名的数据库DB_SUSPECT;
USEmaster
GO
CREATEDATABASEDB_SUSPECT
ON
(NAME=DBNAME_DAT,
FILENAME=C:,
SIZE=10,
FILEGROWTH=5)
LOGON
(NAME=DBNAME_LOG,
FILENAME=g:,
SIZE=5MB,
FILEGROWTH=5MB)
GO
6.设置数据库运转在单用户的形式:
USEMASTER
GO
ALTERDATABASEDB_SUSPECTSETSINGLE_USER
GO
7.停失落SQL服务:
NETSTOPMSSQLSERVER
8.把本来的数据文件再掩盖返来:
9.启动SQLServer服务:
NETSTARTMSSQLSERVER
10.从头设置SQLSERVER的形态:
USEMASTER
GO
EXECsp_resetstatus"DB_SUSPECT"
11.数据库完全性检测:
DBCCCHECKDB(DB_SUSPECT)
12.恢单数据库为多用户形式:
USEMASTER
GO
ALTERDATABASEDB_SUSPECTSETMULTI_USER
GO
13.恢复SQLSERVER原始的设置:
USEMATER
GO
UPDATEsysdatabasesSETstatus=4194320wherename=DB_SUSPECT
GO
14.设置SQLSERVER不同意更新体系表:
USEMASTER
GO
sp_configureallowupdates,0
reconfigurewithoverride
GO
15.从头启动MSSQLSERVER服务:
最好从头启动操纵体系
16.备份数据库:
能够经由过程SQLSERVER企业办理器或T-SQL.必要备份MASTER和DB_SUSPECT
增补一点,假如用DOMAINUSER时,要注重对.MDF.LDF的地点目次的权限.
Zach的灵验剧本Zach说他每次碰到这类数据库置疑情形,就运转上面这个剧本,屡试不爽:======================================================--beforerunninganyscript,runthefollowingtosetthemasterdatabasetoallowupdatesUSEmasterGOsp_configureallowupdates,1GORECONFIGUREWITHOVERRIDEGO--RunthefollowingscriptUPDATEmaster..sysdatabasesSETstatus=status^256WHEREname=Database_Name--RunthefollowingscriptexecSP_resetstatusDatabase_Name--stopandstarttheMSDTCatthisstage--Aftertheprocedureiscreated,immediatelydisableupdatestothesystemtables:execsp_configureallowupdates,0GORECONFIGUREWITHOVERRIDEGO=====================================
使为了数据安全,我们搭建了主从。但实时主从备份只能防止硬件问题,比如主库的硬盘损坏。但对于误操作,则无能为力。比如在主库误删一张表,或者一个update语句没有指定where条件,导致全表被更新。 但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右) 语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的! SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上. 对于微软系列的东西除了一遍遍尝试还真没有太好的办法 对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。 原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。 入门没那么困难,精通没那么容易 如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
页:
[1]