如何重新生成master 数据库

如何重新生成master 数据库,第1张

当Master数据库损坏了,无法打开实例,我们必需重建Master数据库 Master损坏后,试图启动服务的时候会报错,无法启动

重建Master数据库前提条件:

1 曾备份过Master数据库

2 混合模式下

3 启用了sa账户

4 sql server 2005 安装盘

Master数据库文件损坏,不能启动实例

(实验模拟可改其数据库名字(必需停止服务)达到损坏它的目的。例如:master1mdf):

接下来我们开始重建恢复的步骤:

1 先输入命令行重建Master数据库

2 在cmd命令提示符下,进入到这个目录

C:\>cd "C:\Program Files\Microsoft SQL Server\MSSQL1\MSSQL\Binn"

C:\Program Files\Microsoft SQL Server\MSSQL1\MSSQL\Binn>start /wait d:\setupexe /qn INSTANCENAME="MSSQLSERVER" REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=163com

重建的时间可能会长些,请耐心的等待下…… 注:

D:\setupexe 制定安装盘的盘符位置

INSTANCENAME:指定实例名(默认实例则用mssqlserver表示) REINSTALL:指定引擎

SAPWD:重新设置sa的强密码(一般企业都是启用强密码策略的/4选3) Setupexe:指定光盘1中的根目录下的文件

/qn 开关用于取消所有安装程序对话框和错误消息。如果指定 /qn 开关,则所有安装程序消息(包括错误消息)都将写入安装程序日志文件。有关日志文件的详细信息,请参阅如何查看 SQL Server 2005 安装日志文件。

指定 /qb 开关将显示基本的安装程序对话框。还会显示错误消息。

3C:\Program Files\Microsoft SQL Server\MSSQL1\MSSQL\Binn>sqlservrexe -c –m

输入命令行进单用户模式,还原整个数据库的Master数据库,刚才只是重建了一个新的数据库,并不是我们原来的那个,所以要进行还原回备份时的状态

4启动SSMS——用sa登录——断开连接(这步很关键,千万要记住)——新建查询(sa)——还原master数据库 输入以下语句:

use master go

restore database master from disk='C:\Program Files\Microsoft SQL Server\MSSQL1\MSSQL\Backup\masterbak' with replace

(注: 'C:\Program Files\Microsoft SQL

Server\MSSQL1\MSSQL\Backup\masterbak'为你备份文件的路径)

完成恢复,启动服务,打开SSMS

public static void main(String[] args) throws Exception {

// 装载oracle对Driver的实现类

ClassforName("oraclejdbcOracleDriver");

// 获取对oracle连接

String uri = "jdbc:oracle:thin:@数据库IP:端口号:数据库名"; // 用于表示连接数据库的类型和地址

String user = "数据库用户名";

String pwd = "数据库密码";

Connection con = DriverManagergetConnection(uri, user, pwd);

Statement stmt = concreateStatement();

Systemoutprintln(stmt);

String sql = "SELECT from s_emp";

ResultSet rs = stmtexecuteQuery(sql);

while (rsnext()) {

Systemoutprintln(

rsgetString(1) + "," + rsgetString(2) + "," + rsgetString(3));

}

rsclose();

stmtclose();

conclose();

}

以上是小案例一个,不过你先要去下载Oracle的驱动JAR包,第一句话就是装载的意思,其他数据库也一样,要有驱动JAR包

SQL SERVER连接oracle数据库几种方法

--1 方式

--查询oracle数据库中的表

SELECT  

FROM OPENDATASOURCE( 

'MSDAORA', 

'Data Source=GE160;User ID=DAIMIN;Password=DAIMIN' 

)DAIMINJOBS

--在sqlserver中创建与oracle数据库中的表同名的表

select  into JOBS from 

OPENDATASOURCE( 

'MSDAORA', 

'Data Source=GE160;User 

ID=daimin;Password=daimin' 

)DAIMINJOBS

select  from JOBS

--2、方式

--在master数据库中查看已经存在的链接服务器

select  from sysservers

EXEC sp_addlinkedserver 

@server = 'GE160', 

@srvproduct = 'Oracle', 

@provider = 'MSDAORA', 

@datasrc = 'GE160'

exec sp_addlinkedsrvlogin 'GE160', false, 'sa', 'daimin', 'daimin'

--要在企业管理器内指定登录帐号

exec sp_dropserver GE160

select  from GE160DAIMINJOBS

delete from GE160DAIMINJOBS

--备注:引用ORACLE服务器上的表时,用户名称与表名一定要大写字母。

SELECT  

FROM OPENQUERY(GE160, 'SELECT  FROM DAIMINJOBS')

--3、方式

SELECT a 

FROM OPENROWSET('MSDAORA', 

'GE160';'DAIMIN';'DAIMIN', 

DAIMINJOBS) AS a 

ORDER BY aJOB_ID

--4、方式 ODBC

--ODBC方式比较好办

SELECT A 

FROM 

OPENROWSET('MSDAORA','GE160';'DAIMIN';'DAIMIN', --GE160是数据源名 

DAIMINJOBS) AS 

ORDER BY AJOB_ID

首先说明下master库

Master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、SQL Server的初始化信息和其他系统数据库及用户数据库的相关信息。因此,如果 master 数据库不可用,则 SQL Server 无法启动。在 SQL Server 2005 中,系统对象不再存储在 master 数据库中,而是存储在 Resource 数据库中。

然后回到你的问题,你应该是认为里面有其他数据库的表,这种应该是误 *** 作创建在里面的。平时默认打开数据库时候,指向的数据库名就是master,如果没留意就会把脚本在这个库里执行的。

SQLServer中4个系统数据库:Master、Model、Msdb、Tempdb。

1、Master数据库是SQLServer系统最重要的数据库,它记录了SQLServer系统的所有系统信息。

2、model数据库用作在SQLServer实例上创建的所有数据库的模板。

3、Msdb数据库是代理服务数据库,为其报警、任务调度和记录 *** 作员的 *** 作提供存储空间。

4、Tempdb是一个临时数据库,它为所有的临时表、临时存储过程及其他临时 *** 作提供存储空间。

扩展资料:

系统数据库的功能:

在SQLServer系统中,系统运行时会用到的相关信息,如系统对象和组态设置等,都是以数据库的形式存在,而存放这些系统信息的数据库称为系统数据库。

成功安装SQLServer后,系统会自动建立master、model、msdb、及tempdb等系统数据库。

例如master数据库记录了如此多且重要的信息,一旦数据库文件损失或损毁,将对整个SQLServer系统的运行造成重大的影响,甚至是得整个系统瘫痪。

以上就是关于如何重新生成master 数据库全部的内容,包括:如何重新生成master 数据库、java怎样与数据库连接、oracle数据库连接方式有几种等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9682180.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存