博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
还原数据库相关,孤立用户无法删除,又无法与新建的同名登陆挂钩的解决办法(转)...
阅读量:7001 次
发布时间:2019-06-27

本文共 1903 字,大约阅读时间需要 6 分钟。

1、执行

restore filelistonly FROM disk='E:\ChinaValue_db_200612250200.BAK'

获得当前备份文件的逻辑名

2、使用windows账户或者sa登陆执行以下SQL语句:

 
 
restore
DATABASE
[
ChinaValue
]
FROM
disk
=
'
E:\ChinaValue_db_200612250200.BAK
'
WITH
file
=
1
,
move
'
ChinaValueTemp
'
TO
'
F:\Server\SqlData\MSSQL\Data\ChinaValueTemp_Data.MDF
'
,
move
'
ChinaValueTemp_Log
'
TO
'
F:\Server\SqlData\MSSQL\Data\ChinaValueTemp_Log.LDF
'
restore
DATABASE
[
还原目的数据库
]
FROM
disk
=
'
E:\ChinaValue_db_200612250200.BAK
'
--
备份文件的路径
WITH
file
=
1
,
--
文件的编号
move
'
ChinaValueTemp
'
TO
'
F:\Server\SqlData\MSSQL\Data\ChinaValueTemp_Data.MDF
'
,
--
数据库逻辑名 to 还原到的物理文件名
move
'
ChinaValueTemp_Log
'
TO
'
F:\Server\SqlData\MSSQL\Data\ChinaValueTemp_Log.LDF
'
--
日志逻辑名 to 还原到的物理文件名

 
--
首先创建存储过程
CREATE
proc
p_validatelogin
@dbname
sysname,
--
孤立用户所在的数据库名
@loginame
sysname
--
孤立用户名
AS
IF
db_id
(
@dbname
)
IS
NULL
begin
print
'
无此数据库
'
RETURN
end
declare
@s
nvarchar
(
4000
),
@sid
BINARY
(
16
)
IF
EXISTS
(
SELECT
*
FROM
master..sysxlogins
WHERE
name
=
@loginame
)
begin
--
如果已经有该登录,则直接修改系统表
exec
sp_configure
'
allow updates
'
,
1
reconfigure
WITH
override
SELECT
@sid
=
sid
FROM
master..syslogins
WHERE
name
=
@loginame
SET
@s
=
'
update [
'
+
REPLACE
(
@dbname
,
'
]
'
,
'
]]
'
)
+
'
]..sysusers set sid=@sid where name=@loginame and islogin=1
'
exec
sp_executesql
@s
,N
'
@sid binary(16),@loginame sysname
'
,
@sid
,
@loginame
exec
sp_configure
'
allow updates
'
,
0
reconfigure
WITH
override
end
else
begin
--
如果没有该登录,则创建登录
SET
@s
=
'
SELECT @sid=sid FROM [
'
+
REPLACE
(
@dbname
,
'
]
'
,
'
]]
'
)
+
'
]..sysusers WHERE islogin=1 and name=@loginame
'
exec
sp_executesql
@s
,N
'
@sid binary(16) out,@loginame sysname
'
,
@sid
out,
@loginame
exec
sp_addlogin
@loginame
=
@loginame
,
@sid
=
@sid
end
go
--
执行存储过程
exec
p_validatelogin
'
ChinaValueBbs
'
,
'
chinavaluebbs
'
go
--
执行重新配置
RECONFIGURE

转载于:https://www.cnblogs.com/sdytzz/archive/2012/04/16/2451299.html

你可能感兴趣的文章
P2151 [SDOI2009]HH去散步
查看>>
python作业题
查看>>
C语言第二次博客作业---分支结构
查看>>
(转)windows系统下Python环境的搭建
查看>>
[Poetize6] IncDec Sequence
查看>>
matlab 获得corner点(未完待续)
查看>>
Windows下快速建立cocos2d-x项目
查看>>
python break ,continue和 pass 语句(八)
查看>>
发布一个Python小程序:ManHourCalendar
查看>>
一次sendmsg的改造过程
查看>>
Bugzilla
查看>>
HDU 4608 I-number
查看>>
题目1047:素数判定
查看>>
Codefroces 958C2 - Encryption (medium)
查看>>
牛客网NOIP赛前集训营-提高组(第七场)C 洞穴
查看>>
SqlServer 日期函数
查看>>
C# Winform任务栏闪烁
查看>>
诗经.国风.周南
查看>>
Js文本溢出自动添加省略号ellipsis
查看>>
MySQL 介绍
查看>>