版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,主要内容,SQL Server 2000 补丁安装过程中常见问题 删除数据库中重复数据的几个方法 恢复系统数据库的方法 如何修复SQLSERVER 数据库置疑 无数据库日志文件恢复数据库方法 SQL Server 数据库日常维护 总复习串讲,SQL Server 2000 补丁安装过程中常见问题,如果在安装补丁的时候遇到如下类似错误: 1、安装过程中出现“以前进行的程序创建了挂起的文件操作,运行安装程序前,必须重新启动”,请按照下面步骤解决: a、重启机器,再进行安装,如果发现还有该错误,请按下面步骤 b、在开始-运行中输入regedit c、到HKEY_LOCAL_MACHINESYSTE
2、MCurrentControlSetControlSession Manager 位置,SQL Server 2000 补丁安装过程中常见问题,d、选择文件-倒出,保存 e、在右边窗口右击PendingFileRenameOperations,选择删除,然后确认 f、重启安装,问题解决 如果还有同样问题,请检查其它注册表中是否有该值存在,如有请删掉。,SQL Server 2000 补丁安装过程中常见问题,2、在安装SQL Server SP3,有时候会出现:无论用windows认证还是混和认证,都出现密码错误的情况,这时查看临时目录下的sqlsp.out,会发现以下描述: TCP/IP So
3、cketsSpecified SQL server not found. TCP/IP SocketsConnectionOpen (Connect(). 其实这是SQL Server SP3的一个小bug,在安装sp3的时候,没有监听tcp/ip端口,可以按照以下步骤进行:,SQL Server 2000 补丁安装过程中常见问题,1、打开SQL server客户器网络实用工具和服务器网络工具,确保启用的协议中包含name pipe,并且位置在第一位. 2、确保HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerClientConnectTo DSQUE
4、RY=DBNETLIB. 如果没有,请自己建立 3、停止mssql. 4、进行安装. 这样就可以进行正确安装了。,删除数据库中重复数据的几个方法,针对数据库表中的主码丢失,至使表中的 数据出现完全重复记录,那么针对这些重 复数据我们该如何进行删除呢? 方法一:写段SQL 程序脚本执行,删除数据库中重复数据的几个方法,declare max integer,id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) 1 open cur_rows fet
5、ch cur_rows into id,max while fetch_status=0 begin select max = max -1 set rowcount max delete from 表名 where 主字段 = id fetch cur_rows into id,max end close cur_rows set rowcount 0,删除数据库中重复数据的几个方法,例:删除司机表中重复数据 declare max integer,id integer declare cur_rows cursor local for select 司机编号,count(*) from 司
6、机表 group by 司机编号 having count(*) 1 open cur_rows fetch cur_rows into id,max while fetch_status=0 begin select max = max -1 set rowcount max delete from 司机表 where 司机编号= id fetch cur_rows into id,max end close cur_rows set rowcount 0,删除数据库中重复数据的几个方法,方法二: select distinct * from tableName 就可以得到无重复记录的结果集
7、。 如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除 select distinct * into #Tmp from tableName drop table tableName select * into tableName from #Tmp drop table #Tmp 发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决,删除数据库中重复数据的几个方法,方法二: 举例: 删除司机表中重复数据 select distinct * into #Tmp from 司机表 drop table 司机表 select * into 司机表 from #Tmp dro
8、p table #Tmp,恢复系统数据库的方法,系统数据库保存了有关SQL Server 的许 多重要数据信息,这些数据的丢失将给系统 带来极为严重的后果,所以我们也必须对系 统数据库进行备份。这样一旦系统或数据库 失败,则可以通过恢复来重建系统数据库。 在SQL Server 中重要的系统数据库主要有 master、 msdb、 distribution、 model。,恢复系统数据库的方法,虽然tempdb 也是系统数据库但没有必要 对其进行备份,因为SQL Server 每次启动都 会重新创建该数据库,而当SQL Server 停止 运行时,tempdb 数据库中所有数据都会被自 动清除
9、。在本节我们主要讨论master 数据库 的备份和恢复问题。 备份master 数据库与备份用户数据库一 样,只要数据库状态发生变化我们就要通过 备份来保存这些变化以防止一旦系统失。败,恢复系统数据库的方法,而导致数据丢失以下情况的发生往往要求我 们立即对master 数据库进行备份。 增加或删除用户数据库。但是如果增加 或删除文件或文件组,或用户数据库自动增 加来容纳新添加的数据,这些操作并不对 master 数据库产生影响,所以此时不必对其 进行备份; 创建新的登录或执行与登录有关的操 作,但是增加数据库用户并不影响master 数 据库;,恢复系统数据库的方法,对master 数据库,我
10、们常进行完全数据库备 份。而恢复master 数据库,却有两种途径: 或是使用master 数据库当前备份,或是执行 Rebuild Master Utility 来重建master 数 据库。如果master 数据库遭到的损坏还不足 以使SQL Server 无法启动,我们可以使用 master 数据库的当前备份来执行恢复;如果 master 遭到严重破坏,SQL Server 无法启,恢复系统数据库的方法,动,或者master 数据库的当前备份也不能使 用,我们则必须执行Rebuild Master Utility 来重建master 数据库(此时 master 数据库中的所有以前的数据都
11、将丢 失),然后再使用备份来进行恢复(如果 master 的备份可以使用)。,恢复系统数据库的方法,使用Rebuild Master Utility 来重建master 主要执行以下步骤: (1) 关掉SQL Server, 然后运行位于 Microsoft SQL Server80toolsBinn 下 的Rebuildem.exe 文件,出现Rebuild Master (2)单击Browse 按钮来浏览包括Data 文件 的源目录。 (3)单击Setting 按钮出现Collation Setting 对话框,恢复系统数据库的方法,(4)单击Rebuild 按钮重建Master 数据 库
12、。 重建master 数据库只是整个恢复工作的开 始,然后要装入master 数据库的备份。如果 备份不可用,则要重新创建任何必要的备份 设备,接着恢复msdb model distribution 数据库以及用户数据库。对于那些在master 数据库最近的备份后所创建的数据库来说, 如果其存在备份,则使用备份进行恢复,如,恢复系统数据库的方法,果其存在备份,则使用备份进行恢复,如 果不存在,只能通过重新连接数据库文件 (数据和日志文件)来重新恢复数据库。 在SQL Server 中,我们可以拆开数据库 的数据文件和事务日志文件,然后将它们重 新连接到另外的服务器或同一个服务器。拆 开数据库就
13、是将数据库从SQL Server 中删 除,但是保持数据和事务日志文件的完整 性。然后事务日志和数据文件可在任何运行,恢复系统数据库的方法,SQL Server 的服务器上被重新连接成该数 据库。因此当您准备把数据库从一台机器移 到另外的机器上但不重新创建数据库,或者 将数据库移到另外的磁盘上您会发现数据库 的拆分和连接是很有用处的。,如何修复SQLSERVER 数据库置疑,由于某些原因,数据库可能成为置疑状态。 可能的原因包括操作系统拒绝对数据库资源 的访问,以及一个或多个数据库文件不可用 性或已损坏,造成数据库置疑状态.我们要将 备份的数据库进行恢复,如何修复SQLSERVER 数据库置疑
14、,sp_resetstatus 重置置疑数据库的状态。 语法 sp_resetstatus DBName = database 参数 DBName = database 是要重置的数据库名。database 的数据类型 为 sysname,无默认值。 返回代码值 0(成功)或 1(失败),如何修复SQLSERVER 数据库置疑,注释 sp_resetstatus 关闭数据库上的置疑标记。此过程更新 sysdatabases 中的命名数据库的模式和状态列。在运行此过程之前,应参考 SQL Server 错误日志并解决所有问题。执行 sp_resetstatus 后停止并重新启动 SQL Serv
15、er。,如何修复SQLSERVER 数据库置疑,权限 只有 sysadmin 固定服务器角色成员才能执行 sp_resetstatus。,如何修复SQLSERVER 数据库置疑,我们可以根据情况不同而进行分析,在解决问题,一般情况下,解决步骤: 1.在运行窗口下运行以下命令启动 SQL Server: sqlservr -f m,如何修复SQLSERVER 数据库置疑,备注:-m 开关以单用户模式启动 SQL Server。在单用户模式下,只能成功建立一个连接。 请注意是否有任何其他客户机或服务可能会在您通过 SQL Server 查询分析器 建立连接前使用那个连接。 或者 直接启动SQL S
16、erver服务,将在查询分析器中直接进行下列操作. 注:根据不同原因造成的数据库置疑状态,我们选择不同的SQL Server登录的方式.,如何修复SQLSERVER 数据库置疑,2.由于使用重新设置数据库状态的存储过程修改了系统表,所以必须在运行 sp_resetstatus这个过程前,启用系统表更新。要启用更新,使用下面的过程: sp_configure allow updates, 1 GO RECONFIGURE WITH OVERRIDE GO,如何修复SQLSERVER 数据库置疑,注:使用 allow updates 选项指定是否可以直接更新系统 表。默认情况下,allow upd
17、ates 选项被禁用(设为 0),所以用户不能通过特殊更新来更新系统表,而只能 通过系统存储过程更新系统表。当禁用 allow updates 选项时,尽管您可能有足够的权限(由 GRANT 语句赋 予),仍不能进行更新。 当启用 allow updates(设为 1),任何具有适当权限的 用户都可以直接用特殊更新来更新系统表,或者创建可更 新系统表的存储过程。 *更新系统表中的字段会防碍 Microsoft SQL Server 实例运行或导致数据丢失。当您在启用 allow updates 选项时创建存储过程,则这些存储过程始终都,如何修复SQLSERVER 数据库置疑,可以更新系统表,即
18、使在禁用 allow updates 时也如 此。在生产系统中,除非有 Microsoft 产品支持服务的 说明,否则应该禁用允许更新。 3.重置置疑数据库的状态。 sp_resetstatus database_name 4.过程创建后,立即禁用系统表更新: sp_configure allow updates, 0 GO RECONFIGURE WITH OVERRIDE GO,如何修复SQLSERVER 数据库置疑,下面是结果集: Databasedatabase_namestatus reset! WARNING: You must reboot SQL Server prior to
19、 accessing this database! 注:如果使用 sp_configure 系统存储过程将 allow updates 设置为 1,则必须使用 RECONFIGURE WITH OVERRIDE 语句。该设置立即生效(无需停止并重新启动服务器)。,无数据库日志文件恢复数据库方法,数据库日志文件的误删或别的原因引起数据库日志的损坏。该如何处理? 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据
20、库名),无数据库日志文件恢复数据库方法,USE MASTER SP_CONFIGURE ALLOW UPDATES,1 RECONFIGURE WITH OVERRIDE UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME=置疑的数据库名 sp_dboption 置疑的数据库名, single user, true DBCC CHECKDB(置疑的数据库名) update sysdatabases set status =28 where name=置疑的数据库名 sp_configure allow updates, 0 reconfigure
21、with override Go sp_dboption 置疑的数据库名, single user, false 注:红色数字是sysdatabases中的对应参数,如下图,无数据库日志文件恢复数据库方法,无数据库日志文件恢复数据库方法,6.完成后一般就可以访问数据库中的数据了,这时,数据 库本身一般还要问题,解决办法是,利用数据库的脚本创 建一个新的数据库,并将数据导进去就行了. 方法二 设置数据库为紧急模式 停掉SQL Server服务; 把应用数据库的数据文件XXX_Data.mdf移走; 重新建立一个同名的数据库XXX; 停掉SQL服务; 把原来的数据文件再覆盖回来; 运行以下语句,把
22、该数据库设置为紧急模式;,无数据库日志文件恢复数据库方法,6.完成后一般就可以访问数据库中的数据了,这时,数据 库本身一般还要问题,解决办法是,利用数据库的脚本创 建一个新的数据库,并将数据导进去就行了.,数据库日常维护,检测SQL Server数据库服务是否正常 检测数据库备份方案是否正常运行 检测应用数据库日志大小 保证系统数据安全,周期更改用户口令,数据库日常维护,服务管理器组件(Server Manager): SQL Server 数据库引擎(SQLServer 服务) SQL Server 代理程序(SQLServerAgent 服务) Microsoft 搜索服务 Microso
23、ft 分布式事务处理协调器(MS DTC 服务),SQL Server 数据库日常维护,SQL Server 数据库引擎(SQLServer 服务)启 动失败导致的现象: 客户端程序连接失败 2.服务端主SQL Server 企业管理器组件 (Enerprise Manger)中SQL名称注册失败,打 开失败。,SQL Server 数据库日常维护,SQL Server 数据库引擎(SQLServer 服务) 启动失败可能的原因及解决方案: (如果启动失败,查询操作系统的事件查看器,进行查询) 1)服务器网络故障:服务器网卡无法工作。 2)服务器网络配置被改变:可能情况包括:修改了服务器IP地
24、址、服务器名称、服务器管理员密码,如遇该情况,请改回原配置,或重装SQL Server(覆盖安装,无须卸载原先的SQL Server,直接重新安装,安装路径相同)。,SQL Server 数据库日常维护,SQL Server 数据库引擎(SQLServer 服务) 启动失败可能的原因及解决方案: 3)服务器的系统文件丢失:因操作失误被删除,或因 病毒原因引起系统文件丢失,应清除病毒并重装系统和 SQL Server; 4)硬盘空间或系统日志满:释放出足够空间或清除日志。,SQL Server 数据库日常维护,SQL Server 代理程序(SQLServerAgent 服 务),SQL Ser
25、ver 数据库日常维护,SQL Server 代理程序(SQLServerAgent 服 务)导致的现象: SQLServerAgent 是允许自动执行某些管理任 务的服务。所以必须启动 SQLServerAgent 服 务,才能使本地或多服务器的管理任务自动运 行。 例如 应用数据库自动备份失败 服务器链接失败 复制订阅失败 单一的存储过程服务执行失败,SQL Server 数据库日常维护,SQL Server 代理程序(SQLServerAgent 服务)的检 测和解决方案: 1)服务器网络故障:服务器网卡无法工作。 2)服务器网络配置被改变:可能情况包括:修改了服务器IP地址、服务器名称
26、、服务器管理员密码,如遇该情况,请改回原配置,或重装SQL Server(覆盖安装,无须卸载原先的SQL Server,直接重新安装,安装路径相同)。,SQL Server 数据库日常维护,SQL Server 代理程序(SQLServerAgent 服务)的检 测和解决方案: 3)用户帐号登陆方式不正确。建立帐号,添加权限,登陆方式以数据库赋予特权用户方式登陆。,SQL Server 数据库日常维护,检测SQL Server数据库服务是否正常 检测数据库备份方案是否正常运行 检测应用数据库日志大小 保证系统数据安全,周期更改用户口令,SQL Server 数据库日常维护,数据备份的重要性,可
27、以用一句话来概括:“如 果你没有丢失过数据,你不会理解数据的重要 性 。”一个好的数据备份方案就尤其显的重 要。可以根据企业公司的实际情况,包括硬件条 件,软件条件,时间,空间的因素,对数据的安全性备份进行全面考虑,制定出行之有效的备份 方案来。我们根据这个备份方案来指导我们日常 的应用数据库维护。 磁带备份 定时硬盘自动备份 手工硬盘备份 备份数据压缩及网络备份转储,SQL Server 数据库日常维护,数据备份的重要性,可以用一句话来概括:“如 果你没有丢失过数据,你不会理解数据的重要 性 。”一个好的数据备份方案就尤其显的重 要。可以根据企业公司的实际情况,包括硬件条 件,软件条件,时间,空间的因素,对数据的安全性备份进行全面考虑,制定出行之有效的备份 方案来。我们根据这个备份方案来指导我们日常 的应用数据库维护。 磁带备份 定时硬盘自动备份 手工硬盘备份 备份数据压缩及网络备份转储,SQL Server 数据库日常维护,检测SQL Server数据库服务是否正常 检测数据库备份方案是否正常运行 检测应用数据库日志大小 保证系统数据安全,周期更改用户口令,SQL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论