Active Directory kullanıcı grubu SQL Server'da oturum açma olarak nasıl eklenir


108

Windows kimlik doğrulamasını kullanarak SQL Server'a bağlanan bir .net uygulamam var.

Uygulamada SQL Server kimlik doğrulamasını kullanamıyoruz. Projemiz için orada çok sayıda Active Directory kullanıcımız var. Bu nedenle, her AD kullanıcısı için ayrı oturum açma hesabı oluşturmak yerine, SQL Server'daki her Active Directory kullanıcısı için ayrı oturum açma hesabı oluşturmalıyız, SQL Server'da active directory kullanıcı grubunu kullanmanın herhangi bir yolu var mı?

Yanıtlar:


162

SQL Server Management Studio'da gidin Object Explorer > (your server) > Security > Loginsve sağ tıklayın New Login:

görüntü açıklamasını buraya girin

Ardından açılan iletişim kutusunda, görmek istediğiniz nesne türlerini seçin ( Groupsvarsayılan olarak devre dışıdır - işaretleyin!) Ve nesnelerinizi aramak istediğiniz konumu seçin (örneğin kullanın Entire Directory) ve ardından AD grubunuzu bulun .

görüntü açıklamasını buraya girin

Artık, tek bir AD kullanıcısı için oluşturduğunuzda olduğu gibi normal bir SQL Server Oturum Açma işlemine sahipsiniz. O yeni girişe ihtiyaç duyduğu veritabanları için izinleri verin ve başlayın!

Bu AD grubunun herhangi bir üyesi artık SQL Server'da oturum açabilir ve veritabanınızı kullanabilir.


Mysql'de yukarıdaki gibi gruplar oluşturma şansı var mı?
uzay95

2
Açıklamalı ekran görüntüleri ile çok net bir cevap için teşekkür ederiz! Keşke tüm cevaplar böyle olsaydı ...
NickG

1
@NickG: Resmi yüklemek ve yuvarlak kırmızı dikdörtgenleri eklemek için ücretsiz Paint.NET kullandım
marc_s

7
Bu benim için çalışmıyor. "UserX" in üyesi olduğu bir Windows Grubu "DataAccess" var. DataAccess grubu için bir giriş oluşturdum ve login'in kullanıcı eşlemesini bir veritabanında genel, veri okuyucu ve veri yazarı erişimine sahip olacak şekilde ayarladım. Kullanıcı oturum açamıyor. Kullanıcıyı özel olarak eklersem ve tam olarak aynı eşleme iznini atarsam, o zaman oturum açabilir. Grup için Güvenli Ortamlar> Etkili İzinler'i tıkladığımda, "Sunucu sorumlusu olarak yürütülemiyor asıl 'GrupAdı' çıkmadığından, bu türden sorumlu kişinin kimliğine bürünemez veya izniniz yok. "
Triynko

1
@Tim: kullanıcının adı - hala oturum açan kullanıcıdır - doğrudan kullanıcı olarak izin verilmemiştir - ancak izinleri olan bu grubun üyesi olarak
marc_s

21

T-SQL'i kullanabilirsiniz:

use master
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName

Bunu üretim sunucusundan test makinesine geri yüklemenin bir parçası olarak kullanıyorum:

USE master
GO
ALTER DATABASE yourDbName SET OFFLINE WITH ROLLBACK IMMEDIATE
RESTORE DATABASE yourDbName FROM DISK = 'd:\DropBox\backup\myDB.bak'
ALTER DATABASE yourDbName SET ONLINE
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO

Almanca veya Fransızca Windows olması durumunda yerelleştirilmiş hizmet adı kullanmanız gerekecektir, bkz. İngilizce olmayan bir Windows'ta bir hizmet hesabı için SQL Server oturumu nasıl oluşturulur?


Veritabanı düzeyinde oturum açma / ana alanı da ayarlamanız gerekirse, işte yararlı bulduğum
Agostino

Bunun belirli bir etkin dizin grubuna belirli bir şemaya okuma erişimi vermek için kullanılıp kullanılamayacağını merak ediyorum - sözde sql'de CREATE LOGIN ... WITH DEFAULT_SCHEMAnoktalar ... belirli bir reklam grubuna başvurmalıdır. Birkaç accountantsgrubumuz var ve "A" şemasına aktif dizin grubu erişimi vermek istiyoruz, ancak "B" ve "C" şemasına değil. Aynı şekilde "fatura" grubu yalnızca "B" şemasına erişebilmelidir. Ön uç olarak msft erişimini kullanıyoruz.
surfmuggle

0

SQL Server Management Studio'ya gidin, Security'ye gidin, Logins'e gidin ve sağ tıklayın. Bir Menü "Yeni Giriş" yazan bir düğme ile gelecektir. Orada Active Directory'den SQL Server "izinlerinize" kullanıcılar ve / veya gruplar ekleyebileceksiniz. Bu yardımcı olur umarım


0

İşte benim gözlemim. Bir grup pencereleri (AD) kullanıcı hesabı için bir oturum açma (salt okunur) oluşturdum, ancak farklı SQL sunucularında meydan okurcasına davranıyor. Kullanıcıların veritabanlarını göremediği SQl sunucularında, görünüm tanımını kontrol ettim ve ayrıca 229 hatasını önlemek için veritabanı yürütme işleminin ana veritabanına nüfuz etmesini sağladım. Bir kullanıcı için oturum açma oluşturursam bu sorunum olmaz.


Bu, bir cevap kullanmak yerine yorumlanabilirdi. Ama henüz yorum yapamazsınız. Öyleyse haha ​​yapma ^^
finnmglas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.