问题标签 [vsdbcmd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 如何提供 vsdbcmd deploy 命令行目标 dbschema sql 命令变量?
Visual Studio (2010) gui 提供了用于为目标指定第二个命令变量文件的选项。但是,我找不到用于命令行实现的此选项 - vsdbcmd.exe。
运行 vsdbcmd deploy for dbschema 到 dbschema,只使用源模型命令变量,给出实现变量的对象被视为具有更改的结果。导致不正确(不正确)的更新脚本。
我目前使用的命令:
我正在寻找的是/p:TargetSqlCommandVariablesFile
,如果这样的事情存在......
结果脚本与运行相同,因此 GUI 比较无需为目标指定 sqlcmd vars
sql-server-2008-r2 - VSDBCMD 无法启动 - 无法实例化 Sql100DatabaseSchemaProvider
我已按照http://msdn.microsoft.com/en-us/library/dd193258(v=vs.100).aspx上的说明进行操作
我已将部署文件夹和其他 dll 复制到远程计算机并安装了 SQL Server 2008 管理对象。但是,当我尝试运行我的命令时(真实凭据被剥离)
我总是得到错误
我四处搜寻,但没有看到任何指向这一点的东西。请问有什么帮助吗?
sql-server - “无法确定目标数据库模式提供程序”使用 VSDBCMD 但仅在指定 /ConnectionString 时
我一直在开发一个部署脚本来将我们的数据库项目部署到多个数据库实例。我正在通过手动运行它来测试它。这是一个非常简单的脚本,只需针对为部署我们的基础数据库或模板数据库而创建的部署清单运行 VSDBCMD。为了部署到同一服务器上的不同数据库,该脚本使用部署清单,但随后还指定了 /p:DatabaseName 和 /p:TargetDatabase 属性。
这已经工作了一整天。
我们对这些数据库使用 SQL Server 身份验证,我希望能够将用户名和密码指定为脚本的参数,这样就不必对它们进行硬编码。我能看到的唯一方法是使用 /ConnectionString 开关。这就是导致失败的原因。即使我指定了与部署清单中存储的完全相同的连接字符串,脚本也会失败并显示错误“无法确定目标数据库架构提供程序”。剧本:
只需省略 /cs 开关就可以再次成功。请注意,从上面的连接字符串中,甚至不需要在连接字符串中指定密码即可导致失败。
目标数据库服务器正在运行 SQL Server 2008 R2,并且是最新的补丁。
我想知道如何避免这个错误,或者我想知道在部署时指定用户名和密码的更好方法,而不需要密码以明文形式出现在部署清单中。
database-project - 尝试运行 VSDBCMD.exe 时出现“对象引用未设置为对象的实例”
我们正在尝试使用 tfs deployer 和“vsdbcmd.exe”(VS 2010 版本)部署数据库项目。
两者都在 Windows Server 2008 r2(64 位)上。
当我们的部署脚本运行并调用 时VSDBCMD.exe
,我们会收到以下错误:
An unexpected failure occurred: Object reference not set to an instance of an object.
注意:此服务器上未安装 SQL Server,脚本调用另一个服务器,该服务器具有我们要对其执行数据库架构的数据库。Visual Studio 也没有安装在这个服务器上,所以我执行reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0
了,因为我发现缺少的注册表项可能会导致问题。但是,问题仍然存在
复制到服务器的dll是:
关于如何解决这个问题的任何想法都会很棒
谢谢,
瑞安
sql-server - vsdbcmd.exe 生成不带约束名的删除约束指令
使用 vsdbcmd.exe 在两个 dbschema 之间生成差异脚本时,有时会得到一个意外的输出,其中包含一些没有约束名称的删除约束:
在我们的模式中,此列具有默认值约束,具有自动生成的名称。我希望 vsdbcmd.exe 生成一个有效的 ALTER TABLE sql 语句,如 msdn 库中所指定:
更改表 [数据库名称。[模式名称]。| 模式名称。] table_name DROP { [ CONSTRAINT ] 约束名 | COLUMN 列名 }
您知道什么会阻止 vsdbcmd.exe 生成有效的 sql 语句吗?
sql-server - 为已部署的 SQL Server 数据库读取“模型排序规则”
我们正在使用数据库项目来部署我们的数据库。在项目设置中,我们有特定的项目版本(目标 SQL Server 的版本)和数据模型的排序规则。
但是,当我部署它时,出现以下错误
当我们在升级模式下部署时会发生这种情况。我的问题是,有没有办法从部署的数据库中读取模型排序规则?
我们正在使用 VSDBCMD 进行部署
powershell - VSDBCMD 在 PowerShell 中运行时生成错误
我们正在运行 VSDBCMD 以在我们的数据库项目和我们的暂存数据库之间生成一个 diff sql 脚本。VSDBCMD 在登台服务器上本地执行,并由远程主机的 powershell 脚本启动。在本地运行脚本(手动启动)时,它会运行并生成一个差异脚本,但在远程运行时,我们会得到以下输出:
TSD00560 项目和目标数据库具有不同的排序规则设置。可能会发生部署错误。TSD00566 部署脚本生成到:path\CURRENT_RELEASE.sql
发生意外失败:“Microsoft.Data.Schema.Sql.Sql100UserInteractionServices”的类型初始化程序引发异常。
我们尝试使用不同的执行策略运行 powershell 脚本,但没有成功。
Sql100UserInteractionServices 是做什么用的?为什么从远程执行的 powershell 脚本运行时会引发异常?
msbuild - 部署失败时 VSDBCMD.exe 未设置 %ERRORLEVEL%
我正在使用 VS2010 命令行工具 (VSDBCMD) 通过批处理文件将 SQL 项目部署到特定环境。
我的批处理文件首先使用用户输入的用户 ID 和密码构建数据库项目。然后我使用新创建的 dbmanifest 部署项目。
当我故意输入错误的密码时,屏幕上出现错误,但 vsdbcmd 没有将 %ERRORLEVEL% 设置为 1。实际上,部署中没有错误消息设置了 %ERRORLEVEL%。
如何检查部署是否失败?
这就是我运行它的方式:%VS_DEPLOY_PATH% /a:Deploy /manifest:%TAG%\%%a\sql\debug\%%a.deploymanifest /cs:"Persist Security Info=True;User ID=%DB_USER %;密码=%DB_PASS%;初始目录=%%a;服务器=%SERVER%" /p:AbortOnFirstError=True /q+ /dsp:SQL /dd+
任何帮助表示赞赏。
谢谢
deployment - Sqlproj:在命令行中部署数据库的哪种解决方案?
我目前正在使用 Microsoft Web 部署技术(msbuild 和 msdeploy 命令)将网站部署到服务器。该网站需要部署一个数据库,并且两者都将在同一台服务器中。我正在寻找部署数据库项目(使用命令行)的最佳解决方案,并且我想更好地了解围绕数据库部署的所有技术。
解决方案的内容(Visual Studio 2013):
- 一个数据库项目(用于 SQL Server 2008),
- 一个类库(NHibernate 的数据访问层)
- 一个网络项目(ASP.NET MVC4)。
注意:我不是自愿在 VS 中使用持续集成/交付工具或发布方法。我对这个项目的第一个目标是了解 msbuild / msdeploy 是如何工作的......
我看了一下vsdbcmd命令,它似乎可以完成我想要的所有步骤......除了我需要将 Visual Studio DLL/文件导入我的远程服务器,我想知道是否没有更好的方法......我也看了在 msdeploy 提供者dbSqlPackage /dbDacFx 处,但据我了解,它使用 dacpac 来应用架构更改。同样,SqlPackage.exe 似乎也使用了 dacpac。
使用 dacpac 听起来不错,但我对以下问题感到困惑:
- 这是否意味着我在第一次创建数据库时需要一个不同的过程?如果是,哪个命令最好?
- 是否可以从我的 sqlproj 文件创建 dacpac?如果是,该怎么做?
从命令行以及您的经验和项目中是否有其他部署方式,部署此类项目的最佳方式是什么?
非常感谢,