xml地图|网站地图|网站标签 [设为首页] [加入收藏]
jdbc连接mssql数据库实现方法,Server的MDF文件的方
分类:数据库

修复SQL Server的MDF文件的方法

sql2005 jdbc连接mssql数据库教程实现方法

sql server里连接远程服务器,并进行创建和删除新数据库教程

如果备份的数据库有2个文件,分别是.LDF 和 .MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MDF文件,就可以了。

class.forname(com.microsoft.sqlserver.jdbc.sqlserverdriver);

一、创建新库

或者在查询分析器中输入:

url = jdbc:sqlserver://localhost:1433;databasename=tempdb;

/* 测试 在sql2005中通过查询分析器,连接到sql2000,并创建了 tmpdb 库:成功

sp_attach_db 数据库名称,路径文件名.ldf,路径文件名.MDF

首先下载到sql2005jdbc驱动sqljdbc_2.0.1008.2_enu.exe(版本号1.1之后都支持sql2005,2.0的支持sql2008)

p_CreateDB 'tmpdb1','data','sa','sa'

SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。本文假定您能熟练使用SQL Server Enterprise Manager(SQL Server企业管理器)和SQL Server Quwey Analyser(SQL Server查询分析器)

下载的是一个解压就可以使用的,不需要要安装,你可以把这个包放在任何你想要放的地方,比如说你把该包放

*/

1、正常的备份、恢复方式

在c:program files目录下。而sqljdbc.jar包的路径为

-----------------------创建存储过程开始--------------------if object_id('p_CreateDB') is not nulldrop procedure p_CreateDBgoCREATE PROCEDURE p_CreateDB @Des_DB sysname, --目标数据库@ServerName sysname=N'', --服务器名@UserName sysname=N'', --用户名,不指定则表示使用 Windows 身份登录@pwd sysname=N'' --密码 ASSET NOCOUNT ONDECLARE @srvid int,--服务器的对象@dbsid int,@Dbid int,--新建数据库对象@DBFile int,--新建数据库DB文件@LogFile int,--新建数据库Log文件@CmdStr nvarchar(4000)declare @err int,@src varchar(255), @desc varchar(255) --错误处理变量

正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。

c:program filesmicrosoft sql server 2005 jdbc driversqljdbc_1.2enusqljdbc.jar

IF ISNULL(@ServerName,N'')=N'' SET @ServerName=@@ServerName --默认为本地数据库

卸下数据库的命令:Sp_detach_db 数据库名

也可以把包放在你tomcat common目录下,或放在你所新建项目的class路径下。

--创建sqldmo对象EXEC @err=sp_oacreate 'sqldmo.sqlserver',@srvid OUTIF @err0 GOTO lb_Err

连接数据库的命令:

二、配置tomcat服务器。

--连接服务器IF ISNULL(@UserName,N'')=N'' --使用 Windows 身份登录BEGIN EXEC @err=sp_oasetproperty @srvid,'loginsecure',-1 IF @err0 GOTO lb_Err

以下为引用的内容:sp_attach_db 'test','C:Program FilesMicrosoft SQL ServerMSSQLDatatest_data.mdf','C:Program FilesMicrosoft SQL ServerMSSQLDatatest_log.ldf'sp_attach_single_file_db 'test','C:Program FilesMicrosoft SQL ServerMSSQLDatatest_data.mdf'

确定你已安装了tomcat。打开monitor tomcat服务器,在java选项卡的java classpath下添加sqljdbc.jar包路径

EXEC @err=sp_oamethod @srvid,'connect',NULL,@ServerNameENDELSE EXEC @err=sp_oamethod @srvid,'connect',NULL,@ServerName,@UserName,@pwd

2、只有mdf文件的恢复技术

c:program filesmicrosoft sql server 2005 jdbc driversqljdbc_1.2enusqljdbc.jar,重新启动tomcat服务器,这样就可以完成tomcat的配置了;

