更该sql 2005表名前缀 更改为dbo

来源:互联网 发布:软件客户端 编辑:程序博客网 时间:2024/06/05 01:06
把 Schema 都转为 dbo,更该sql 2005表名前缀 SQL Server 2000exec sp_changeobjectowner '[bbsdb].[dv_style]',[dbo]更改当前数据库中对象的所有者备份、恢复数据库时,往往会出现所有者是原来的用户,这样当你在新的系统中使用 时,会出现表名无效的错误提示,而加入原来的用户名,又会出现用户已经存在的错误, 所以最好的方法就是修改成dbo: 怎么样把SQL Server 2000的用户表的所有者,改成dbo,而不是用户名?(修改存储过程的方法,在查询器中执行:EXEC sp_changeobjectowner 'usera.hishop_creatorder', 'dbo'),就把 usera的存储过程改为dbo所有了。 可以使用 sp_changedbowner 更改数据库的所有者。方法一:右键点击该表 -》设计表,在上面的一排小图标中,点最后一个“条件约束”,点“表”页,在里面更改所有者。(若没有条件约束的小图标,可以点右键,能看到一个“check约束”的选项) 方法二:利用脚本直接执行,用系统帐号或者超户登陆到该数据库,然后执行下面语句: sp_configure 'allow updates','1'goreconfigure with overridegoupdate sysobjects set uid=1 where uid<>1 gosp_configure 'allow updates','0'goreconfigure with override 第二种方法只能使用一次,第二次使用会出错。SQL Server 20051。在SQL Server 2005中批量修改存储过程的架构,执行以下SQL,将执行结果拷贝出来,批量执行既可。Select 'Alter SCHEMA dbo TRANSFER ' + s.Name + '.' + p.Name FROM sys.Procedures p INNER JOIN sys.Schemas s on p.schema_id = s.schema_id Where s.Name = '旧的架构名称'2。在SQL Server 2005中批量修改表的架构,执行以下SQL,将执行结果拷贝出来,批量执行既可。declare @name sysnamedeclare csr1 cursorfor select TABLE_NAME from INFORMATION_SCHEMA.TABLESopen csr1FETCH NEXT FROM csr1 INTO @namewhile (@@FETCH_STATUS=0)BEGINSET @name='旧的架构名称.' + @nameprint 'Alter SCHEMA dbo TRANSFER ' + @namefetch next from csr1 into @nameENDCLOSE csr1DEALLOCATE csr1------------执行结果如:----------Alter SCHEMA dbo TRANSFER cwb4129.tbl_sellbuy2Alter SCHEMA dbo TRANSFER cwb4129.tbl_outsourcingAlter SCHEMA dbo TRANSFER cwb4129.tbl_sellbuyAlter SCHEMA dbo TRANSFER cwb4129.tbl_directoryAlter SCHEMA dbo TRANSFER cwb4129.tbl_company2Alter SCHEMA dbo TRANSFER cwb4129.tbl_countAlter SCHEMA dbo TRANSFER cwb4129.tbl_companyAlter SCHEMA dbo TRANSFER cwb4129.tbl_codeAlter SCHEMA dbo TRANSFER cwb4129.tbl_adAlter SCHEMA dbo TRANSFER cwb4129.smt_xxnewssort_vipAlter SCHEMA dbo TRANSFER cwb4129.SMT_xxnewssort... ... ... 


原创粉丝点击