远程备份SQL Server数据库,无需备份权限

时间:2009-05-08 20:31:51

标签: c# sql-server-2005 backup

我有一个运行SQL Server 2005的主机,我有能力登录我的数据库并复制/读/写/删除所有表/视图/ sp。我只是右键单击我的服务器并选择备份,但我似乎没有权限进行任何备份。

这可能不常见(有人使用主机/提供商db)。

有没有人想出如何将数据库备份到远程计算机(而不是逐行使用普通的旧拷贝)?我想拥有自己的服务器备份,而不依赖我的主机来执行备份。如果是这样,那么库/ app允许你这样做。

注意,我相信我的主机允许使用某种形式的备份(数据库发布向导)有没有人知道它使用了哪些库(以便我可以在我的代码中重现它)?

9 个答案:

答案 0 :(得分:4)

为什么不数据库导出到另一台SQL服务器?如果您具有读取权限,则可以执行此操作。它最像是一个有着巨大差异的备份。

以下是如何导出数据库的教程:

http://www.databasejournal.com/features/mssql/article.php/3580216/SQL-Server-2005-Import--Export-Wizard.htm

您可以将其导出到Express版本,但有一些限制,例如最大1 GB的大小。

答案 1 :(得分:1)

数据库发布向导只是将数据库中的所有对象拉入.sql文件。我不确定库,但我有点不清楚为什么你需要重现它。如果需要以编程方式调用它,它有一个命令行界面。

以下是下载链接:Linkage

此外,这里有一个关于如何从命令行使用发布向导的链接:More Linkage

答案 2 :(得分:0)

  

我似乎没有权限进行任何备份。

“似乎”是什么意思?只是那个选项不存在吗?

如果是这种情况,我怀疑你正在使用SQL Server Management Studio的快速版。 Management Studio中的某些功能(包括备份/还原)仅适用于付费版本。但是该功能仍然存在于数据库本身中,并且权限可能没问题。如果您使用完整版的Management Studio进行连接,则可以进行备份。

答案 3 :(得分:0)

对另一个回复:托管提供商;我非常怀疑他们是否允许将本地磁盘读/写到他们设置的用户帐户。

  • 就个人而言,我只想使用数据库发布向导编写数据库脚本,这将为您提供一个可以在将来使用的实际脚本。

  • 您也可以右键单击数据库并选择“脚本”选项(至少在非快递中)

  • 或者,您可以联系主持人并询问有关访问备份的信息。不知道你是否可以得到它们,或者给予它们恢复的过程是什么。

  • 还有其他工具,您可以从中获取源代码。虽然

    ,但不确定它们的效果如何

答案 4 :(得分:0)

添加到Joel的评论中:托管公司可能希望在SQL Server上出于性能原因限制这些操作(可能他们只希望在晚上进行备份或其他事情)。或者有时他们只是想为额外的频繁备份收费。

因此,您必须做一些不同的事情来备份数据。不要忘记保持在主机的SQL限制范围内;)

答案 5 :(得分:0)

您最好的选择是联系您的托管服务提供商,看看他们是否可以通过网络控制面板或其他方式访问备份。

答案 6 :(得分:0)

查看http://www.codeplex.com/SqlWebAdmin

我和1and1.com主机一起使用它,只需像任何其他网站一样安装它,然后你应该能够做很多类似于SSMS的管理功能。 您的托管服务可能会有所不同......我知道很多事情因为显而易见的原因而被锁定得很紧张。

答案 7 :(得分:0)

如果您使用的是SQL Server,则可以启动MSSQL服务到网络服务,这样您的备份就可以在计算机的共享文件夹中创建数据库,前提是您对共享文件夹具有写入权限。 N_N

USE AdventureWorks;
GO
BACKUP DATABASE AdventureWorks
TO DISK = '\\yourmachine\SQLServerBackups\AdventureWorks.Bak'
   WITH FORMAT,
      NAME = 'Full Backup of AdventureWorks';
GO

请参阅:http://msdn.microsoft.com/en-us/library/ms191304.aspx

答案 8 :(得分:0)

如果您使用的是SQL Server,则可以启动MSSQL服务到网络服务,这样您的备份就可以在计算机的共享文件夹中创建数据库,前提是您对共享文件夹具有写入权限。 N_N

示例代码:

USE AdventureWorks;
GO
BACKUP DATABASE AdventureWorks
TO DISK = '\\yourmachine\SQLServerBackups\AdventureWorks.Bak'
   WITH FORMAT,
      NAME = 'Full Backup of AdventureWorks';
GO