SQL Server 2012'yi kullanıcı hesabımdaki dosyaları geri yükleyebilecek ve görebilecek şekilde nasıl yapılandırırım?


10

Bilgisayarımda bir hizmet olarak çalışan bir SQL Server 2012 örneği var ve hizmet sayfasına göre "NT hizmeti \ MSSQLSERVER" hesabı olarak oturum açar . Ancak, bu hesap adını bilgisayar yönetimi ekranındaki "Yerel Kullanıcılar ve Gruplar" alanı da dahil olmak üzere başka hiçbir yerde göremiyorum, çünkü aşağıdaki bağlantıda belirtildiği gibi, bu bir Kullanıcı Hesabı değil, bir hizmet adı, bu kutuda Microsoft çok yararlı "hesap" etiketli. Bu noktada birçok insanın kafası karıştığını görebiliyorum.

Gerçekleştirmeye çalıştığım görev, muhtemelen "uzak" bir iş yapıyor ve işletim sisteminden çalıştığı için, standart windows dosyası açık iletişim kutularından tamamen farklı bir iletişim kutusu kullanan SSMS iletişim kutusu "Yedekleme Dosyasını Bul" özelliğini kullanarak dosyaları geri yüklemektir. güvenlik bağlamı SQL Server'ın son kullanıcı karışıklığının bir başka zengin kaynağı, bu sorunun temizlenmesine yardımcı olabileceğini umuyorum.

Şimdiye kadar, klasörlerimden birinde bulunan bir yedek .mdf / .bak dosyasını geri yüklemek istersem, bu klasörü Herkes tarafından okunabilir olarak ayarlamalıyım yoksa SQL Server "Yedeği Bul Dosya "penceresi. Sizden farklı kullanıcı hesapları ve hakları olan bir hizmetle konuşan bir GUI kullandığınızı, Microsoft'ta hiç kimsenin size açıklık getirmediğini, Windows sistem yönetimi konusunda yılların deneyimine sahip olduğumda bile çok kafa karıştırıcı olduğunu düşündüğüm bu fikri buldum .

Yeni bir SQL sunucusu örneği yükledikten sonra güvenliği nasıl kurabileceğinizi söyleyen SQL Server için bazı belge sayfalarını kaçırdığımı umuyorum.

Gibi forum gönderileri bu bir "bu karmaşık" diyerek hatta Microsoft çalışanları var ve bu Denali "yine değişti" söyledi. Bu şimdi SQL Server 2012'de nasıl çalışır ve SQL Veritabanı altyapısının güvenliğine Kullanıcılara ait dosyaları okuma izni nasıl ekleyebilirim SID.


SQL'in standart iletişim kutusunu kullanmamasının nedeni, SQL'in okuyamadığı bir dosyayı seçememenizdir. Güvenliği nasıl yapılandıracağınıza gelince, SQL'in altında çalıştığı hesabı değiştirmeye açık mısınız veya şu anda olduğu gibi bırakmak istiyor musunuz? Servis hesabını değiştirmek uygunsa, bunun bakımı kolaydır. Adlandırılmış hesapları kullanıyoruz, bu nedenle yardımcı olması için genel MSSQLSERVER hesabıyla test yapamıyorum.
cfradenburg


Herkes geliştirme sırasında SQL Server'larını normal bir kullanıcı kimliğiyle çalışacak şekilde değiştirirse, bu "en iyi uygulama" olabilir. Sadece bunun iyi bir fikir olup olmadığını merak ediyorum. Eğer eklemem gereken klasörlere manuel olarak "NT Service \ MSSQLSERVER" eklenmesi standart bir fikirse, sanırım bu en mantıklı minimal düzeltme olurdu, değil mi? Wot keşke SQL sunucusu SSMS UI bu gizli "NT Server \ xxx" hesap kimliğine bağlanmak biraz daha kolay olmasıdır.
Warren P

Yanıtlar:


5

Başvuru için "Denali" SQL Server 2012'dir. "Son kullanıcı karışıklığı" ile ilgili olarak, ben bir son kullanıcının SSMS ile ilgili karışık olup olmadığını endişe değilim. Microsoft bu aracı normal son kullanıcı için değil, veritabanı yöneticisi ve / veya bir veritabanını yönetmek zorunda olan bir kullanıcı için geliştirmedi. Bu nedenle, sağlanan araçlar ve bunların nasıl çalıştığı ile ilgili bir öğrenme eğrisi olacaktır. SSMS, SQL Server 2005 ile çıktığından beri dosya iletişim kutusu SSMS'de bu şekilde olmuştur. Bu nedenle, o zamandan beri kullanmakta olan bir veritabanını yedeklemek, geri yüklemek veya eklemek için T-SQL ifadelerinin çoğunu genel olarak göreceksiniz. .

SQL Server ile yapılandırmak dosya sistemi izinleri için, MSDN'den talimatları izleyebilirsiniz burada .

