• 搞定rainbow的数据迁移!


    新找了rainbow来做公司的门户,使用起来还算可以,但是是在我的测试机器上。突然想起来如何才能把握的测试结果或者以后的开发实例搬到新的服务器上。数据迁移阿。本以为是普通的asp程序,原搬就可以,后来想到好多东西他都是和sharepoint一样配置在数据库中,于是把他们一同restore到新的机器上。没有什么异样,但是运行网站的时候他会监测出是新的数据库。需要重新运行脚本。但是完全失败!!!头疼。他不像sharepoint那样有自己的备份命令。!!!这样开始查阅了官方网站。上面只是说要backup然后restore。看来原来import是不起作用的阿。
    这样我又重新back一次。还是失败。无意中我看到了How to make an SQL readable backup 文章,下面有个连接如何更改dbowner的这才启发我,需要更改这个。试验一下,将aspnet的名字换了服务器的机器名。失败!!!
    最后改成了dbo,这才成功!
    贴出脚本文件,更改owner的时候table使用
    DECLARE @oldOwner sysname, @newOwner sysname, @sql varchar(1000)

    SELECT
      @oldOwner = 'PC\ASPNET'
      , @newOwner = 'dbo'
      , @sql = '
      IF EXISTS (SELECT NULL FROM INFORMATION_SCHEMA.TABLES
      WHERE
          QUOTENAME(TABLE_SCHEMA)+''.''+QUOTENAME(TABLE_NAME) = ''?''
          AND TABLE_SCHEMA = ''' + @oldOwner + '''
      )
      EXECUTE sp_changeobjectowner ''?'', ''' + @newOwner + ''''

    EXECUTE sp_MSforeachtable @sql

    更改存储过程的:
    DECLARE @oldOwner sysname, @newOwner sysname
    SELECT
    @oldOwner = 'PC\ASPNET'
    , @newOwner = 'dbo'
    select 'EXECUTE sp_changeobjectowner '''+QUOTENAME(a.SPECIFIC_SCHEMA)+'.'+QUOTENAME(a.ROUTINE_NAME)+''','''+@newOwner+''''
    from
    INFORMATION_SCHEMA.ROUTINES a
    where
    a.ROUTINE_TYPE = 'PROCEDURE'
    AND a.SPECIFIC_SCHEMA = @oldOwner
    AND
    OBJECTPROPERTY(OBJECT_ID(QUOTENAME(a.SPECIFIC_SCHEMA)+'.'+QUOTENAME(a.ROUTINE_NAME)), 'IsMSShipped') = 0
    运行这个脚本后得到每个更改的命令。粘贴结果再次运行。

  • 相关阅读:
    打包下载,byte[] ,
    .net mvc 异常处理 IExceptionFilter,保存请求参数
    c# webapi websocket 服务端消息发送
    mailkit用163发邮件
    使用OPCAutomation实现对OPC数据的访问,“对 COM 组件的调用返回了错误 HRESULT E_FAIL”错误
    .net core 获取客户端ip
    C#读取OPC server
    Makedown语言常用语法
    ops:Rsync和Scp区别
    ops:Linux /bin,/sbin,/usr/sbin, /usr/local/bin区别
  • 原文地址:https://www.cnblogs.com/Mint/p/295459.html
Copyright © 2020-2023  润新知