Sorun, geri yükleme orijinal sunucu örneğinden db kullanıcılarını geri getiriyor ama yeni örnek genellikle bu kullanıcı oturum açma hiçbir şey bilmiyor olmasıdır. Bunları db düzeyinde Güvenlik altında görürsünüz, ancak karşılık gelen sunucu düzeyinde girişleri yoktur.
Veritabanını geri yüklediğiniz örnekte sunucu oturum açma özellikli veritabanı kullanıcılarını yeniden bağlamanız gerekir.
Bununla ilgili birkaç yol var:
Yeni örnekte onlar için yeni girişler oluşturun. Daha sonra bunları yeni örnekte veritabanı kullanıcıları olarak kaldırmanız ve yeni giriş bilgilerini eklemeniz gerekir. Aynı giriş adlarını oluşturabildiğiniz göz önüne alındığında bu garip görünüyor, ancak SID'ler (güvenlik tanımlayıcıları) farklı olacak ve SQL'in kullanıcı kimliği için kullandığı şey budur. Bu, bir veya iki oturum açma için yeterince kolaydır.
Aynı kullanıcıları korumak ve aynı SID'leri tutmak istiyorsanız, sp_help_revlogin saklı yordamını kullanın . Gerekli saklı yordamları oluşturacak bağlantıdan kodu kopyalayın ve kullanıcıları kopyalamak istediğiniz sunucuda çalıştırın. SID'leri, şifreleri, her şeyi taşıyan aynı kullanıcıları oluşturmak için hedef sunucunuzda çalıştırabileceğiniz bir SQL komut dosyası oluşturur. Hedef örnekte yeniden bağlamanız gereken çok sayıda veritabanı kullanıcısı varsa veya kaynak örnekte bir veya daha fazla SQL Oturum Açma parolasını bilmiyorsanız, bu yöntem kullanılabilir.
EXEC sp_change_users_login 'Auto_Fix', 'User', NULL, 'password';
bunun yerine. :)