仓酷云

标题: MSSQL网页编程之数据库被置疑的办理举措 [打印本页]

作者: 老尸    时间: 2015-1-16 22:23
标题: 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条件,导致全表被更新。
作者: 第二个灵魂    时间: 2015-1-19 10:03
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
作者: 小魔女    时间: 2015-1-25 22:10
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
作者: 因胸联盟    时间: 2015-2-4 08:07
SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
作者: 金色的骷髅    时间: 2015-2-9 19:51
对于微软系列的东西除了一遍遍尝试还真没有太好的办法
作者: 灵魂腐蚀    时间: 2015-2-27 19:45
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。
作者: 活着的死人    时间: 2015-3-9 11:25
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
作者: 小女巫    时间: 2015-3-16 22:08
入门没那么困难,精通没那么容易
作者: 变相怪杰    时间: 2015-3-23 05:22
如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2