首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用VSDBCMD创建数据库失败

使用VSDBCMD创建数据库失败
EN

Stack Overflow用户
提问于 2011-09-05 22:01:15
回答 2查看 1.1K关注 0票数 0

当尝试使用VSDBCMD工具部署VS2010数据库项目时,我得到以下错误:

代码语言:javascript
复制
SQL01268 .Net SqlClient Data Provider: Msg 5133, Level 16, State 1, Line 1 Directory lookup for the file "D:\MSSQL10_50\MSSQL10_50.MSSQLSERVER\MSSQL\Data\Data.mdf" failed with the operating system error 21(failed to retrieve text for this error. Reason: 1815).
SQL01268 .Net SqlClient Data Provider: Msg 1802, Level 16, State 1, Line 1 CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

但是,如果我使用VSDBCMD生成的SQL脚本并在SQL Management Studio中运行它,它就能正常工作。类似地,我可以在Mgt Studio中手动创建DB。

“操作系统错误21”显然是设备没有准备好,但在我看来这是假的……文件夹路径都是正确的,解锁文件夹的安全性并不能解决这个问题(例如,'everyone‘>完全控制)。此外,服务器上的SQL日志或事件查看器中也没有错误。

在命令行上运行VSDBCMD与通过Management Studio运行相同的SQL脚本有什么不同??

任何想法都非常欢迎!

克里斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-07 17:27:19

根据我自己的评论,这个错误是因为驱动器实际上并不存在。

票数 1
EN

Stack Overflow用户

发布于 2014-06-07 03:07:24

如果在基于数据库模式的服务器中使用vsdbcmd创建数据库,那么最好为数据和日志文件设置路径位置。

要更改.dbschema文件中的日志路径位置,请执行以下操作:

代码语言:javascript
复制
<Element Type="ISql90File" Name="[YOUR_DATABASE_NAME_Data]">
    <Property Name="FileName" Value="E:\YOUR DATA FOLDER\$(DatabaseName)_Data.MDF" />

<Element Type="ISql90File" Name="[YOUR_DATABASE_NAME_Log]">
    <Property Name="FileName" Value="E:\YOUR LOGS FOLDER\$(DatabaseName)_Log.LDF" />

然后使用命令提示符将其导入到Sql Server中:

代码语言:javascript
复制
CD\
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\Deploy\vsdbcmd.exe" /a:Deploy 
/cs:"Server=YOUR_SERVER\YOUR_INSTANCE;User Id=YOUR_USER;Password=YOUR_PASS;Pooling=false" 
/dsp:Sql /dd+ /model:"C:\FOLDER\YOUR_DBSCHEMA_FILE.dbschema" 
/p:TargetDatabase="YOUR_DATABASE_NAME"

更多关于vsdbcmd的信息:http://msdn.microsoft.com/en-us/library/dd193283.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7309156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档