Tek bir içerilen veritabanı için Kullanıcı Oluşturma


9

MSSQL ile oldukça yeni çalışıyorum ve şu anda 2012 sürümüne sahibim. Ne yapmaya çalışıyorum içerdiği bir veritabanı için bir kullanıcı oluşturmak ve bu kullanıcıya yalnızca o veritabanına erişim vermek.

Bu SQL hazırlanmış bir deyim kullanarak JAVA çağıracak.

Yanıtlar:


12

SQL Server 2012'de veritabanında kimlik doğrulaması içeren bir kullanıcı oluşturmak için aşağıdakileri yapabilirsiniz:

use YourDatabase
go

create user YourContainedUser
with password = 'yourPassword'
go

Önce contained database authenticationörnekte etkinleştirildiğinden ve veritabanının kısmi içerme ile ayarlandığından emin olmanız gerekir :

exec sp_configure 'contained database authentication', 1
go
reconfigure
go

alter database YourDatabase
set containment = partial
go

Yukarıdaki komutlar yürütüldükten sonra, içerdiği kullanıcıyı CREATE USERyukarıda açıklanan ifadeyle oluşturabilmeniz gerekir .

EDIT : @AaronBertrand harika yorum ve puan:

Ayrıca bağlantı dizeniz kesinlikle kimlik bilgilerinin bir parçası olarak veritabanı adını kullanmalıdır - veritabanını belirtmezseniz, SQL Server tüm veritabanlarını kontrol edemez ve hangisinin ne anlama geldiğini anlamaya çalışmaz. Ayrıca, sınırlamanın net olmaması durumunda kodunuz veritabanları arasında sorgulama yapamaz.


Tüm yardım için teşekkürler, ben yorum yapmak için bir şey, ben Java JDBC ifadeleri ile yapmaya çalışırken. PreparedStaments kullanarak bunu yapamadım, JDBC sadece bundan memnun değildi. yani bir deyim olarak bir bitişik dize kullanılır.
imellan
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.