Maa*_*anu 32 sql-server sql-server-2005
我使用以下脚本来附加数据库.但是创建的数据库是只读的.
我应该在脚本中进行哪些修改才能使其成为读写.请帮我.
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
Run Code Online (Sandbox Code Playgroud)
Var*_*ore 84
首先确保.mdf文件所在的文件夹不是只读的.如果是,请取消选中该选项并确保它反映到该文件夹中的文件夹和文件.
完成后,打开Management Studio,在对象资源管理器中右键单击只读的数据库,然后选择"属性".在"选项"菜单中,检查"只读"属性是否为false.

Xav*_*nas 16
确保文件是可写的(不是只读的),并且您的用户对它们具有写入权限.
此外,在最新的系统上,Program Files目录是只读的.尝试将文件放在另一个目录中.
Gil*_*Gat 13
打开数据库属性 - >选项并将Database read-only设置为False.
诀窍对我来说......
如果您有权访问服务器文件/文件夹,您可以尝试这个适合我的解决方案:
Windows Server 2008 R2上的SQL Server 2012
小智 8
您需要更改数据库文件夹的权限:属性 - >安全选项卡 - >编辑... - >添加... - >用户名"NT服务\ MSSQL $ SQLEXPRESS"或"NT服务\ MSSQLSERVER".关闭窗口,打开高级...,双击用户并按如下所示进行设置:键入:允许适用于:此文件夹,子文件夹和文件基本权限:all确保所有者也已设置.