2013-08-27 24 views
6

Farklı Giriş hesapları için Kullanıcı Eşlemesi komut dosyası oluşturmaya çalışıyorum. db_backupoperatorPowershell - Kullanıcı Eşlemesi SQL Server 2012

Herkes bunun nasıl yapılacağını biliyorum, kullanıcılar ve bireysel sunucu rolleri oluşturulmasını metne, ama ben, ben de Özelinde, Database Role membership ayarlamanız gerekir Powershell ile Kullanıcı Eşleme nasıl ayarlanacağını bilemiyorum Powershell ile?

enter image description here

cevap

7

giriş önceki girişimi yaptığı gibi

## Creating database user and assigning database role  

#get variables 
$instanceName = "yourInstance" 
$loginName = "testLogin" 
$dbUserName = "testUserName" 
$databasename = "tempdb" 
$roleName = "db_backupoperator" 
$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $instanceName 

#add a database mapping 
$database = $server.Databases[$databasename] 
$login = $server.Logins[$loginName] 
if ($database.Users[$dbUserName]) 
{ 
    $database.Users[$dbUserName].Drop() 
} 
$dbUser = New-Object ` 
-TypeName Microsoft.SqlServer.Management.Smo.User ` 
-ArgumentList $database, $dbUserName 
$dbUser.Login = $loginName 
$dbUser.Create() 

#assign database role for a new user 
$dbrole = $database.Roles[$roleName] 
$dbrole.AddMember($dbUserName) 
$dbrole.Alter 
+0

Soo, bu işleri oluşturulur Varsayalım. Belirtilen veritabanı için Kullanıcı Eşleştirmesini ayarlayacaktır, ancak Kullanıcı olarak dbKullanıcıAdı'na sahip olacak, benim durumumda "giriş" i istiyorum. Bu durumda, kullanıcı Grup olacak ... Kodu ekleyeceğim sahip olduğum şey için. – JMeterX

+0

Oturum açma adı ve dbUserName arasındaki fark nedir? – Demodave

+1

"AddMember" Çalışmıyor gibi gözüküyor. – Demodave

İlgili konular