首先要连接远程数据库
1,点击“开始”-“程序”,在“MicrosoftSQLServer”菜单中选择“客户端网络实用工具”。
2,在“别名”选项中点击“添加”。
3,在“服务器别名”中,填入您网站域名,在“网络库”区域中点击“TCP/IP”,在“连接参数”区域取消“动态决定端口”,指定“端口号”为2433。填写完毕后,点击“确定”按钮保存配置。
4,点击“开始”-“程序”,在“MicrosoftSQLServer”菜单中打开“企业管理器”。在企业管理器中,右键单击“SQLServer组”,选择“新建SQLServer注册”。
5,此时会出现SQLServer属性窗口,在“服务器”中填入您网站的域名,选择“使用SQLServer身份验证”,“登录名”和“密码”分别填入主机开通邮件中的用户名和密码,然后点击“确定”。
6,连接成功后,你会看到“SQLServer组”中多了一个名称为您网站域名的服务器。此时,您就可以像 *** 作本地SQL数据库一样管理网站数据库了。
这样你就可以向备份自己的数据库一样备份了。
如果你可以登陆到远程桌面的话可以先在远程那里备份一个然后把备份文件考到本地来,在本地的SQL中建立一个可备份文件同名的数据库,然后把备份文件还原。
若要备份日志尾部(即活动的日志),请选中“备份日志尾部,并使数据库处于还原状态”。备份日志尾部失败后执行尾日志备份,以防丢失所做的工作。在失败之后且在开始还原数据库之前,或者在故障转移到辅助数据库时,备份活动日志(尾日志备份)。选择此选项等效于在 Transact-SQL BACKUP LOG 语句中指定 NORECOVERY 选项。有关尾日志备份的详细信息,请参阅尾日志备份。
我来回答:
进行日志备份前,要有一次 完全备份,
比如:6月19日进行完全备份,
backup database 你的数据库 to disk = 'c:\你的数据库bak'
然后6月20日后的日志备份,
backup log 你的数据库 to disk = 'c:\你的数据库_620_logbak'
然后6月21日后的日志备份,
backup log 你的数据库 to disk = 'c:\你的数据库_621_logbak'
如果还原到6月21日时某个时间点时:
还原顺序
你的数据库bak
然后再载入两个日志
你的数据库_620_logbak 你的数据库_621_logbak
然后还原。
注意: 日志备份不能中断 ,比如 数据库_620_logbak,一旦破坏灭失,那么数据库_621_logbak 无法恢复。
有疑问可以Hi我 可以问我。
1sql安装盘:\Program Files\Microsoft SQL Server\MSSQL\LOG中找到与该数据库同名的日志文件拷下即可;
2当重新建了一数据库后,再把该日志文件拷到上述路径即可。
数据库备份可以分为4个备份类型。
l全备份:创建备份完成时数据库内存在的数据的副本。
l差异备份:只记录自上次数据库备份后发生更改的数据。差异数据库备份比数据库备份小,而且备份速度快,因此可以更经常地备份,经常备份将减少丢失数据的危险。
l日志备份:是自上次备份事务日志后对数据库执行的所有事务的一系列记录。可以使用事务日志备份将数据库恢复到特定的即时点(如输入多余数据前的那一点)或恢复到故障点。
l文件组备份:可以备份和还原数据库中的个别文件。可以只还原已损坏的文件,而不用还原数据库的其余部分,从而加快了恢复速度。
不同的备份类型适用的范围也不同。全备份,可以只用一步 *** 作完成数据的全部备份,但执行时间比较长。差异备份和日志备份,都不能独立作为一个备份集来使用,需要进行一次全备份。文件备份必须与事务日志备份一起使用,所以文件备份只适用于完全恢复模型和大容量日志记录恢复模型。
每一种备份类型都有不足之处,要针对需要选择备份类型,或者使用几种备份方式的配合来完成数据库的备份。
经常使用备份方式组合有以下几种:
l全备份差异备份:以一周为周期,星期日进行全备份,星期一到星期六每天进行差异备份。
l全备份日志备份:以一周为周期,星期日进行全备份,星期一到星期六每天进行日志备份。
l文件组备份日志备份:备份周期取决于数据库的大小和能力,每周期分别进行一部分数据文件备份,每天进行日志备份。
手头上只有C#的代码,不知道对你有没有帮助
远程备份要注意权限的问题,普通的访问帐户没有备份和还原的权限,最好用sa的帐户,并且程序访问的帐户必须添加到远程机器的系统内
你说的远程备份到本地是不可能的,你只有开放远程某个文件夹加入你的特殊访问帐户权限
最好直接用远程桌面,这样最方便
方法一(不使用SQLDMO):
///
///备份方法
///
SqlConnection conn = new SqlConnection("Server=;Database=master;User ID=sa;Password=sa;");
SqlCommand cmdBK = new SqlCommand();
cmdBKCommandType = CommandTypeText;
cmdBKConnection = conn;
cmdBKCommandText = @"backup database test to disk='C:\ba' with init";
try
{
connOpen();
cmdBKExecuteNonQuery();
MessageBoxShow("Backup successed");
}
catch(Exception ex)
{
MessageBoxShow(exMessage);
}
finally
{
connClose();
connDispose();
}
///
///还原方法
///
SqlConnection conn = new SqlConnection("Server=;Database=master;User ID=sa;Password=sa;Trusted_Connection=False");
connOpen();
//KILL DataBase Process
SqlCommand cmd = new SqlCommand("SELECTspidFROMsysprocesses ,sysdatabases WHEREsysprocessesdbid=sysdatabasesdbid AND sysdatabasesName='test'", conn);
SqlDataReader dr;
dr = cmdExecuteReader();
ArrayList list = new ArrayList();
while(drRead())
{
listAdd(drGetInt16(0));
}
drClose();
for(int i = 0; i < listCount; i++)
{
cmd = new SqlCommand(stringFormat("KILL {0}", list[i]), conn);
cmdExecuteNonQuery();
}
SqlCommand cmdRT = new SqlCommand();
cmdRTCommandType = CommandTypeText;
cmdRTConnection = conn;
cmdRTCommandText = @"restore database test fromdisk='C:\ba'";
try
{
cmdRTExecuteNonQuery();
MessageBoxShow("Restore successed");
}
catch(Exception ex)
{
MessageBoxShow(exMessage);
}
finally
{
connClose();
}
方法二(使用SQLDMO):
///
///备份方法
///
SQLDMOBackup backup = new SQLDMOBackupClass();
SQLDMOSQLServer server = new SQLDMOSQLServerClass();
//显示进度条
SQLDMOBackupSink_PercentCompleteEventHandler progress = new SQLDMOBackupSink_PercentCompleteEventHandler(Step);
backupPercentComplete += progress;
try
{
serverLoginSecure = false;
serverConnect("", "sa", "sa");
backupAction = SQLDMOSQLDMO_BACKUP_TYPESQLDMOBackup_Database;
backupDatabase = "test";
backupFiles = @"D:\test\myProg\backupTest";
backupBackupSetName = "test";
backupBackupSetDescription = "Backup the database of test";
backupInitialize = true;
backupSQLBackup(server);
MessageBoxShow("Backup successed");
}
catch(Exception ex)
{
MessageBoxShow(exMessage);
}
finally
{
serverDisConnect();
}
thispbDBValue = 0;
///
///还原方法
///
SQLDMORestore restore = new SQLDMORestoreClass();
SQLDMOSQLServer server = new SQLDMOSQLServerClass();
//显示进度条
SQLDMORestoreSink_PercentCompleteEventHandler progress = new SQLDMORestoreSink_PercentCompleteEventHandler(Step);
restorePercentComplete += progress;
//KILL DataBase Process
SqlConnection conn = new SqlConnection("Server=;Database=master;User ID=sa;Password=sa;Trusted_Connection=False");
connOpen();
SqlCommand cmd = new SqlCommand("SELECTspid FROMsysprocesses ,sysdatabases WHEREsysprocessesdbid=sysdatabasesdbid AND sysdatabasesName='test'", conn);
SqlDataReader dr;
dr = cmdExecuteReader();
ArrayList list = new ArrayList();
while(drRead())
{
listAdd(drGetInt16(0));
}
drClose();
for(int i = 0; i < listCount; i++)
{
cmd = new SqlCommand(stringFormat("KILL {0}", list[i]), conn);
cmdExecuteNonQuery();
}
connClose();
try
{
serverLoginSecure = false;
serverConnect("", "sa", "sa");
restoreAction = SQLDMOSQLDMO_RESTORE_TYPESQLDMORestore_Database;
restoreDatabase = "test";
restoreFiles = @"D:\test\myProg\backupTest";
restoreFileNumber = 1;
restoreReplaceDatabase = true;
restoreSQLRestore(server);
MessageBoxShow("Restore successed");
}
catch(Exception ex)
{
MessageBoxShow(exMessage);
}
finally
{
serverDisConnect();
}
thispbDBValue = 0;
以上就是关于怎样把远程机上的SQL数据库备份到本机(oracle远程导出数据到本地)全部的内容,包括:怎样把远程机上的SQL数据库备份到本机(oracle远程导出数据到本地)、如何备份事务日志 (SQL Server Management Studio)、MS SQL Server 2000数据库在进行日志备份以前,必须具备哪些条件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)