我需要备份客户的 SQL 2000 数据库,但是有一些问题阻止我使用传统方法进行备份。我尝试使用 SQL Management Studio Express,但主机没有提供足够的权限来创建备份,并且我收到了一些奇怪的错误消息。我还尝试执行“生成脚本”来重新创建架构,然后使用 DTS 向导迁移数据,但是使用身份规范属性设置的 ID 与复制后的实时数据库不一致。这导致一些外键损坏...
如果我没记错的话,我之前能够使用 Microsoft SQL 2000 Enterprise Manager 来执行该任务,但我在任何地方都找不到它...似乎微软已从其网站上删除了大多数 SQL Server 2000 内容。
有谁知道我在哪里可以找到一份企业管理器 (或 SQL Server 2000 试用版,我相信它随组件一起提供)?或者反过来说,有谁知道有任何其他工具 (最好是非商业的) 能够镜像远程 SQL Server 2000 DB?
谢谢!
答案1
这Microsoft 下载中心有可用的服务包,但不确定它们是否允许您直接从 SP 安装程序安装客户端工具。
答案2
查找并使用命令行客户端“osql.exe”连接到实例。这将允许您运行 Transact SQL 命令,并随 sql2000(以及 sql server 7.0 和 sql server 6.5,IIRC)一起提供。较新版本的 sql server 提供了一个名为“sqlcmd.exe”的类似工具。无论是否安装了其他“客户端工具”,osql.exe 或 sqlcmd.exe 都应该在那里。最坏的情况下,您可以使用资源管理器或类似程序搜索安装了 sql server 二进制文件的驱动器:
dir c:\osql.exe /s
使用 CLI 连接到实例后,只需运行备份命令。网上有很多示例。Microsoft 不再在线提供 SQL Server 2000 的文档,但SQL Server 2005 的文档在这里只要您保持命令简单并避免新功能(如备份压缩),备份命令(和恢复命令)的语法在 2000 年至 2005 年(或 2012 年)之间没有太大变化。sql2000 实例的最简单备份如下所示:
backup database my_databasename to disk = 'c:\backups\my_databasename.bak' with init
go
您需要“go”,否则命令将无法运行。请确保路径存在,并且 SQL Server 服务有权在该路径上写入登录信息。您可以使用 UNC 路径作为备份文件,但有时由于权限/安全性等原因,本地备份更容易。