在Master DB中:
CREATE LOGIN Test_Admin
WITH PASSWORD = 'xxxx';
GO
CREATE USER Test_Admin
FOR LOGIN Test_Admin
WITH DEFAULT_SCHEMA = [guest]; --want to grant minimum access rights
GO
在目标数据库中:
CREATE USER Test_Admin
FOR LOGIN Test_Admin
WITH DEFAULT_SCHEMA = [dbo];
GO
但是,我无法通过SQL下面搜索dbo的现有表:
SELECT * FROM INFORMATION_SCHEMA.TABLES
为什么以及如何看到dbo的表?
您在主数据库中创建用户,并且您希望用户Test_Admin可以访问目标数据库,对吗?
如果要执行此操作,则需要通过加入数据库角色为数据库用户授予“db_owner”权限。
您可以像这样修改代码并重试:
在Master DB中:
CREATE LOGIN Test_Admin
WITH PASSWORD = 'xxxx';
GO
CREATE USER Test_Admin
FOR LOGIN Test_Admin
WITH DEFAULT_SCHEMA = [guest]; --want to grant minimum access rights
GO
EXEC sp_addrolemember 'db_owner', 'Test_Admin'
在目标数据库中:
CREATE USER Test_Admin
FOR LOGIN Test_Admin
WITH DEFAULT_SCHEMA = [dbo];
GO
EXEC sp_addrolemember 'db_owner', 'Test_Admin'
GO
希望这可以帮助。