我们现在正在从 SQL 2008 迁移到 SQL 2012 服务器。我一次测试一个数据库,因为这些都是实时数据库。
我已经备份了数据库,然后将其恢复到新服务器上。创建了访问该数据库所需的相关安全帐户。
我的用户名属于安全组。它确实拥有 db_owner 权限以及 public 权限,因为这是旧服务器上的权限。
当我尝试使用 Windows 身份验证通过 ODBC 进行连接时,我收到(用户“我的用户名”登录失败)服务器设置为混合模式,当我查看日志文件时,显示此消息,用户“用户名”登录失败。原因:基于令牌的服务器访问验证因基础结构错误而失败。检查以前的错误。[客户端:xxxx] IP 地址
我在服务器上编写了一些代码,并注意到有关未启用 TCP 的错误(我已启用)。我还禁用了 UAC,但仍然无法连接到数据库。
我可以使用创建的本地管理员帐户进行连接,但我需要使用域帐户进行连接,因为所有员工都使用此数据库。
如果有人对此有什么建议,请帮忙!!!
谢谢马丁
PS-我不是一个资深的 SQL 开发人员,但我能理解简单的代码等
答案1
您写道您创建了所需的用户帐户。
与 AD 一样,在 SQL 服务器上,用户帐户也具有唯一的 sid;创建具有相同名称的用户会创建不同的用户。
当您在不同的服务器上恢复数据库时,有 2 个选项:在原始服务器上编写脚本用户(带有 sid 和所有后台内容)并在新服务器上重新创建它们或编写权限脚本并在目标服务器上重新应用它们。