2023年6月21日发(作者:)

SQL语句实现附加数据库很简单

--附加数据库

sp_attach_db '数据库名','数据库全路径','数据库日志全路径'

GO

sp_attach_db 'Asset_National','...dataAsset_','...dataAsset_National_'

GO

USE 数据库名

--添加一个登录前指定默认数据库

EXEC sp_addlogin '登录名','密码','数据库名'

GO

--处理空登录名(使登录用户和数据库的孤立用户对应起来,在这个用户有对象时用)

sp_change_users_login 'update_one','登录名','登录名'

GO

--修改数据库的逻辑文件名(数据)

ALTER DATABASE NEW

MODIFY FILE(NAME='Old_Data',NEWNAME='New_Data')

GO

--修改数据库的逻辑文件名(日志)

ALTER DATABASE NEW

MODIFY FILE(NAME='Old_Log',NEWNAME='New_Log')

GO

--------------------------------------------------------------------------------

可能会用到的操作:

--更改当前数据库名称为dbo的登录名为abc

EXEC sp_changedbowner 'abc'

--删除一个登录

EXEC sp_droplogin '登录名'

--赋予这个登录访问数据库的权限

EXEC sp_adduser '登录名','用户名','db_owner'

手动实现方法:[无错版]SQL Server 2000

using System;

using c;

using entModel;

using ;

using g;

using ;

using ;

using ent;

namespace System

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

public string ConnectionString;

private SqlConnection Conn;

private SqlCommand Comm;

public string StrSQL;

public string DataBaseName;

public string DataBase_MDF;

public string DataBase_LDF;

public string DataBaseOfBackupName;

public string DataBaseOfBackupPath;

private void Form1_Load(object sender, EventArgs e)

{

C;

DataBaseName = "risheng";

DataBase_MDF = @ "E:risheng_";

DataBase_LDF = @ "E:risheng_";

AddDataBase();

}

///

/// 执行创建/修改数据库和表的操作

///

public void DataBaseAndTableControl()

{

try

{

Conn = new SqlConnection(ConnectionString);

();

Comm = new SqlCommand();

tion = Conn;

dText = StrSQL;

dType = ;

eNonQuery();

( "数据库操作成功!", "信息提示",

, ation);

}

catch (Exception ex)

{

(e, "信息提示", ,

ation);

}

finally

{

();

}

}

///

/// 附加数据库

///

public void AddDataBase()

{

try

{

Conn = new SqlConnection(ConnectionString);

();

Comm = new SqlCommand();

tion = Conn;

dText = "sp_attach_db";

(new SqlParameter(@ "dbname",

ar));

ters[@ "dbname"].Value = DataBaseName;

(new SqlParameter(@ "filename1",

ar));

ters[@ "filename1"].Value = DataBase_MDF;

(new SqlParameter(@ "filename2",

ar));

ters[@ "filename2"].Value = DataBase_LDF;

dType = Procedure;

eNonQuery();

( "附加数据库成功", "信息提示",

, ation);

}

catch (Exception ex)

{

(e, "信息提示", ,

ation);

}

finally

{

();

}

}

///

/// 分离数据库

///

public void DeleteDataBase()

{

try

{

Conn = new SqlConnection(ConnectionString);

();

Comm = new SqlCommand();

tion = Conn;

dText = @ "sp_detach_db";

(new SqlParameter(@ "dbname",

ar));

ters[@ "dbname"].Value = DataBaseName;

dType = Procedure;

eNonQuery();

( "分离数据库成功", "信息提示",

, ation);

}

catch (Exception ex)

{

(e, "信息提示", ,

ation);

}

finally

{

();

}

}

///

/// 备份数据库

///

public void BackupDataBase()

{

try

{

Conn = new SqlConnection(ConnectionString);

();

Comm = new SqlCommand();

tion = Conn;

dText = "use master;backup database @dbname to disk =

@backupname;";

(new SqlParameter(@ "dbname",

ar));

ters[@ "dbname"].Value = DataBaseName;

(new SqlParameter(@ "backupname",

ar));

ters[@ "backupname"].Value = @DataBaseOfBackupPath +

@DataBaseOfBackupName;

dType = ;

eNonQuery();

( "备份数据库成功", "信息提示",

, ation);

}

catch (Exception ex)

{

(e, "信息提示", ,

ation);

}

finally

{

();

}

}

///

/// 还原数据库

