Server'da sysadmin rolüne kullanıcı eklenemiyor


9

SQL Server 2008 Management Studio kullanıyorum. Geçerli oturum açma hesabı, makine yerel yönetici grubuna aittir. SQL Server 2008'de Windows Tümleşik Güvenlik modunu kullanıyorum.

Benim sorunum, SQL Server Management Studio'da oturum açtıktan sonra, Güvenlik / Oturum Açma altında oturum açma adımı seçiyorum, ardından Sunucu Rolleri Sekmesini seçiyorum, sonra son öğeyi seçiyorum - kendimi bu gruba / role ait yapmak için sysadmin yeterli izniniz yok. Yanlış olan herhangi bir fikir var mı? Yerel yöneticinin her şeyi yapabilmesi gerektiğini düşünüyorum. :-)


microsoft bu sorunla ilgili şunları sağlar: msdn.microsoft.com/en-us/library/dd207004.aspx Bu komut dosyasını önerebilirim: archive.msdn.microsoft.com/addselftosqlsysadmin/Release/…

Yanıtlar:


6

İzinleri ayarlamaya çalıştığınız oturumun oturum açma izni olmalıdır.

Yani, kullandığınız giriş yerel bir yönetici mi? Bu, yerel yönetici grubunun yeterli haklara sahip olmadığı anlamına gelir.

GUI bunu da sp_addsrvrolemember çalıştıracaktır . Her ne kadar bu söylese de

Yeni üyenin eklendiği role üyelik gerektirir.

Bu nedenle, yerel yönetici grubu sysadmin üyesi değildir.

Düzenle:

Çözmek için: Hakları olan bir oturum açma adı kullanın. sp_helpsrvrolemember kullanarak birini bulabilirsiniz


Sorunumu çözmek için tavsiyeniz nedir?
George2

Tüm SQL Server 2008'i yeniden yüklemeden herhangi bir çözüm veya çözüm olup olmadığından emin değilsiniz! :-(
George2

"Hakları olan bir giriş kullanın" - yeterli izne sahip girişlerin listesini nasıl alabilirim?
George2

Teşekkürler, ben EXEC sp_helpsrvrolemember 'sysadmin' listelenen tek üye sa denir bulmak, bir Windows kullanıcısı mı? Windows Kullanıcıları listesinden böyle bir kullanıcı bulamıyorum. Herhangi bir fikir?
George2

1
Windows kullanıcısı değil, ayrılmış bir SQL girişi. Test SQL 2008 kurulumumda, SQL Server'ı yükleyen hesap listelenir.
gbn

4

Aksi takdirde iyi bir makalede Sorun Giderme: Sistem Yöneticileri Kilitli Değilken SQL Server'a Bağlanma , yazar bize SQL Server'ımızın kontrolünü yeniden kazanmak için tek yapmamız gereken

"SQL Server örneğini -m veya -f seçeneklerini kullanarak tek kullanıcı modunda başlatın. Bilgisayarın yerel Administrators grubunun herhangi bir üyesi, SQL Server örneğine sysadmin sabit sunucu rolünün bir üyesi olarak bağlanabilir. "

Ne yazık ki, tek kullanıcı modunda başlamanın anlamı sezgisel bir mesele değildir. Ayrıca, en azından tecrübelerime göre, bilgisayarımın yerel Yönetici grubuna üyelik "kullanıcı" hesabıma sysadmin durumu vermedi.

