база данных прикреплена только для чтения - PullRequest
32 голосов
/ 19 мая 2011

Я использовал следующий скрипт для присоединения базы данных.Но созданная база данных доступна только для чтения.
Какие изменения я должен внести в скрипт, чтобы он стал доступен для чтения и записи.Пожалуйста, помогите мне.

USE [master]
GO
CREATE DATABASE [GemDatabase] ON 
( FILENAME = N'E:\Program Files (x86)\ICE Products\ICEConnect200\New Database\GemDatabase.mdf' ),
( FILENAME = N'E:\Program Files (x86)\ICE Products\ICEConnect200\New Database\GemDatabase_log.ldf' )
 FOR ATTACH
GO
if not exists (select name from master.sys.databases sd where name = N'GemDatabase' and SUSER_SNAME(sd.owner_sid) = SUSER_SNAME() ) EXEC [GemDatabase].dbo.sp_changedbowner @loginame=N'sa', @map=false
GO

Ответы [ 11 ]

0 голосов
/ 12 июня 2017

Ответ от Варуна Ратора в порядке, но вы должны учитывать, что начиная с Windows Server 2008 R2 и выше, служба SQLServer будет работать под локальной виртуальной учетной записью, а не под старой хорошо известной «СЕТЕВОЙ СЕРВИС». В связи с этим, чтобы переключить вновь подключенную БД в режим «не только для чтения», необходимо настроить разрешения для файлов ldf и mdf для пользовательской строки локального компьютера «NT SERVICE \ MSSQLSERVER», где MSSQLSERVER будет именем службы в довольно стандартном установка.

Оформить заказ https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and-permissions#VA_Desc для получения подробной информации о настройке разрешений на обслуживание

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...