///

public void ReplaceDataBase()

{

try

{

string BackupFile = @DataBaseOfBackupPath + @DataBaseOfBackupName;

Conn = new SqlConnection(ConnectionString);

();

Comm = new SqlCommand();

tion = Conn;

dText = "use master;restore database @DataBaseName From

disk = @BackupFile with replace;";

(new SqlParameter(@ "DataBaseName",

ar));

ters[@ "DataBaseName"].Value = DataBaseName;

(new SqlParameter(@ "BackupFile",

ar));

ters[@ "BackupFile"].Value = BackupFile;

dType = ;

eNonQuery();

( "还原数据库成功", "信息提示",

, ation);

}

catch (Exception ex)

{

(e, "信息提示", ,

ation);

}

finally

{

();

}

}

// 还原数据库

private void button0_Click(object sender, EventArgs e)

{

C;

DataBaseName = "MyDatabase";

DataBaseOfBackupName = @ "";

DataBaseOfBackupPath = @ "D:Program FilesMicrosoft SQL

ServerMSSQLData";

ReplaceDataBase();

}

// 附加数据库

private void button1_Click_1(object sender, EventArgs e)

{

C;

DataBaseName = "MyDatabase";

DataBase_MDF = @ "D:Program FilesMicrosoft SQL

ServerMSSQLDataMyDatabase_";

DataBase_LDF = @ "D:Program FilesMicrosoft SQL

ServerMSSQLDataMyDatabase_";

AddDataBase();

}

// 备份数据库

private void button2_Click(object sender, EventArgs e)

{

C;

DataBaseName = "MyDatabase";

DataBaseOfBackupName = @ "";

DataBaseOfBackupPath = @ "D:Program FilesMicrosoft

ServerMSSQLData";

BackupDataBase();

}

// 分离数据库

private void button3_Click(object sender, EventArgs e)

{

C;

DataBaseName = "MyDatabase";

DeleteDataBase();

}

}

}

用sp_attach_db 將你的數據庫綁定上去

-----------------------

use master

EXEC sp_attach_db @dbname = N'pubs',

@filename1 = N'c:Program FilesMicrosoft SQL ',

@filename2 = N'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs_'

SQL

2023年6月21日发(作者:)

SQL语句实现附加数据库很简单

--附加数据库

sp_attach_db '数据库名','数据库全路径','数据库日志全路径'

GO

sp_attach_db 'Asset_National','...dataAsset_','...dataAsset_National_'

GO

USE 数据库名

--添加一个登录前指定默认数据库

EXEC sp_addlogin '登录名','密码','数据库名'

GO

--处理空登录名(使登录用户和数据库的孤立用户对应起来,在这个用户有对象时用)

sp_change_users_login 'update_one','登录名','登录名'

GO

--修改数据库的逻辑文件名(数据)

ALTER DATABASE NEW

MODIFY FILE(NAME='Old_Data',NEWNAME='New_Data')

GO

--修改数据库的逻辑文件名(日志)

ALTER DATABASE NEW

MODIFY FILE(NAME='Old_Log',NEWNAME='New_Log')

GO

--------------------------------------------------------------------------------

可能会用到的操作:

--更改当前数据库名称为dbo的登录名为abc

EXEC sp_changedbowner 'abc'

--删除一个登录

EXEC sp_droplogin '登录名'

--赋予这个登录访问数据库的权限

EXEC sp_adduser '登录名','用户名','db_owner'

手动实现方法:[无错版]SQL Server 2000

using System;

using c;

using entModel;

using ;

using g;

using ;

using ;

using ent;

namespace System

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

public string ConnectionString;

private SqlConnection Conn;

private SqlCommand Comm;

public string StrSQL;

public string DataBaseName;

public string DataBase_MDF;

public string DataBase_LDF;

public string DataBaseOfBackupName;

public string DataBaseOfBackupPath;

private void Form1_Load(object sender, EventArgs e)

{

C;

DataBaseName = "risheng";

DataBase_MDF = @ "E:risheng_";

DataBase_LDF = @ "E:risheng_";

AddDataBase();

}

///

/// 执行创建/修改数据库和表的操作

///

public void DataBaseAndTableControl()

{

try

{

Conn = new SqlConnection(ConnectionString);

();

Comm = new SqlCommand();

tion = Conn;

dText = StrSQL;

dType = ;

eNonQuery();

( "数据库操作成功!", "信息提示",

, ation);

}

catch (Exception ex)

{

(e, "信息提示", ,

ation);

}

finally

{

();

}

}

