我新建了一个登录名 然后新建了数据库,架构和用户名,在新数据库建表的时候它是架构默认是dbo,怎么样才能改成我自己建的那个新架构呢 哪位大虾帮我解决下 

解决方案 »

  1.   

    SQL Server2005可以使用系统存储过程sp_changeobjectowner更改数据库对象的所有者。   
        
      sp_changeobjectowner   '对象名(包括架构名)','新架构名'   
        
      批量修改请用:   
        
      方法一:使用游标   
        
      declare @name  sysname   
      declare csr1 cursor   
        for select   TABLE_NAME  from INFORMATION_SCHEMA.TABLES   
      open csr1       
      FETCH   NEXT   FROM   csr1   INTO   @name   
      while   (@@FETCH_STATUS=0)   
          BEGIN   
              SET   @name='原架构名.'+@name   
              EXEC SP_ChangeObjectOwner @name, '新架构名'   
              fetch next  from  csr1 into @name   
          END   
      CLOSE   csr1   
      DEALLOCATE   csr1   
        
      方法二:使用系统存储过程sp_MSforeachtable   
      EXEC sp_MSforeachtable @command1="EXEC   SP_ChangeObjectOwner   '?','新架构名'"本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/htl258/archive/2009/06/10/4258616.aspx
      

  2.   

    UP TONY哥
      

  3.   

    ALTER SCHEMA schema_name TRANSFER securable_name
     参数
    schema_name 
    当前数据库中的架构名称,安全对象将移入其中。其数据类型不能为 SYS 或 INFORMATION_SCHEMA。securable_name 
    要移入架构中的架构包含安全对象的一部分或两部分名称。 以下示例通过将表 Address 从架构 Person 传输到 HumanResources 架构来修改该架构。 USE AdventureWorks;
    GO
    ALTER SCHEMA HumanResources TRANSFER Person.Address;
    GO
     
      

  4.   

    这样做每个表都要改一次 有没有在我自己建的数据库里建新表 它默认的架构就是我自己定义的 不用每次都默认dbo 都要改
      

  5.   

    安全性-->SA(登录名)-->属性-->用户映射
    到这里面来修改.
      

  6.   

    批量修改所有者语句如下:查询分析器输入:exec sp_msforeachtable 'sp_changeobjectowner ''?'', ''你的架构名字''即可把当面表的所有所有者换成你的架构名字
      

  7.   

    2005的,选择表—打开工具栏的视图—打开属性窗口-右面属性窗口栏能调整,默认是dbo的
      

  8.   

    如果 LZ 的用户帐户为数据库拥有者(dbo),则创建的对象会默认放置在 dbo 架构下(如果没有显式指定架构)。解决方法:创建对象时显式指定架构名;修改数据库为其他帐户所有,将此用户帐户加入 db_owner 角色(如果需要这么大的权限)。
      

  9.   

    USE [test]
    GO
    ALTER USER [test] WITH DEFAULT_SCHEMA=dbo
    GO
      

  10.   

    请问如何这样设置数据库的默认架构,就是比如现在默认架构是 MySchema (不是dbo),
    有一个表是 MyTable ,那么执行sql语句
    select * from MyTable 和
    select * from MySchema.MyTable
    是一样的效果。怎样在sql2005设置?
      

  11.   

    谢谢啊!搞了一下午,还是CSDN人才多啊。!
      

  12.   

    我使用 sp_changeobjectowner   '对象名(包括架构名)','新架构名' 更改的时候 不能把DBO更改为其他的的吗 提示DBO不存在不是此操作有效对象