仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 749|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之数据库被置疑的办理举措

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:23:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 17:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表