///

/// 附加数据库

///

public void AddDataBase()

{

try

{

Conn = new SqlConnection(ConnectionString);

();

Comm = new SqlCommand();

tion = Conn;

dText = "sp_attach_db";

(new SqlParameter(@ "dbname",

ar));

ters[@ "dbname"].Value = DataBaseName;

(new SqlParameter(@ "filename1",

ar));

ters[@ "filename1"].Value = DataBase_MDF;

(new SqlParameter(@ "filename2",

ar));

ters[@ "filename2"].Value = DataBase_LDF;

dType = Procedure;

eNonQuery();

( "附加数据库成功", "信息提示",

, ation);

}

catch (Exception ex)

{

(e, "信息提示", ,

ation);

}

finally

{

();

}

}

///

/// 分离数据库

///

public void DeleteDataBase()

{

try

{

Conn = new SqlConnection(ConnectionString);

();

Comm = new SqlCommand();

tion = Conn;

dText = @ "sp_detach_db";

(new SqlParameter(@ "dbname",

ar));

ters[@ "dbname"].Value = DataBaseName;

dType = Procedure;

eNonQuery();

( "分离数据库成功", "信息提示",

, ation);

}

catch (Exception ex)

{

(e, "信息提示", ,

ation);

}

finally

{

();

}

}

///

/// 备份数据库

///

public void BackupDataBase()

{

try

{

Conn = new SqlConnection(ConnectionString);

();

Comm = new SqlCommand();

tion = Conn;

dText = "use master;backup database @dbname to disk =

@backupname;";

(new SqlParameter(@ "dbname",

ar));

ters[@ "dbname"].Value = DataBaseName;

(new SqlParameter(@ "backupname",

ar));

ters[@ "backupname"].Value = @DataBaseOfBackupPath +

@DataBaseOfBackupName;

dType = ;

eNonQuery();

( "备份数据库成功", "信息提示",

, ation);

}

catch (Exception ex)

{

(e, "信息提示", ,

ation);

}

finally

{

();

}

}

///

/// 还原数据库

///

public void ReplaceDataBase()

{

try

{

string BackupFile = @DataBaseOfBackupPath + @DataBaseOfBackupName;

Conn = new SqlConnection(ConnectionString);

();

Comm = new SqlCommand();

tion = Conn;

dText = "use master;restore database @DataBaseName From

disk = @BackupFile with replace;";

(new SqlParameter(@ "DataBaseName",

ar));

ters[@ "DataBaseName"].Value = DataBaseName;

(new SqlParameter(@ "BackupFile",

ar));

ters[@ "BackupFile"].Value = BackupFile;

dType = ;

eNonQuery();

( "还原数据库成功", "信息提示",

, ation);

}

catch (Exception ex)

{

(e, "信息提示", ,

ation);

}

finally

{

();

}

}

// 还原数据库

private void button0_Click(object sender, EventArgs e)

{

C;

DataBaseName = "MyDatabase";

DataBaseOfBackupName = @ "";

DataBaseOfBackupPath = @ "D:Program FilesMicrosoft SQL

ServerMSSQLData";

ReplaceDataBase();

}

// 附加数据库

private void button1_Click_1(object sender, EventArgs e)

{

C;

DataBaseName = "MyDatabase";

DataBase_MDF = @ "D:Program FilesMicrosoft SQL

ServerMSSQLDataMyDatabase_";

DataBase_LDF = @ "D:Program FilesMicrosoft SQL

ServerMSSQLDataMyDatabase_";

AddDataBase();

}

// 备份数据库

private void button2_Click(object sender, EventArgs e)

{

C;

DataBaseName = "MyDatabase";

DataBaseOfBackupName = @ "";

DataBaseOfBackupPath = @ "D:Program FilesMicrosoft

ServerMSSQLData";

BackupDataBase();

}

// 分离数据库

private void button3_Click(object sender, EventArgs e)

{

C;

DataBaseName = "MyDatabase";

DeleteDataBase();

}

}

}

用sp_attach_db 將你的數據庫綁定上去

-----------------------

use master

EXEC sp_attach_db @dbname = N'pubs',

@filename1 = N'c:Program FilesMicrosoft SQL ',

@filename2 = N'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs_'

SQL