当重装数系统、数据库之后,
如何恢复数据库的账号,登录名、用户名,孤立用户
缩小ldf日志文件修改sqlserver2000端口
当我们重装系统,或者是重装数据库之后,当附加数据库之后,发现数据库里面 有用户名,但是在sqlserver里面没有 登陆名
例如
先看 用户名 是有他上次系统的用户名的
现在我们先去添加这个登录名
点击取消
进入 查询分析器,选择你要修复的数据库
sp_change_users_login 'report' 这个可以查询当前数据库下的孤立用户
我们只需要选择当前数据库为你要修复的数据库,然后运行 sp_change_users_login 'update_one','用户名','登录名'
系统就会提示修复了一个孤立用户。
重新刷新数据库的用户,会看到 用户名和登录名 对应了。
另外讲个小技巧,有时候ldf文件会很大这个时候,现在你要压缩的数据库的查询分析器里面
里面操作dump transaction databasename with no_log,再收缩日志文件,最后的结果就是1024K
另外:修改sqlserver2000 的数据库端口
第二篇:JdbcSqlServer连接数据库
利用SQL Server2000的JDBC驱动程序连接SQL Server2000
一、SQLServer2000数据库服务器
(1)启动SQLServer2000数据库服务器
(2)设置用户“sa”的密码
输入密码为“”。
二、连接方式
(一)、命令行方式
1、将SQL Server2000的JDBC驱动程序拷贝到某一路径下(如:C:\ j2sdk1.4.0\lib) msbase.jar、mssqlserver.jar、msutil.jar
2、在系统环境变量中加人对上述三个文件的路径说明
path=c:\j2sdk1.4.0\bin;
set
classpath=.;C:\j2sdk1.4.0\lib\msbase.jar;C:\j2sdk1.4.0\lib\mssqlserver.jar;C:\j2sdk1.4.0\lib\msutil.jar;
3、编写连接数据库的URL地址
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
4、程序代码为:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class SqlServerJdbc extends JFrame implements WindowListener
{ String[] columnNames = {};
Object [][]dataRows;
/* 连接oracle数据库时
String url="jdbc:oracle:thin:@10.172.0.107:1521:DBName";
String DBDriver = "oracle.jdbc.driver.OracleDriver";
*/
/* 连接SqlServer数据库时,数据库在远程主机时
String url="jdbc:microsoft:sqlserver://10.172.0.105:1433;DatabaseName=pubs";
数据库在本地主机时(中文版的SQLServer的端口号为1433,而英文版的SQLServer的端口号为1036)
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
*/
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Connection con=null;
Statement stmt=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
ResultSetMetaData metaData;
public SqlServerJdbc(String windowTitle)
{ super(windowTitle);
int FrameWidth=600,FrameHeight=400;
this.setSize(FrameWidth,FrameHeight);
this.setLocation((Toolkit.getDefaultToolkit().getScreenSize().width-FrameWidth)/2,
(Toolkit.getDefaultToolkit().getScreenSize().height-FrameHeight)/2);
this.addWindowListener(this);
JPanel contentPanel=new JPanel();
contentPanel.setLayout(new BorderLayout());
this.setContentPane(contentPanel);
try
{ Class.forName(DBDriver);
}
catch(ClassNotFoundException e)
{ System.out.println("不能正确地加载驱动程序");
}
try
{ con=DriverManager.getConnection(url,"sa","");
}
catch(SQLException e)
{
}
try
{
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery("select * from authors");
metaData=rs.getMetaData();
int numberOfColumns = metaData.getColumnCount();
columnNames = new String[numberOfColumns];
for(int column = 0; column < numberOfColumns; column++)
{ columnNames[column] = metaData.getColumnLabel(column+1);
}
int rowCounter=0;
if(rs.last())
{ rowCounter=rs.getRow();
}
rs.beforeFirst(); //将记录指针回退到最开始处,此时必须将Cursor设置为可回滚 dataRows=new Object[rowCounter][numberOfColumns];
int loopRowCounter=0;
while(rs.next())
{ for(int column = 0; column < numberOfColumns; column++)
{ dataRows[loopRowCounter][column]=rs.getObject(column+1); }
loopRowCounter++;
}
rs.close();
}
catch(SQLException e)
{ System.out.println("SQLState:"+e.getSQLState());
System.out.println("Messager:"+e.getMessage());
System.out.println("Vendor:"+e.getErrorCode());
}
JTable table=new JTable(dataRows,columnNames);
JScrollPane jsp=new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
contentPanel.add(jsp,BorderLayout.CENTER);
}
public static void main(String args[])
{SqlServerJdbc mainframe=new SqlServerJdbc("利用JDBC SQLServer2000的驱动程序连接SQLServer2000数据库");
mainframe.show();
}
public void windowOpened(WindowEvent parm1) {
// TODO: Add your code here
}
public void windowClosing(WindowEvent parm1)
{ try
{ con.close();
}
catch(SQLException e)
{
}
this.dispose();
System.exit(0);
}
public void windowClosed(WindowEvent parm1) { // TODO: Add your code here
}
public void windowIconified(WindowEvent parm1) { // TODO: Add your code here
}
public void windowDeiconified(WindowEvent parm1) { // TODO: Add your code here
}
public void windowActivated(WindowEvent parm1) { // TODO: Add your code here
}
public void windowDeactivated(WindowEvent parm1) { // TODO: Add your code here
}
}
5、执行该程序
注意:执行过程中如果出现如下错误,应该修改注册表中的版本号,将1.3修改为1.4。
(二)、在JCreator中实现
(1)编程访问数据库的程序
(2)将SQL Server2000的JDBC驱动程序加入到JCreator的环境变量中(选择Configuration菜单,然后再Option子菜单)
(3)选择“编辑”按钮,然后
(3)再点击“Add”按钮,并选择Add Package项目。然后将将SQL Server2000的JDBC驱动程序的三个*.jar文件分别加入到JCreator环境中。
(4)再点击“打开”按钮
(5)再点击“OK”按钮
(6)再编译和执行该程序