未能排它地锁定数据库以执行该 *** 作,出现了这样的错误!
说明有进程在使用着“学生”数据库,
停止SQL Server服务,然后再启动,(或者重启windows),
这样就可以使用前面几位说的方法重命名 *** 作了,
例如:
use master
go
exec sp_renamedb '学生','教师';
declare @tbName varchar(100),@sql varchar(2000),@date datetime
select @tbName = convert(varchar(10),getdate(),120)
select @tbName = substring(@tbName,1,4)+substring(@tbName,6,2)+substring(@tbName,9,2)
select @sql='select into syslogd_'+@tbName+' from syslogd'
exec(@sql)
truncate table syslogd
select @date=dateadd(month,-3,getdate())
declare cur cursor for select name from sysobjects where crdate<@date and xtype='U' and name like 'syslogd_'
open cur
fetch next from cur into @tbName
while @@fetch_status=0
begin
select @sql='drop table '+@tbName
exec(@sql)
fetch next from cur into @tbName
end
close cur
deallocate cur
经过测试的,可以用了
展开全部
更改数据库名应该用系统函数sp_renamedb
EXEC
sp_renamedb
'old_name',
'new_name'
首先把查询分析器关掉,在重新打开,然后执行以上存储过程
sp_renamedb
更改数据库的名称。
语法
sp_renamedb
[
@dbname
=
]
'old_name'
,
[
@newname
=
]
'new_name'
参数
[@dbname
=]
'old_name'
是数据库的当前名称。old_name
为
sysname
类型,无默认值。
[@newname
=]
'new_name'
是数据库的新名称。new_name
必须遵循标识符规则。new_name
为
sysname
类型,无默认值。
返回代码值
0(成功)或非零数字(失败)
权限
只有
sysadmin
和
dbcreator
固定服务器角色的成员才能执行
sp_renamedb。
示例
下例将数据库
accounting
改名为
financial。
EXEC
sp_renamedb
'accounting',
'financial'
第一种方法:是先把你的ABC数据库备份,备份时可以使用任何名字,然后新建一个你需要的数据库:AAA,所有任务中强制还原你刚才备份的数据库;在用红色圈出的地方改为和你现在建立的数据库名称一致,即可
--修改 sa 密码
alter login sa with password = '新密码'
--修改 sa 用户名
alter login sa with name = '新用户名'
如果我没有理解错误,上面的就是答案。如果你只是想修改某个管理系统的数据库里的用户名,请采用以下方法:
--修改密码update [用户表] set [密码]='新密码' where [用户名]='用户'
--修改用户
update [用户表] set [用户名]='新用户' where [用户名]='用户'
sp_renamedb
'原名',
'更新名'
--更改数据库名字
sp_rename
'数据库名原表名','新表名'
--更改表名字
sp_rename
'数据库名表名原列名','新列名','columns'
--更改列名字
批量更改列中数据可用Replace
以上就是关于sql server中如何修改数据库名称全部的内容,包括:sql server中如何修改数据库名称、sql数据库一个表定时改名字并创建一个新表、sql2000的数据库名字怎么改等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)