Hizmet hesaplarının işlenme şekli SQL Server ile birlikte gelmedi veya işletim sistemi düzeyindeki değişiklikten kaynaklanıyordu. Windows Server 2008 R2, hizmet hesaplarının etrafına biraz daha güvenlik katmanı koydu. Avantajınız, hizmet hesabının varsayılan ayarlarla yüklenmiş olsa bile bir alandaki kaynaklara daha kolay erişebilmesidir. Bu bağlantı , SQL Server 2012 ile hizmet hesabı izinlerinin nasıl ele alındığına dair oldukça ayrıntılı bir görünüm sağlar. Bağlantıdan alıntı, SQL Server 2012'de varsayılan olarak kullanılan Sanal Hesaplar altındadır. Ayrıca makalede sağlanan daha fazla bağlantı içeren bir bağlantı da vardır. Windows ile Hizmet Hesabı kavramı hakkında tartışma, burada. Window Server 2008 R2'den geliyor, ancak Window Server 2012'de ve muhtemelen Windows Server 2012 R2'de hala geçerli olduğuna inanıyorum.

Sanal Hesaplar

Windows Server 2008 R2 ve Windows 7'deki sanal hesaplar, hizmet yönetimini basitleştirmek için aşağıdaki özellikleri sağlayan yönetilen yerel hesaplardır. Sanal hesap otomatik olarak yönetilir ve sanal hesap bir etki alanı ortamında ağa erişebilir. Windows Server 2008 R2 veya Windows 7 üzerinde SQL Server kurulumu sırasında hizmet hesapları için varsayılan değer kullanılırsa, NT SERVICE \ biçiminde hizmet adı olarak örnek adını kullanan sanal bir hesap kullanılır. Sanal hesap olarak çalışan hizmetler, bilgisayar hesabının kimlik bilgilerini \ $ biçiminde kullanarak ağ kaynaklarına erişir. SQL Server'ı başlatmak için bir sanal hesap belirtirken, parolayı boş bırakın. Sanal hesap Hizmet Asıl Adını (SPN) kaydettiremezse, SPN'yi el ile kaydedin. SPN'yi el ile kaydetme hakkında daha fazla bilgi için bkz. Kerberos Bağlantıları için Hizmet Asıl Adı Kaydetme. Not Not Sanal hesap, kümenin her düğümünde aynı SID'ye sahip olmayacağından SQL Server Yük Devretme Kümesi Örneği için kullanılamaz.

Aşağıdaki tabloda sanal hesap adlarına örnekler verilmektedir.

Veritabanı Altyapısı hizmetinin varsayılan örneği: NT SERVICE \ MSSQLSERVER PAYROLL adlı bir Veritabanı Altyapısı hizmetinin adlandırılmış örneği: NT SERVICE \ MSSQL $ PAYROLL SQL Server'ın varsayılan örneğinde SQL Server Aracı hizmeti: NT SERVICE \ SQLSERVERAGENT adlı SQL Server örneği: NT SERVICE \ SQLAGENT $ PAYROLL


3
Son kullanıcı olarak, bazıları çeşitli disiplinlerde oldukça profesyonel ve teknik olarak yetkin, ancak DBA OLMAYAN onlarca kategoriden herhangi birini kastediyorum. Şahsen, DBA'ların bile bu araçtaki kullanıcı arayüzünün iyileştirilmesini sağlayacağını düşünüyorum. Sağlam üçüncü taraf araç pazarı, SSMS'nin ücretsiz olmasına rağmen tamamen fiyat değerinde olduğunu gösteren başka bir göstergedir.
Warren P

1
2017'de daha iyi olmamıştı. Yani kısa cevap "asla daha iyi olmayacak, nasıl çalıştığını öğrenecek, ancak kullanıcı arayüzü kötü tasarlanmış."
Warren P


1

Aslında, SSMS aracılığıyla geri yükleme yapmaya çalışırsanız ve Windows Kimlik Doğrulaması (!) İle oturum açarsanız, bunun için izinlere ihtiyaç duyan Windows hesabınız (ve herkes de değil) olacaktır - SQL Server Hizmeti DEĞİL Bu karışıklığı giderir umarım Hizmet hesabının başka ihtiyaçları vardır.Örneğin, bir SQL Doğrulanmış Hesap aracılığıyla oturum açtıysanız - işletim sistemi hangi izinleri istemelidir? - Bu, SQL Server'ın Hizmet Hesabı olacaktır. Bu sadece SQL Server 7.0'dan beri değişmedi ve muhtemelen bundan önce de değişmedi :)



Karışıklığı temizlediğinden emin değilim ... WA ile oturum açtıysanız, SQL Server hesabınızın geri yükleme izinlerine (SQL Server söz konusu olduğunda) ihtiyacı vardır, ancak SQL Server hizmet hesabının okuma izinlerine ihtiyacı vardır dosyayı açmak için dosya sisteminde .bak(açıkça belirtilmemişse, genellikle kullanıcı dizininizde bulunmuyorsa).
Bruno
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.