社区
数据库相关
帖子详情
在SQL Server2000中附加数据库的问题
snowfog
2003-10-20 11:09:19
在SQL Server2000中附加数据库时,如果该附加的数据库中的表的拥有者是在该服务器中不存在的登录名,则数据库自动创建一个该用户,但该用户是无法登录到该服务器的。这是为什么?怎么解决?
...全文
54
6
打赏
收藏
在SQL Server2000中附加数据库的问题
在SQL Server2000中附加数据库时,如果该附加的数据库中的表的拥有者是在该服务器中不存在的登录名,则数据库自动创建一个该用户,但该用户是无法登录到该服务器的。这是为什么?怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Alanwn
2003-10-20
打赏
举报
回复
你加条件啊!
snowfog
2003-10-20
打赏
举报
回复
UP者有分
snowfog
2003-10-20
打赏
举报
回复
txlicenhe(马可) 非常感谢!
我试过了还有如下问题:
1、sp_addlogin @loginame = 'nancyd',
@sid = 这里的值是不是孤立用户的sid?
2、sp_dropalias 'nancyd':“指定的用户没有别名。”
3、sp_dropuser 'janetl':“该用户拥有数据库中的对象,无法除去该用户。”
该用户是数据库表的所有者。
以上问题如何解决?
jacobran
2003-10-20
打赏
举报
回复
写的不错,实用。
txlicenhe
2003-10-20
打赏
举报
回复
http://expert.csdn.net/Expert/topic/1760/1760796.xml?temp=.7696955
孤立用户问题
----- 孤立用户
把数据库备份还原到另一个服务器时,可能会遇到孤立用户的问题。下面的方案显示并解决了这个问题:
通过执行 sp_addlogin,把登录 janetl 改名为 dbo。
sp_addlogin 'janetl', 'dbo'
备份数据库。在本例中,备份 Northwind。
BACKUP DATABASE Northwind
TO DISK = 'c:\mssql\backup\northwnd'
除去刚刚备份的数据库。
DROP DATABASE Northwind
除去登录。
sp_droplogin 'janetl'
还原备份的数据库。
RESTORE DATABASE Northwind
FROM DISK = 'c:\mssql\backup\northwnd'
select * from sysusers
janetl 登录不能访问 Northwind 数据库,除非允许 guest 登录。尽管 janetl 登录已经删除,它仍然(作为一个孤立行)显示在 sysusers 表中:
USE Northwind
SELECT *
FROM sysusers
WHERE name = 'janetl'
解决孤立用户问题
用 sp_addlogin 添加一个临时登录。为孤立用户指定安全标识符 (SID)(从 sysusers)。
sp_addlogin @loginame = 'nancyd',
@sid = 0x32C864A70427D211B4DD00104B9E8A00
用 sp_dropalias 除去属于别名 SID 的临时别名。
sp_dropalias 'nancyd'
用 sp_dropuser 除去原始用户(即现在的孤立用户)。
sp_dropuser 'janetl'
用 sp_dropuser 除去原始登录。
sp_droplogin 'nancyd'
snowfog
2003-10-20
打赏
举报
回复
怎么加条件?
SQL
Server
2000
企业管理器
//
附加
数据库
sp_attach_db 当使用 sp_attach_db 系统存储过程
附加
数据库
时。 sp_attach_db:将
数据库
附加
到服务器。 语法 sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ] 参数 [@dbname =] 'dbname' 要
附加
到服务器的
数据库
的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [@filename1 =] 'filename_n'
数据库
文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。 参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向
数据库
中
其它文件的系统表。 该列表还必须包括
数据库
分离后所有被移动的文件。 返回代码值:0(成功)或 1(失败) eg:下面的示例将 pubs
中
的两个文件
附加
到当前服务器。 EXEC sp_attach_db @dbname = N'pubs', @filename1 = N'c:\Program Files\Microsoft
SQL
Server
\MS
SQL
\Data\pubs.mdf', @filename2 = N'c:\Program Files\Microsoft
SQL
Server
\MS
SQL
\Data\pubs_log.ldf' EXEC sp_attach_db @dbname = N'Ty20051029101451aaa', @filename1 = N'd:\5屏幕\Ty20051029101451aaa_data.mdf', @filename2 = N'd:\5屏幕\Ty20051029101451aaa_log.ldf' ---解决
问题
了 //删除
数据库
DROP DATABASE 从Microsoft?
SQL
Server
? 删除一个或多个
数据库
。删除
数据库
将删除
数据库
所使用的
数据库
文件和磁盘文件。 语法 :DROP DATABASE database_name [ ,...n ] 参数 :database_name 指定要删除的
数据库
名称。从 master
数据库
中
执行 sp_helpdb 以查看
数据库
列表。 eg: exec sp_helpdb database_name exec Drpo DataBase [Ty20051029101451aaa] //分离
数据库
可以使用 sp_detach_db 存储过程分离该
数据库
,然后使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新
附加
。 sp_detach_db Archive GO CREATE DATABASE Archive ON PRIMARY (FILENAME = 'c:\program files\microsoft
sql
server
\ms
sql
\data\archdat1.mdf') FOR ATTACH GO //显示当前
数据库
信息 --select * from Master..sysDatabases //新建---不行啊 CREATE DATABASE TestOA ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE RESTORE DATABASE TestOA From disk='C:\Documents and Settings\Administrator\桌面\帐套\data\Template.Dat' ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE exec sp_detach_db Km20051030011601 --分离
数据库
exec sp_attach_single_file_db km20051030011601,'D:\TestDatabase\Km20051030011601.mdf'--只
附加
.mdf文件
Northwind
数据库
Northwind puvs
数据库
sql
2005安装后没有这两个实例
数据库
下载后
附加
上就可以了。最好放在C:\Program Files\Microsoft
SQL
Server
\MS
SQL
\Data目录下
SQL
Server
2000
数据库
附加
步骤
GPS平台、网站建设、软件开发、系统运维,找森大网络科技! https://cnsendnet.taobao.com 来自森大科技官方博客 http://www.cnsendblog.com/index.php/?p=1677 适用于重装电脑系统后却没有做进销存、财务、OA软件备份情况,就只能通过
数据库
附加
方式来恢复数据 工具/原料 •
数据库
• 备份 • Microsoft
SQL
Server
•
附加
数据库
• 软件 方法/步骤 首先打开Microsoft
SQL
Server
里的企业管理器,如下
Sql
Server
2000
中
附加
数据库
的时候出现错误9003的解决
SQL
2000
,
附加
数据库
的时候出现错误提示:“错误9003:LSN(39:431:1)无效,该LSN是传递给
数据库
’XXX’
中
的日志扫描操作的”,如图:出现这个错误一般是因为此
数据库
有损坏,导致不能做
数据库
的附件操作。解决步骤: 停止
SQL
Server
服务器,将旧
数据库
文件和相应的日志文件拷贝到其他地方以备份 启动
SQL
Server
服务器,新建一个全新的和旧
数据库
同名的
数据库
停止
SQL
S
SQL
Server
2008
附加
数据库
时出错
开机后
附加
数据库
失败: 1.正常操作
附加
数据库
。 右键单击
sql
server
中
的
数据库
,选择【
附加
】左击【添加】,选择文件路径,左击【确定】,之后弹出“
附加
数据库
时出错”:确定,继续下一步进而查看原因,如图:2.解决方法: 由于是拒绝访问,有可能是未添加MS
SQL
SERVER
访问权限! 于是将要
附加
数据库
的日志文件和数据文件移到一个新的文件夹
中
,记住文件名和路径;将其拷贝到“C:\Program Files\Microsoft
SQL
Server
\MS
SQL
10_50.MS
SQL
SERVER
”下,最后重新
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章