
当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数据库中的表
SELECTFROM OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User ID=DAIMIN;Password=DAIMIN'
)DAIMINJOBS
--在sqlserver中创建与oracle数据库中的表同名的表
select into JOBS fromOPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User
ID=daimin;Password=daimin'
)DAIMINJOBS
select from JOBS
--2、方式
--在master数据库中查看已经存在的链接服务器
select from sysserversEXEC sp_addlinkedserver
@server = 'GE160',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'GE160'
exec sp_addlinkedsrvlogin 'GE160', false, 'sa', 'daimin', 'daimin'
--要在企业管理器内指定登录帐号
exec sp_dropserver GE160select from GE160DAIMINJOBS
delete from GE160DAIMINJOBS
--备注:引用ORACLE服务器上的表时,用户名称与表名一定要大写字母。
SELECTFROM OPENQUERY(GE160, 'SELECT FROM DAIMINJOBS')
--3、方式
SELECT aFROM OPENROWSET('MSDAORA',
'GE160';'DAIMIN';'DAIMIN',
DAIMINJOBS) AS a
ORDER BY aJOB_ID
--4、方式 ODBC
--ODBC方式比较好办
SELECT AFROM
OPENROWSET('MSDAORA','GE160';'DAIMIN';'DAIMIN', --GE160是数据源名
DAIMINJOBS) AS
A
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数据库连接方式有几种等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)