Login.EnumDatabaseMappings returns null unexpectedly
Ninguém assumiu esta issue ainda.
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Create a login on the server using SQL Authentication
Create a user in a database for that login
call Login.EnumDatabaseMappings.
It should return a collection with 1 entry at least, but sometimes it returns null.
var login = new Login(db.Parent, GenerateUniqueSmoObjectName("login"))
{
LoginType = LoginType.SqlLogin,
};
var pwd = Guid.NewGuid().ToString();
login.Create(pwd);
var credential = new Credential(db.Parent, GenerateUniqueSmoObjectName("login")) { Identity = "someidentity" };
var dbUser = db.CreateUser("loginUser", login.Name);
// this assert can fail
Assert.That(login.EnumDatabaseMappings()?.Select(m => m.DBName), Has.Member(db.Name), "login.EnumDatabaseMappings");
This is the query:
create table #loginmappings( LoginName sysname NULL, DBName sysname NULL, UserName sysname NULL, AliasName sysname NULL )
declare @db_name nvarchar(512)
declare crs cursor local fast_forward
for ( select name from sys.databases where 1 = has_dbaccess(name))
open crs
fetch crs into @db_name
while @@fetch_status >= 0
begin
set @db_name = quotename(@db_name)
exec('use ' + @db_name + ' INSERT #loginmappings select suser_sname(u.sid), db_name(), u.name, null from sys.database_principals AS u where suser_sname(u.sid) is not null')
fetch crs into @db_name
end
close crs
deallocate crs
SELECT
logmap.LoginName AS [LoginName],
logmap.DBName AS [DBName],
logmap.UserName AS [UserName]
FROM
sys.server_principals AS log
INNER JOIN #loginmappings AS logmap ON logmap.LoginName=log.name
WHERE
(log.type in ('U', 'G', 'S', 'C', 'K', 'E', 'X') AND log.principal_id not between 101 and 255 AND log.name <> N'##MS_AgentSigningCertificate##')and(log.name='login_Login_apis_work_correctly824ead3d-8f57-4c48-9f19-59c8dd560808')
drop table #loginmappings
- Linguagem predominante
- C#
- Estrelas
- 143
- Forks
- 28
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoft/sqlmanagementobjects
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 74/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 78/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
Todas as issues de microsoft/sqlmanagementobjects
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
bug needs response
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Adyen/adyen-dotnet-api-library#1869 ·
-
Status: Needs Triage Type: Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
-
bug effort:S P3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
nightscout/nocturne#1602 ·