从网络驱动器上的.mdf
和.ldf
文件创建数据库时,我收到此错误消息。
执行查询:
create database DatabaseName ON
(FileName = '\\gyancluster-sql\g$\Backup\WSS_Content_DB.mdf'),
(FileName = '\\gyancluster-sql\g$\Backup\WSS_Content_DB_log.ldf')
for attach
GO
错误
文件“\ gyancluster-sql \ g $ \ Backup \ WSS_Content_DB.mdf”在 数据库文件不支持的网络路径。
答案 0 :(得分:4)
那你的问题是什么?问题是什么?毫无疑问 - 只是倾诉一句话;)
我的意思是,不想听起来太讽刺,但你可以阅读,或者?
文件“\ gyancluster-sql \ g $ \ Backup \ WSS_Content_DB.mdf”位于数据库不支持的网络路径上 文件。
这很清楚,不是吗?它不受支持 - 非常好的理由,顺便说一下,直到现在。
你现在问我们MS是否谎言?不,他们不撒谎 - 这是不支持的。他们真的意味着他们说的话。
有方法(http://support.microsoft.com/kb/304261),但就是这样;)
您是否希望我们重新输入错误消息?也许变成“伙计,不会烦恼,不酷,看到”?更清晰的?
严重 - 声音严厉,但我总是想知道为什么人们实际上没有阅读错误信息。
答案 1 :(得分:1)
在尝试创建数据库之前使用DBCC TRACEON(1807)。
此外,您可以将linea“-t 1807”添加到MSSQL服务器启动参数,它将使更改成为永久更改。上面的命令允许您使用网络存储,但在重新启动时,您将丢失该标志。
答案 2 :(得分:0)
很幸运,操作系统警告您直接通过网络打开数据库文件是个坏主意。较旧的数据库api允许您在没有警告的情况下执行此操作,然后该数据库应用程序的网络用户将因腐败数据库而永远受损。
答案 3 :(得分:0)
如果\ gyancluster-sql \ g $引用计算机gyancluster-sql上的本地磁盘G,这也恰好是sql服务运行的地方,那么你真的应该使用
create database DatabaseName ON
(FileName = 'G:\Backup\WSS_Content_DB.mdf'),
(FileName = 'G:\Backup\WSS_Content_DB_log.ldf')
for attach
GO
注意,即使您从另一台计算机运行该脚本,这仍然是正确的。
这仍然是一个坏主意,但您可以使用UNC名称,但前提是运行sql的服务能够访问共享(例如,如果在域管理员帐户下运行),但是通常被认为是不必要的安全风险。
如果你真的想在网络设备上存储数据库,那么显然这意味着sql服务确实需要访问共享,所以这是第一件要检查的东西,但你还需要阅读微软的文章克里斯·迪克森(Chris Dickson)指出了(即http://support.microsoft.com/kb/304261)哪些细节得到了支持。
答案 4 :(得分:0)
您需要通过网络共享启用数据库文件,以下帖子逐步说明如何操作。
同一篇文章解释了这样做的风险。
我希望这会有所帮助
此致