Ste*_*eam 24 sql-server ssms sql-server-2012
我正在尝试在sql server 2012中安装AdventureWorks 2012数据库.我从这个链接获得了mdf文件 - http://msftdbprodsamples.codeplex.com/releases/view/93587
这是我下载的文件的名称 - AdventureWorks2012_Database.zip
我在Windows 7 64位上做这一切.
我收到以下错误:
Attach database failed for Server 'SuperPC\SQL2012'. (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.2100.60+((SQL11_RTM).120210-1917+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Attach+database+Server&LinkId=20476
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
Unable to open the physical file "C:\Databases\AdventureWorks2012_Data.mdf". Operating system error 5: "5(Access is denied.)". (Microsoft SQL Server, Error: 5120)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=11.00.2100&EvtSrc=MSSQLServer&EvtID=5120&LinkId=20476
Run Code Online (Sandbox Code Playgroud)
Ste*_*eam 69
出现此问题的原因 - 将数据库mdf和ldf文件放在"官方"SQL Server安装文件夹之外的目录中.
方案 -
http://tryingmicrosoft.com/error-while-attaching-a-database-to-sql-server-2008-r2/
将.mdf文件和ldf文件粘贴到此目录中 - C:\ Program Files\Microsoft SQL Server\MSSQL11.SS2012\MSSQL\DATA
没有解决问题的解决方案 -
1 - 取消阻止压缩文件.还检查了mdf和ldf文件未被阻止.(步骤 - 右键单击zip文件>属性>取消阻止)

2 - 以管理员身份运行SSMS 2012.
3 - 运行表单的SQL查询 -
CREATE DATABASE MyAdventureWorks
ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'),
(FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf')
FOR ATTACH;
Run Code Online (Sandbox Code Playgroud)
Cyb*_*org 18
选项
1. 将.mdf和.ldf移动到SQLServer安装目录\ Data \文件夹(例如C:\ Program Files(x86)\ Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA)
2. 以管理员身份运行SQL Server Management Studio
3. 将SQL Server用户的权限添加到您需要访问的目录.我不确定哪个用户是正确的,但设法让"[PCNAME]\Users"帐户完全访问该文件夹.
脚步
右键单击文件夹.选择属性.选择"安全"选项卡.单击"编辑".选择"用户([PCNAME] \用户)",例如,如果电脑的名称是mycomp,那么这将是"用户(mycomp\Users)"
点击"用户权限"下的"完全控制"旁边的"允许"复选框
有关选项1和2的更多详细信息,请参见此处.
CREATE FILE遇到操作系统错误5(无法检索此错误的文本.原因:15105)
Mik*_*l X 12
我已经更改了权限,这对我有用:安全 - >高级.添加'NT Service\MSSQLSERVER'并提供完全访问权限,禁用继承,添加自己以便于故障排除.在.mdf和.ldf文件上执行此操作.
小智 7
您不必移动.mdf文件.只需右键单击数据库所在的文件夹即可更改安全权限.我给认证用户完全控制.然后我运行下面的TSQL脚本来附加数据库:
CREATE DATABASE MyAdventureWorks
ON (FILENAME = 'C:\Adventureworks\AdventureWorks2012_Data.mdf'),
(FILENAME = 'C:\Adventureworks\AdventureWorks2012_Log.ldf')
FOR ATTACH;
Run Code Online (Sandbox Code Playgroud)
如您所见,我的数据库文件位于名为的文件夹中Adventureworks.
错误5 - 访问被拒绝 - 来自DOS的旧时代.基本上,它是ACL - 访问控制列表错误.
只要SQL SERVER SERVICE帐户有权访问,您就可以将数据库放在任何您喜欢的位置!
无论您登录的是谁,都是需要访问目录和文件的服务帐户.
您不需要以管理员身份运行SSMS.我没有这一步就一直附加数据库.
如果您是第一次通过附加创建数据库,只需删除日志文件,这可能对您有所帮助.
我试图通过附加创建数据库,并不断获得类似的截图

感谢下面的文章,我发现并且只是必须删除日志,很明显,但MS没有提供不自己显示新数据库.非常糟糕的经验,不确定它是否类似于SQL Server许可产品.
http://exacthelp.blogspot.in/2012/12/unable-to-open-physical-file-operating.html
小智 6
将AdventureWorks2012数据库附加到本地MSSQL数据库的步骤:
解决方案1:如果在Windows中的C:\ Drive中有足够的空间,并且想要在C:\ Drive中创建数据库
2.右键单击对象资源管理器中的"数据库",然后选择"附加"
3.在"附加数据库"对话框中,单击要附加的数据库中的"添加"按钮:字段.
5.现在在SQL Sever中创建了数据库'AdventureWorks2012'.
解决方案2:如果在Windows中的C:\ Drive中没有足够的空间
1.通过选择服务器名称XXX\SQLEXPRESS和身份验证 - "Windows身份验证"连接到本地服务器
2.右键单击对象资源管理器中的"数据库",然后选择"附加"
3.在"附加数据库"对话框中,单击要附加的数据库中的"添加"按钮:字段.
导航到例如F:\ AdventureWorks2012_Database\AdventureWorks2012_Data.mdf的MDF文件位置,然后单击"附加数据库"对话框底部的"确定".
这将生成以下错误消息:'附加数据库时发生错误.单击"消息"列中的超链接以获取详细信息.
解决方案是:
i)右键单击AdventureWorks2012_Data文件夹,选择"属性".
ii)单击"安全"选项卡
iii)在"组或用户名:"部分中选择用户(xxx\Users)
iv)单击"编辑"按钮
v)在弹出窗口中的"组或用户名:"中选择用户(xxx\Users),
vi)选中"用户权限"部分中的"完全控制"复选框.
vii)单击确定并确定.
现在回到SQLsevers的Attach Databases屏幕,点击数据库中的'Add'按钮来附加:字段.
导航到MDF文件位置,例如F:\ AdventureWorks2012_Database\AdventureWorks2012_Data.mdf,然后单击"附加数据库"对话框底部的"确定".
现在,数据库"AdventureWorks2012"在SQL Sever中创建.
| 归档时间: |
|
| 查看次数: |
95899 次 |
| 最近记录: |