Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2) --这是我的数据库版本问题是:我在远程用SMSS登录的时候是可以看到public 但在服务器上用SSMS登录的时候就看不到?
你运行一下这个看看,有没有: select * from sys.server_principals p where name = 'public'
--楼主高人,真是这么回事,用脚本查就要以查到public 这个角色,但在可视化视图上就不行。 Microsoft SQL Server Management Studio 9.00.1399.00 --这是服务器上ssms版本 Microsoft SQL Server Management Studio 10.0.1600.22 ((SQL_PreRelease).080709-1414 ) --这是我机器上的ssms版本
你能远程看的话证明肯定存在,只是SSMS没显示
经过对两个ssms在查看服务器角色所产生的脚本对比 SELECT 'Server[@Name=' + quotename(CAST(serverproperty(N'Servername') AS sysname),'''') + ']' + '/Role[@Name=' + quotename(r.name,'''') + ']' AS [Urn], r.name AS [Name] FROM sys.server_principals r WHERE ( r.type ='R' ) ORDER BY [Name] ASC SELECT r.name AS [Name], 'Server[@Name=' + quotename(CAST(serverproperty(N'Servername') AS sysname),'''') + ']' + '/Role[@Name=' + quotename(r.name,'''') + ']' AS [Urn] FROM sys.server_principals r WHERE ( r.type ='R' and r.name != N'public' ) ORDER BY [Name] ASC发现在一个版本上限制了显示public 角色。所以在可视化视图上看不到,真不知道微软为什么这么做,用意是什么呢????????
你运行一下这个看看,有没有:
select *
from sys.server_principals p
where name = 'public'
Microsoft SQL Server Management Studio 9.00.1399.00 --这是服务器上ssms版本
Microsoft SQL Server Management Studio 10.0.1600.22 ((SQL_PreRelease).080709-1414 ) --这是我机器上的ssms版本
SELECT
'Server[@Name=' + quotename(CAST(serverproperty(N'Servername') AS sysname),'''') + ']' + '/Role[@Name=' + quotename(r.name,'''') + ']' AS [Urn],
r.name AS [Name]
FROM
sys.server_principals r
WHERE
(
r.type ='R'
)
ORDER BY
[Name] ASC
SELECT
r.name AS [Name],
'Server[@Name=' + quotename(CAST(serverproperty(N'Servername') AS sysname),'''') + ']' + '/Role[@Name=' + quotename(r.name,'''') + ']' AS [Urn]
FROM
sys.server_principals r
WHERE
(
r.type ='R' and r.name != N'public'
)
ORDER BY
[Name] ASC发现在一个版本上限制了显示public 角色。所以在可视化视图上看不到,真不知道微软为什么这么做,用意是什么呢????????