本人在 SQL Server 2005中用如下语句创建了一个SQL Server 认证登录用户:create login nst
with password='123'然后利用这个新建的登录名nst登录SQL系统没问题,而且可以访问系统的数据库,但就是怎么也访问不到用户自己建立的数据库,后来我把语句修改了下,重新加上默认访问的数据库:alter login nst
with default_database=new(用户已经建立的数据库)这样重新登录还是访问不了用户自己建立的数据库,
我就纳闷了:在默认情况下,每个数据库创建的时候就包含一个guest用户的,这样可以在不为SQL Server 认证登录用户创建或关联一个数据库用户的情况下就可以访问有guest用户的数据库,我也查看了我自己建立的数据库里都有guest这个用户名存在,为什么我新建的登录名却不能默认用guest用户去访问这些自己建立的数据库呢?请各位指点下,谢谢了
with password='123'然后利用这个新建的登录名nst登录SQL系统没问题,而且可以访问系统的数据库,但就是怎么也访问不到用户自己建立的数据库,后来我把语句修改了下,重新加上默认访问的数据库:alter login nst
with default_database=new(用户已经建立的数据库)这样重新登录还是访问不了用户自己建立的数据库,
我就纳闷了:在默认情况下,每个数据库创建的时候就包含一个guest用户的,这样可以在不为SQL Server 认证登录用户创建或关联一个数据库用户的情况下就可以访问有guest用户的数据库,我也查看了我自己建立的数据库里都有guest这个用户名存在,为什么我新建的登录名却不能默认用guest用户去访问这些自己建立的数据库呢?请各位指点下,谢谢了
create login qq with password='qq',check_policy=off
--无法访问AdventureWorks数据库alter login qq with default_database=AdventureWorks
--这时其实是无法登录的,因为qq在AdventureWorks没有对应用户use AdventureWorks
create user qq for login qq
---虽然登录了,却没有权限,因此需要进行授权use AdventureWorks
exec sp_addrolemember 'db_owner','qq'
--现在就可以正常使用了。
GO--建立登陆用户
CREATE LOGIN [saa] WITH PASSWORD=N'saa', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO --- 对用户给予某个数据库读写权限
USE [size]
GO
CREATE USER [saa] FOR LOGIN [saa] 在数据库中创建这个用户
GO
USE [size]
GO
EXEC sp_addrolemember N'db_datareader', N'saa' -- 赋予只读权限
GO
USE [size]
GO
EXEC sp_addrolemember N'db_datawriter', N'saa' -- 赋予写权限
GO
那个默认建库的时候就有的guest用户还有什么用?不是可以默认利用guest用户访问数据库吗?
这个我知道,我只想知道为什么不能用gues访问而已啦,原来是没有开启,现在不知道怎么开启,请指教,呵呵