发布网友 发布时间:2022-04-23 16:59
共6个回答
懂视网 时间:2022-05-01 00:51
备份数据库 BACKUP DATABASE [DBA_Monitor] TO DISK = N‘D:PerfmonDBA_Monitor_F_20160308.bak‘ WITH NOFORMAT, NOINIT, NAME = N‘DBA_Monitor-完整 数据库 备份‘, SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10 GO BACKUP DATABASE [msdb] TO DISK = N‘D:Perfmonmsdb_F_20160308.bak‘ WITH NOFORMAT, NOINIT, NAME = N‘msdb-完整 数据库 备份‘, SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10 GO View Code
2、还原数据库
还原DBA_Monitor库及msdb库
--监控使用的表、存储过程所在数据库 restore headeronly from DISK = N‘F:TroubleShootingDBA_Monitor_F_20160308.bak‘ RESTORE DATABASE [DBA_Monitor] FROM DISK=‘F:TroubleShootingDBA_Monitor_F_20160308.bak‘ WITH FILE=1, MOVE ‘DBA_Monitor‘ TO ‘D:Program FilesMicrosoft SQL ServerMSSQL10_50.SQL08R2MSSQLDATADBA_Monitor.mdf‘, MOVE ‘DBA_Monitor_log‘ TO ‘D:Program FilesMicrosoft SQL ServerMSSQL10_50.SQL08R2MSSQLDATADBA_Monitor_log.ldf‘, NOUNLOAD, REPLACE, STATS=10 GO --包含监控作业的msdb库还原到msdbnew RESTORE DATABASE [msdbnew] FROM DISK = N‘F:TroubleShootingmsdb_F_20160308.bak‘ WITH FILE = 1, MOVE N‘MSDBData‘ TO N‘D:Program FilesMicrosoft SQL ServerMSSQL10_50.SQL08R2MSSQLDATAmsdbnew.mdf‘, MOVE N‘MSDBLog‘ TO N‘D:Program FilesMicrosoft SQL ServerMSSQL10_50.SQL08R2MSSQLDATAmsdbnew_log.ldf‘, NOUNLOAD, REPLACE, STATS = 10 GOView Code
3、利用作业迁移的脚本将需要的作业迁移
在where条件增加筛选,迁移相关的作业。有时可能需修改作业步骤,点击编辑作业报错
参考链接修改
cd c:windowssystem32 regsvr32 "D:Program FilesMicrosoft SQL Server100DTSBinndts.dll"
dts.dll要指定到SQL Server的安装路径,后期查看编辑作业是否还会报错。
还可以参考"编写作业脚本为"中的job存储过程,对作业进行修改
--修改作业步骤对应的数据库 SELECT * FROM msdb.dbo.sysjobs WHERE NAME LIKE ‘%表大小%‘ EXEC msdb.dbo.sp_update_jobstep @job_id = ‘2C4D4932-E019-43BE-8BDE-0A13B2CD158F‘,@step_id=1, @database_name=N‘DBA_Monitor‘ EXEC msdb.dbo.sp_update_jobstep @job_id = ‘2C4D4932-E019-43BE-8BDE-0A13B2CD158F‘,@step_id=2, @database_name=N‘DBA_Monitor‘
4、执行各迁移作业,检查运行是否正常
执行作业之前,可以将原数据清空
USE DBA_Monitor GO sp_MSforeachtable @command1 = "TRUNCATE TABLE ?"
在第4步的过程中,发现其中一作业出错,已以用户 NT AUTHORITYSYSTEM 的身份执行。 无法解决 equal to 运算中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。 [SQLSTATE 42000] (错误 468). 该步骤失败。
检查对应的存储过程发现是在执行以下语句时报错
FROM #temp a INNER JOIN cte b ON a.jobname=b.jobname AND a.step_id=b.step_id
#temp是通过create table创建的,没有特别设置。cte是从sysjobs、sysjobhistory获取的作业信息。以前也是按这样的步骤操作,并没有报排序规则的错误。
检查msdb、DBA_Monitor数据库排序,发现msdb对应SQL_Latin1_General_CP1_CI_AS,DBA_Monitor对应Chinese_PRC_CI_AS,实例级别对应Chinese_PRC_CI_AS排序规则。查看相关数据库服务器的排序规则都是Chinese_PRC_CI_AS,那自己本地的msdb排序规则怎么变成Latin1?后来想起是有一次测试迁移作业,将msdb数据库用XMSSQLBinnTemplates下的msdbdata、msdblog覆盖了!导致msdb库的排序规则与安装时不一致!
解决方案:1、修改数据库排序规则(无效)
USE [master] GO ALTER DATABASE [msdb] COLLATE Chinese_PRC_CI_AS GO
无法对 数据库‘msdb‘ 执行 更改,因为它是系统 数据库。
2、创建#temp表时指定jobname字段的排序规则(有效)
create table #JobRunLongtime ( --jobname varchar(128) not null, jobname varchar(128) COLLATE SQL_Latin1_General_CP1_CI_AS not null,
3、在关联字段后面加上排序规则(有效)
FROM #temp a INNER JOIN cte b ON a.jobname collate SQL_Latin1_General_CP1_CI_AS=b.jobname AND a.step_id=b.step_id
字段step_id为int型,不需要指定为Latin1排序规则。按照方法2或方法3修改后,这个问题被解决,但是作业依旧报错,已以用户 NT AUTHORITYSYSTEM 的身份执行。 未在此数据库中启用 Service Broker 消息传递功能。请使用 ALTER DATABASE 语句启用 Service Broker 消息传递功能。 [SQLSTATE 42000] (错误 14650). 该步骤失败。
根据提示可知是发送邮件时出错,可参数据库邮件,其他数据库邮件错误请参考代理系列中配置数据库邮件。
部署DBA常规作业
标签:
热心网友 时间:2022-04-30 21:59
DBA的主要职责有:
安装和升级数据库服务器,以及应用程序工具。
数据库设计系统存储方案,并制定未来的存储需求计划。
一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构,创建数据库对象。
根据开发人员的反馈信息,必要的时候,修改数据库的结构。
登记数据库的用户,维护数据库的安全性。
控制和监控用户对数据库的存取访问。
监控和优化数据库的性能。
保证数据库的使用符合知识产权相关法规。
维护适当介质上的存档或者备份数据。
制定数据库备份计划,灾难出现时对数据库信息进行恢复。
数据库管理员:
数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,他属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。
核心目标:
DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。
数据库开发工程师与数据库管理员的区别:
数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发;
DBA的主要职责是运维和管理数据库管理系统,侧重于运维管理。
热心网友 时间:2022-04-30 23:17
1.DBA 是专业博士学位项目,最早起源于美国哈佛大学。目前全球范围已有越来
越多的企业管理人员从中获得了巨大的收益。
2.DBA 教学针对的是具有丰富实践经验并且已经掌握一定管理理论的高级管理人
员,通过学习,可以系统地表达出自己在工作中的不同视野和独特思想,并与
更多的精英人才交流与分享,从而使自己的管理理念得到更新与升华。
3.DBA 培养目标是传授学员如何对管理进行更深层次的思考方法。通过理论学习,
学员可以不断的产生新的想法,并且以严谨科学的方式表达出来;通过在学术刊
物上发表论文,完善个人在管理领域的价值,最后成就源于自身管理实践,同时
可传承与延续并被世界管理体系所认可的管理理论。
热心网友 时间:2022-05-01 00:52
答:数据库管理员(DBA)负责全面和控制数据库系统,其主要职责有;设计与定义数据库系统;帮助最终用户使用数据库系统;监督与控制数据库系统的使用和运行;转储与恢复数据库;�0�2改进和重组数据库系统,调优数据库系统的性能;重构数据库。
热心网友 时间:2022-05-01 02:43
数据库管理员(Data Base Administrator, DBA)负责全面管理和控制数据库系统,具体的职责包括:决定数据库中所存放的数据内容和结构;决定数据库的存储结构和存取策略;定义数据的安全性要求和完整性约束条件;监控数据库的使用和运行;数据库的改进和重组。
——节选自《数据库技术与应用》张千帆著
热心网友 时间:2022-05-01 04:51
DBA简称数据库管理者,DBA的职责主要是对数据库的增删改查,恢复备份等。
具体可以参考数据库领域流行的一张图 DBA的一天 看看DBA们一天的具体工作内容。