Mevcut bir SQL Server oturumu aynı ada sahip mevcut bir SQL Server veritabanı kullanıcısına nasıl bağlanır


124

Tek bir veritabanının bir kullanıcısını aynı ada sahip veritabanı sunucusu oturumuna bağlamak için bir SQL Server komutu var mı ?

Örneğin:

Veritabanı Sunucusu - Varsayılan Örnek
Veritabanı: TestDB

Sunucu Oturum Açma - TestUser TestDB'de
mevcut kullanıcı - TestUser

Oturumu veritabanının TestUserbir kullanıcısı yapmaya çalışırsam TestDB, "Kullanıcı, grup veya rol" zaten var.

DB kullanıcısını sunucu oturum açma bilgilerine atamanın kolay bir yolunu bilen var mı ?

Yanıtlar:


229

Yeni bir yol (SQL 2008 ve sonrası) kullanmaktır ALTER USER

ALTER USER OrphanUser WITH LOGIN = correctedLoginName;

Bu, SQL2008 başına yeni mi?
jkelley

2
SQL Server 2005'ten beri. Gratzy'nin bağlantısı aslında buna gönderme yapıyor.
gbn

Bunu az önce SQL Server 2012'de kullandım ve çalıştığını onaylayabilirim
Ubercoder

6

Sanırım öyle sp_change_users_login. Biraz zaman oldu, ama bunu veritabanlarını çıkarırken ve yeniden bağlarken yapardım.


1
SQL oturumu bir Windows kullanıcı oturumu kullanılarak oluşturulmuşsa, sp_change_users_login çalışmayacaktır - bugün bununla karşılaştım ve beni bu soruya yönlendirdim. msdn.microsoft.com/en-us/library/ms174378.aspx
Tom Miller


@liam 8 yaşında olan bu yanıta gerçekten oy verdiniz ve kabul edilen yanıta referans verdiniz, 8 yaşında, zaten kullanımdan kaldırıldığı bilgisini içeren?
Gratzy

2

sp_change_users_loginSanırım bu senaryoyu gerçekleştirmek için prosedürü kullandım .

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.