zoukankan      html  css  js  c++  java
  • 搞定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
    运行这个脚本后得到每个更改的命令。粘贴结果再次运行。

  • 相关阅读:
    WPF 策略模式
    老陈 WPF
    老陈 ASP.NET封装
    小石头 封装
    典型用户故事
    整数的四则运算
    对git的认识
    如何学习计算机
    团队编程二——web应用之人事管理系统
    团队编程——web应用之人事管理系统
  • 原文地址:https://www.cnblogs.com/Mint/p/295459.html
Copyright © 2011-2022 走看看