2006-11-13

SQL Server实用经验与技巧大汇集

来源: 中国本站网 作者:佚名 评论 0 条
 

9.更改数据库中表的所属用户的两个方法

大家可能会经常碰到一个数据库备份还原到另外一台机器结果导致所有的表都不能打开了,原因是建表的时候采用了当时的数据库用户……

--更改某个表

exec sp_changeobjectowner 'tablename','dbo'

--存储更改全部表

CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch

@OldOwner as NVARCHAR(128),

@NewOwner as NVARCHAR(128)

AS

DECLARE @Name as NVARCHAR(128)

DECLARE @Owner as NVARCHAR(128)

DECLARE @OwnerName as NVARCHAR(128)

DECLARE curObject CURSOR FOR

select 'Name' = name,

'Owner' = user_name(uid)

from sysobjects

where user_name(uid)=@OldOwner

order by name

OPEN curObject

FETCH NEXT FROM curObject INTO @Name, @Owner

WHILE(@@FETCH_STATUS=0)

BEGIN

if @Owner=@OldOwner

begin

set @OwnerName = @OldOwner '.' rtrim(@Name)

exec sp_changeobjectowner @OwnerName, @NewOwner

end

-- select @name,@NewOwner,@OldOwner

FETCH NEXT FROM curObject INTO @Name, @Owner

END

close curObject

deallocate curObject

GO

10.SQL Server中直接循环写入数据

declare @i int

set @i=1

while @i<30

begin

insert into test (userid) values(@i)

set @i=@i 1

end

11.无数据库日志文件恢复数据库方法两则

数据库日志文件的误删或别的原因引起数据库日志的损坏。

方法一:

1.新建一个同名的数据库;

2.再停掉SQL Server(注重不要分离数据库);

3.用原数据库的数据文件覆盖掉这个新建的数据库;

4.再重启sql server;

5.此时打开企业治理器时会出现置疑,先不管,执行下面的语句(注重修改其中的数据库名);


共12页: 上一页 [1] [2] [3] 4 [5] [6] [7] [8] [9] [10] [11] [12] 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:限制SQL Server只能让指定的机器连接  
下一篇:SQL Server 2000中生成XML的小技巧
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号