【问题标题】:The SELECT permission was denied on the object 'sysaltfiles', database 'mssqlsystemresource', schema 'sys'对象“sysaltfiles”、数据库“mssqlsystemresource”、模式“sys”的 SELECT 权限被拒绝
【发布时间】:2013-07-19 06:00:28
【问题描述】:

这是我试图在我的 SQL Management Studio 2008 R2 上运行的查询:

USE master
GO
if exists (select * from sysdatabases where name='Northwind')
    drop database Northwind
go

DECLARE @device_directory NVARCHAR(520)
SELECT @device_directory = SUBSTRING(filename, 1, CHARINDEX(N'master.mdf', LOWER(filename)) - 1)
FROM master.dbo.sysaltfiles WHERE dbid = 1 AND fileid = 1

EXECUTE (N'CREATE DATABASE Northwind
 ON PRIMARY (NAME = N''Northwind'', FILENAME = N''' + @device_directory + N'northwnd.mdf'')
 LOG ON (NAME = N''Northwind_log'',  FILENAME = N''' + @device_directory + N'northwnd.ldf'')')
go

exec sp_dboption 'Northwind','trunc. log on chkpt.','true'
exec sp_dboption 'Northwind','select into/bulkcopy','true'
GO

这是我的屏幕上出现的完整错误:

 The SELECT permission was denied on the object 'sysaltfiles', database 'mssqlsystemresource', schema 'sys'.
Msg 262, Level 14, State 1, Line 1
 CREATE DATABASE permission denied in database 'master'.
Msg 15010, Level 16, State 1, Procedure sp_dboption, Line 64
 The database 'Northwind' does not exist. Supply a valid database name. To see available databases, use sys.databases. 

 Msg 15010, Level 16, State 1, Procedure sp_dboption, Line 64
The database 'Northwind' does not exist. Supply a valid database name. To see available databases, use sys.databases. 

看起来权限被搞砸了。但我不知道该怎么做。非常感谢您提供详细解释并提供分步指导的答案。谢谢!

【问题讨论】:

  • 以具有sysadmin 服务器角色的用户身份登录,例如如果您的服务器配置为 SQL Server 身份验证模式,则为 sa

标签: sql sql-server-2008 ssms


【解决方案1】:

输入所有域名到数据源的连接字符串...data source=dbname.doma.main.local

【讨论】:

    猜你喜欢
    • 2010-12-01
    • 1970-01-01
    • 2013-01-10
    • 2018-04-17
    • 2011-03-27
    • 1970-01-01
    • 2010-11-14
    • 2010-09-25
    • 2014-02-06
    相关资源
    最近更新 更多