我在一家不到 50 人的相对较小的公司工作,我可能是我们拥有的最接近 DBA 的人……我实际上是一名程序员,但这无关紧要。我们有SQL Server 2000
大约100 个不同的数据库。几乎所有这些都具有关联的 SQL 登录名,并且该登录名与DB_OWNER
特定数据库的数据库角色相关联。我们还有一些设置为DB_DATAREADER
数据库角色的登录名。
我们购买了一台全新的机器(目前是一台 12 岁的机器,担心硬件故障可能会导致我们的业务在不可接受的时间内倒闭)。我们不会升级 SQL Server 版本。我们将坚持2000。
我的问题是最简单的方法是什么。我的想法是分离所有数据库,将它们复制到新机器上,然后重新附加每个数据库。我将保持机器名称和 IP 相同,并在完成后删除旧服务器,因此无需修改任何连接字符串。这似乎并没有那么糟糕,并且可以在周末轻松完成。我对这种方法的问题是,在我这样做之后,我需要从数据库中删除用户,然后重新创建login
使用用户名/密码,然后为每个用户分配适当的角色。我只在这里 5 年,我没有每个特定数据库和程序正在使用的所有可能的用户名/密码。我不想破坏任何现有的程序,也不想去每一台机器上更新它……或者甚至可能不得不找到旧的源代码并重新编译……是的,我们的一些遗留的东西有用户名/密码硬编码在源代码:(。
所以我想主要问题是script
我可以在现有服务器上运行的一个,它将生成一个脚本以在新机器上运行以设置现有的logins
, users
,roles
使用与以前相同的用户名/密码?
如果有更简单的方法将 sql server 实例从一台机器转移到另一台机器;我全是耳朵。
仅供参考,我们已尝试从现有服务器创建 VHD 以在虚拟机中使用,但已经耗尽了该路由。我们永远无法让机器启动进入 Windows。认为这是驱动程序问题。