Bu hikaye, DC olmayan bir sunucu (alan adı değiştirmenin bir sonucu olarak) alan adımdaki üyelik sorununu ele almaya başladığında, DC'yi 2008'den itibaren Windows Server 2008 R2'ye yeniden kurdum. Bu birkaç küçük sorunu çözdü, ancak çözmedi hatalı sunucu tarafından üyelik sorunu. Bunu gerçekleştirmek için ServerFault'da önerilen bir düzeltme aldı (benim durumumda, winsock ve tcpip'i sıfırlama meselesiydi).

SQL Server 2008, şimdi etki alanının üyesi olan ikinci sunucuda bulunmaktadır. Sorun burada. Birisi ServerFault üzerinde belirttiği gibi, Server 2008'i yüklerken "geçerli kullanıcının sysadmin olmasına izin ver" seçeneğine basmak yaygındır. Bu tek kullanıcı kimliği, artık var olmayan bir etki alanının etki alanı üyesi olduğundan, hiç kimsenin Sql Server'ı yönetme izni yoktu.

Sql Server kurulduğunda etrafta olan yerel sunucu yöneticisi olarak oturum açtım, ancak bu, Management Studio'ya erişmeme izin verse de, BUILTIN \ Administrators'ın yalnızca "genel" sunucu rolüne sahip olduğunu çabucak keşfettim.

Çok fazla araştırma ve denemeden sonra, tek kullanıcılı oturum açma özelliklerini veren bir makaleye rastladım http://technet.microsoft.com/en-us/library/ms180965.aspx :

C:\>cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn 
C:\...>sqlservr.exe -m

Bu adımı atmaya hazırlanmak için, Sql Server'ı kapatmalısınız (çoğu durumda varsayılan olarak çalışır). SQL Server Manager "Sql Server" durdurmak için kullanın.

Ardından, komut isteminde, o program dosyasının konumuna (veya makinenizdeki eşdeğerine) gidin ve "sqlservr.exe -m" komutunu verin. Komut isteminizde günlüğe kaydedilen bir etkinlik akışı görürseniz başarılı olursunuz. Başlatılamazsa, muhtemelen SQL Server zaten çalışıyor demektir. Kapa çeneni.

Tek kullanıcılı örneğin veritabanlarını eklemesine izin verin. Günlük etkinliği sona erdiğinde, Management Studio'yu açın. Otomatik olarak tek kullanıcı modunda olacaksınız ve bu nedenle temsil ettiğiniz herhangi bir hesap bir sistem yöneticisi olacaktır. Güvenlik girişlerini ve sunucu rollerini ayarlamak için bu gücü kullanın.

Benim durumumda, yeni etki alanındaki etki alanı hesaplarını yeniden oluşturmak, sonra SQL Server'daki adlarını silmek ve bunları (SID / GUID durumu nedeniyle) yeniden yapılandırmak, gerektiğinde belirli veritabanlarına izinleri yeniden atamak zorunda kaldım.


Parametreleri ayarlamanın başka bir yolu daha vardır: hizmeti, yöneticiyi açın, hizmeti seçin ve sağ tıklama menüsünden özellikler. Genel sekmesinde "Başlangıç ​​parametreleri" düzenlemesi vardır. Gerekli parametreleri buraya yazın. Ardından , o sayfadaki başlat düğmesini kullanarak hizmeti başlatın , orada ayarlanan parametreler kalıcı ve geçerli değil, yalnızca özellikler Özellikler iletişim kutusundan başlatıldığında geçerli değildir.
ldsandon

3

SQL Server 2008 artık BUILTIN \ Administrators'ı sysadmin sabit sunucu rolünün üyeleri olarak eklemiyor

Doğru, ancak bu durumda SQL Server Hizmeti'ni Tek Kullanıcı Modunda (acil durum modu) başlatarak kurtarabilirsiniz ve herhangi bir yerel yönetici oturum açabilecektir.

Bkz. MSDN .


2

Varsayılan olarak SQL, sysadmin rolüne BUILTIN \ Administrators grubunu ekler; bu, tüm yerel NT yöneticilerinin otomatik olarak bir SQL sysadmin olduğu anlamına gelir. Vista'da, UAC nedeniyle, bu ayrıcalıktan yararlanmak için 'Yönetici olarak' modunda çalışmanız gerekir.

  • Vista'daysanız, istemci aracını (SSMS) 'yönetici olarak' çalıştırın ve kendinizi bir sistem yöneticisi olarak eklemeyi deneyin.
  • BUILTIN \ Administrators grubu yanlışlıkla sysadmin rolünden kaldırıldıysa, başka bir sysadmin girişiyle oturum açmanız gerekir. Başka bir sysadmin girişi yoksa, sa olarak SQL kimlik doğrulaması ile giriş yapmalı ve kurulum sırasında belirlenen sa parolasını kullanmalısınız. Sysadmin üyesi olarak giriş yaptıktan sonra, reklam BUILTIN \ Admisnitrators sysadmin rolüne geri döner. SQL girişleri devre dışı bırakılırsa tebrik edilir, kendinizi SQL kurulumundan kilitlersiniz.
  • BUILTIN \ Administrators grubu kasıtlı olarak sysadmin rolünden kaldırılmışsa ( KB932881'e göre ), izniniz olmayan sisteme saldırmaya çalışıyorsunuz demektir.

Merhaba Remus, kurulum işlemi sırasında sa için herhangi bir passowrd kurmuyorum, varsayılan bir şifre var mı?
George2

Başka bir karışıklık, sp_helpsrvrolemember mağaza yordamını çalıştırmaktan tüm sysadmin rol kullanıcılarını bulmak için, sadece sa listelenir, yerel makine yöneticisi grubundan başka hiçbir kullanıcı, herhangi bir fikir neden?
George2

Sa için varsayılan bir şifre yoktur. Karma kimlik doğrulaması etkinse, sa'nın parolası kurulum sırasında ayarlanır. Gerekirse, veritabanınızın yöneticisinden size erişim vermesini istemeniz gerekir.
Remus Rusanu

"SQL oturum açma özelliği devre dışı bırakılmışsa tebrik edersiniz, kendinizi SQL kurulumundan kilitlersiniz." Bu durumda, SQL Server'ı Tek Kullanıcı Modunda başlatmak için Jordi'nin cevabına bakınız.
Michiel van Oosterhout

1

Varsayılan olarak, SQL Server 2008 artık BUILTIN \ Administrators'ı sysadmin sabit sunucu rolünün üyeleri olarak eklemez. Yükleyiciye baktığınızda, hangi hesabın veya hesapların sysadmin hakları olması gerektiğini sorar. Temelde "beni bir sysadmin yap" yazan bir düğme var ve bu da kurulumu yapan kullanıcının hesabını sysadmin olarak ekleyecektir.

Sysadmins olarak başka bir kullanıcı eklemediylerse, yalnızca o kullanıcı şu anda bir sysamdin'dir. Bu kişinin SQL Server'da oturum açması ve DBA'lara sistem yöneticisi hakları vermesi gerekir.


0

SQL Server 2008'de sunucuyu kaydedene kadar yeni bir kurulumdan sonra aynı sorunu çözdüm, sonra her şey olması gerektiği gibi gitti

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.