zoukankan      html  css  js  c++  java
  • 记一次数据库迁移遇到问题

    接通知要给客户做演示,要临时搭软件环境。系统是子公司搞出来的。部署后十几个库,几十个站点。到现在还没谁能在一天搭建好的,那个复杂那个狗血,想想都冒汗。

    看下大小,12+G!备份再还原懒得搞,所以直接停了服务器。开始压缩文件,又解压,漫长的等待。

    用sp_attach_db命令先写好脚本,跑跑秒秒钟的事,数据库部署OK。然后就是部署站点,几十个那叫一个痛苦。
    听说可以导出服务器的再导入就好了。可IIS中没看到有这功能,可能是系统或iis版本问题(win7 x64 iis6.1)

    一切部署好,接着就是一堆问题出来了。各种问题排查—— 关防火墙,混合模式登录,允许远程连接, IIS应用程序池 fw版本、管道模式、标识、启用32位应用程序

    到此常见的问题原因排查得差不多了。登录失败的问题还是存在。

    要说明的是,这些库不是SA创建的,是自己创建的特定用户创建。

    错误只是简单的登录失败,也没详细原因,只能找搜索引擎了,一个个方法的试。

    问题出现的原因是在不同的机器还原或附加数据库后,该数据据库的用户只是孤立用户,只有用户名而没有登录名,
    在sqlserver组的安全性里登录里会看不到该用户的名字。

    网上给出的解决办法是:使用sp_change_users_login来修复

    --列出当前数据库的孤立用户
    exec sp_change_users_login 'REPORT'

    --可以自动将用户名所对应的同名登录添加到syslogins中
    exec sp_change_users_login 'AUTO_FIX','用户名'

    --将用户名映射为指定的登录名。
    exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'

    具体步骤:

    1.创建同名登录名

    2.选择登录失败库,执行脚本一二就可以了。

  • 相关阅读:
    从Unity3D编译器升级聊起Mono
    RxJava系列6(从微观角度解读RxJava源码)
    RxJava系列5(组合操作符)
    RxJava系列4(过滤操作符)
    RxJava系列3(转换操作符)
    RxJava系列2(基本概念及使用介绍)
    RxJava系列1(简介)
    给 Android 开发者的 RxJava 详解
    深入浅出RxJava就这一篇就够了
    android非法字符的判定、表情符号的判定
  • 原文地址:https://www.cnblogs.com/lonny/p/sqlserver_login_fail.html
Copyright © 2011-2022 走看看