错误4060问题!!

dollyxz 2006-04-18 07:20:58
数据库在企业管理器中连接时报错误4060,服务器拒绝连接!
请教高手,是什么问题引起的,如何解决!!谢谢!!
...全文
1387 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyeq008 2006-04-19
  • 打赏
  • 举报
回复
学习~~收藏
lalakid 2006-04-19
  • 打赏
  • 举报
回复
呵呵
学习
我喜欢这个
osql /E /d"master" /Q"sp_defaultdb 'sa','master'"
OracleRoob 2006-04-19
  • 打赏
  • 举报
回复
在服务器上用Windows身份验证连接企业管理器后,在“安全性”-->“登录”中修改sa的默认数据库为master
云中客 2006-04-19
  • 打赏
  • 举报
回复
厉害,今天从老大这里学到不少东东
zjcxc 元老 2006-04-19
  • 打赏
  • 举报
回复
如果sa用户的默认数据库被删除, 则可以在命令提示符下执行下面的命令来解决:

osql /E /d"master" /Q"sp_defaultdb 'sa','master'"
zjcxc 元老 2006-04-19
  • 打赏
  • 举报
回复
-- 如果楼主要自动化的脚本, 则创建和调用下面的存储过程

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_defaultdb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_defaultdb]
GO

/*--设置默认数据库

将所有丢失了默认数据库的用户(或所有用户)的默认数据库设置为master
需要sa或具有相应权限的正常用户登录

--邹建 2005.02(引用请保留此信息)--*/

/*--调用示例

exec p_defaultdb
--*/
create proc p_defaultdb
@defaultdb sysname=N'master', --默认数据库名
@setalluser bit=0 --为1,设置所有用户;非1,仅处理丢失了默认数据库的用户
as
if db_id(@defaultdb) is null set @defaultdb=N'master'
declare @s nvarchar(1000)
declare tb cursor local
for
select N'sp_defaultdb N'+quotename(loginname,N'''')+',N'+quotename(@defaultdb,'''')
from master.dbo.syslogins a
where @setalluser=1 or not exists(
select * from master.dbo.sysdatabases where name=a.dbname)
open tb
fetch tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch tb into @s
end
close tb
deallocate tb
go
zjcxc 元老 2006-04-19
  • 打赏
  • 举报
回复
解决的方法:
用sa一类的管理员登录, 为该用户改回默认数据库即可:
sp_defaultdb '登录名(用户名)', 'master'
zjcxc 元老 2006-04-19
  • 打赏
  • 举报
回复
可能的原因:
楼主为登录企业管理器的用户设置了master外的默认数据库(假设为a), 而且在修改默认数据库之前把这个数据库a给删除了.

则登录时就会出这个错误.

zjcxc 元老 2006-04-19
  • 打赏
  • 举报
回复
4061 11 无法打开登录(%1!)中请求的数据库及用户默认数据库。将改为使用 master 数据库。
jiaojian843 2006-04-19
  • 打赏
  • 举报
回复
是不是把数据库的端口给关闭了。
新鲜鱼排 2006-04-18
  • 打赏
  • 举报
回复
默认数据库离线或不可用

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