IF @err0 GOTO lb_Err--新数据库对象创建EXEC @err=sp_oacreate 'SQLDMO.Database',@Dbid OUTIF @err0 GOTO lb_ErrEXEC @err=sp_oasetproperty @Dbid, 'Name',@Des_DBIF @err0 GOTO lb_Err/*---这里可以设置数据文件与日志文件的属性,不写就由sql server默认--新数据库DB文件对象创建,并设置属性EXEC @err=sp_oacreate 'SQLDMO.DBFile',@DBFile OUTIF @err0 GOTO lb_ErrEXEC @err=sp_oasetproperty @DBFile, 'Name','tmpfile'IF @err0 GOTO lb_ErrEXEC @err=sp_oasetproperty @DBFile, 'PhysicalName','c:tmp.mdf'IF @err0 GOTO lb_ErrEXEC @err=sp_oasetproperty @DBFile, 'PrimaryFile','true'IF @err0 GOTO lb_ErrEXEC @err=sp_oasetproperty @DBFile, 'FileGrowthType',0IF @err0 GOTO lb_ErrEXEC @err=sp_oasetproperty @DBFile, 'FileGrowth',1IF @err0 GOTO lb_Err--新数据库对象加入DB文件EXEC @err = sp_OAMethod @Dbid,'FileGroups教程.Item(primary).DBFiles.Add',null,@DBFileIF @err0 GOTO lb_Err

由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。

三、配置sql2005服务器。

--新数据库LOG文件对象创建,并设置属性EXEC @err=sp_oacreate 'SQLDMO.LogFile',@LogFile OUTIF @err0 GOTO lb_ErrEXEC @err=sp_oasetproperty @LogFile, 'Name','tmplg'IF @err0 GOTO lb_ErrEXEC @err=sp_oasetproperty @LogFile, 'PhysicalName','c:tmp.ldf'--新数据库对象加入DB文件EXEC @err = sp_OAMethod @Dbid,'TransactionLog.LogFiles.Add',null,@LogFileIF @err0 GOTO lb_Err*/--在服务器上创建 新数据库EXEC @err = sp_OAMethod @srvid,'Databases.Add',null,@dbidIF @err0 GOTO lb_Err

如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息

配置tcp端口:开始-所有程序-microsoft sql server 2005-配置工具-sql server configuration manager

/*EXEC @err= sp_OAGetProperty @srvid, 'Databases', @dbsid OUTIF @err0 GOTO lb_Err

设备激活错误。物理文件名 'C:Program FilesMicrosoft SQL ServerMSSQLdatatest_Log.LDF' 可能有误。

-sql server 2005 网络配置-mssqlserver协议;启用tcp/ip;双击tcp/ip-ip 地址-ipall

SET @CmdStr = 'Add'EXEC @err = sp_OAMethod @dbsid,@CmdStr,null,@dbid*/

已创建名为 'C:Program FilesMicrosoft SQL ServerMSSQLDatatest_log.LDF' 的新日志文件。但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误信息

-tcp 端口项添加默认的1433。重新启动sql2005服务器,这样式就完成了对sql2005服务器的配置。

--结束SET @err=0GOTO lb_Exit

服务器: 消息 1813,级别 16,状态 2,行 1

四、拷备文件

--错误处理lb_Err: EXEC sp_oageterrorinfo NULL, @src OUT, @desc OUT EXEC sp_OADestroy @LogFile EXEC sp_OADestroy @DBFile EXEC sp_OADestroy @Dbsid EXEC sp_OADestroy @Dbid EXEC sp_OADestroy @srvid EXEC @err=sp_oamethod @srvid,'DisConnect' RAISERROR(N'错误编号 %#x, 错误源 %s, 错误描述 %s',16,1,@err,@src,@desc) RETURN -1

未能打开新数据库 'test'。CREATE DATABASE 将终止。

将你下载到的sqljdbc驱动程序中的sqljdbc_auth.dll文件找到,比如我解压的目录的是c:program files 所以我

lb_Exit: EXEC sp_OADestroy @LogFile EXEC sp_OADestroy @DBFile EXEC sp_OADestroy @Dbsid EXEC sp_OADestroy @Dbid EXEC sp_OADestroy @srvid EXEC @err=sp_oamethod @srvid,'DisConnect' RETURN @errGO

设备激活错误。物理文件名 'd:test_log.LDF' 可能有误。

的sqljdbc_auth.dll文件在

二、删除数据库

怎么办呢?别着急,下面我们举例说明恢复办法。

c:program filesmicrosoft sql server 2005 jdbc driversqljdbc_1.2enuauthx86sqljdbc_auth.dll

/*测试

A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。

把找到的这个文件放到 c:windowssystem32 目录下,这是一个动态运行库,这个东东一定不能少的。

p_DropDB 'tmpdb1','data','sa','sa'*/

本文由澳门新葡亰手机版发布于数据库,转载请注明出处:jdbc连接mssql数据库实现方法,Server的MDF文件的方

上一篇:sql中datetime转换成varchar字符型多种方法,SQL触发 下一篇:server中一句实现自动备份数据库脚本,统计本周
猜你喜欢
热门排行
精彩图文