Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Microsoft SQL Server,错误916_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Microsoft SQL Server,错误916

Microsoft SQL Server,错误916,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我正在使用Microsoft SQL Server 2012 Management Studio Express。我已分离我的一个数据库(它在我的office server中),并且.mdf和.ldf文件保存到MSSQL文件夹(在我的本地服务器上)。当我分离数据库时,它说我的连接(希望服务器)无法分离数据库。然后,我在分离模式下选择了drop connections选项 现在,当我尝试连接数据库时,它不允许我连接。单击“添加”按钮时,我没有浏览文件夹的选项。下面显示错误消息 检索此请求的数据失败

我正在使用Microsoft SQL Server 2012 Management Studio Express。我已分离我的一个数据库(它在我的office server中),并且
.mdf
.ldf
文件保存到
MSSQL
文件夹(在我的本地服务器上)。当我分离数据库时,它说我的连接(希望服务器)无法分离数据库。然后,我在分离模式下选择了drop connections选项

现在,当我尝试连接数据库时,它不允许我连接。单击“添加”按钮时,我没有浏览文件夹的选项。下面显示错误消息

检索此请求的数据失败。(Microsoft.SqlServer.Management.Sdk.Sfc)

其他信息:

执行Transact-SQL语句或批处理时发生异常。(Microsoft SQL server.connectionInfo)

服务器主体“我的用户名”无法在当前安全上下文下访问数据库“模型”。(Microsoft SQL server,错误:916)


我该怎么办?请帮帮我

实际的attach语句没有问题,而是设置向导UI(这是一个很遗憾的问题)。改为使用T-SQL连接数据库:

create database MyDatabase 
on 
    (filename = 'c:\Data\mydatabase_data.mdf'), 
    (filename = 'c:\Data\mydatabase_log.ldf') 
for attach; 
您最好始终使用T-SQL而不是SSMS向导。或者使用向导编写操作脚本并在查询窗口中执行

另外,检查模型上的权限有什么问题。使用此查询查看是否存在任何
DENY

use model;
go

select 
    user_name(p.grantee_principal_id),
    dp.principal_id,
    dp.type_desc as principal_type_desc,
    p.class_desc,
    object_name(p.major_id) as object_name,
    p.permission_name,
    p.state_desc as permission_state_desc
from sys.database_permissions p
inner join sys.database_principals dp
on p.grantee_principal_id = dp.principal_id
where p.state_desc = 'DENY'

要解决这个问题。。。按照给定的步骤操作。 (1) 启动sqlserver并登录 (2) 按“F7”或单击“查看->对象资源管理器详细信息”打开“对象资源管理器详细信息”窗口。 (3) 您将在那里看到列标题。。如“名称”、“策略运行状况”、“恢复模型”、“排序规则”等。 (4) 右键单击标题并取消选择“排序规则”。
(5) 现在刷新数据库文件夹。您将获得所有数据库列表

这篇文章可能对你有帮助,你是用哪个用户登录的?我用我的用户名和管理员用户名都试过了。但两者都给出了相同的结果。一旦我使用“创建数据库”工具,它会给我以下错误消息。“在数据库“主控”中拒绝创建数据库权限。一旦我检查模型的权限,它会给出以下消息。”服务器主体“我的用户名”无法在当前安全上下文下访问数据库“模型”。“一旦我使用您的“创建数据库”工具,它将向我发送此错误消息。“在数据库“主”中拒绝创建数据库权限。一旦我检查模型的权限,它将发送以下消息。”服务器主体“我的用户名”无法在当前安全上下文下访问数据库“模型”。使用sysadmin帐户登录。即使使用admin帐户,结果也是一样的。我观察到,当我试图右键单击系统数据库来检查系统数据库属性时,只有“model”数据库没有打开属性窗口。当我点击properties时,它会显示这个错误消息:916真奇怪,根据定义,系统管理员帐户没有针对任何对象、任何操作检查权限。这就是为什么您不能
向sysadmin拒绝任何内容。