MSBuildスクリプトの一部として、いくつかのSQL処理(データベースのバックアップ、データベースの復元、スクリプトファイルの実行)を試みています。 MSBuild ExtensionパックのSql2008.Databaseタスクはこれを行う簡単な方法でしたが、サーバーインスタンスまたはユーザー名とパスワードを指定する方法が見つかりません。私はそれがあなたが構築しているマシン上のデフォルトインスタンスに限定されており、MSBuildが実行されているユーザーとして接続したいと思うのは難しいと思っていますが、何か他の方法を見つける方法がありません。 Thisは私が働いているドキュメントです。誰かがこれを行う方法を説明することができますか私は別のアプローチを見てする必要がありますか?MSBuild ExtensionPack Sql2008.Databaseタスク
答えて
私はMSBuild.ExtensionPack.BaseTask
クラスはプロパティMachineName
UserName
とUserPassword
を持っていることを発見しました。 SQL2008.Database
クラスはこのクラスから継承します。私はMSDNスタイルのドキュメントに継承されたメンバが派生クラスについて文書化されているので、私はそれらを探すべきだと思っていませんでした。 MSBuild.ExtensionPack.BaseTask
を継承している他の多くのクラスの文脈では無意味なので、彼らにとっては不思議な場所と思われます。
このタスクにはMachineNameメンバーがありませんか?あなたが必要とするSQLインスタンス名だけを考えてください。
私はMSBuild.ExtensionPack.SqlServer.SqlExecuteタスクとSQL文を使用して、その他すべてを実行します。
<MSBuild.ExtensionPack.SqlServer.SqlExecute TaskAction="ExecuteReader"
Sql="RESTORE DATABASE $(DatabaseName) FROM DISK = N'$(RestoreFileDestination)\Source\$(Branch)\Build\$(DatabaseFile)' WITH FILE = 1,MOVE N'Accelerate' TO N'$(dataDir)\$(DatabaseName)_1.LDF', MOVE N'Accelerate_log' TO N'$(logsDir)\$(DatabaseName)_2.LDF', NOUNLOAD, REPLACE, KEEP_CDC, STATS = 10"
ConnectionString="Data Source=Localhost\SQLExpress;Initial Catalog=master;Integrated Security=True"
CommandTimeout="660">
彼らは私が必要とするように見えるすべてのオプションを考えることがありませんでした....
ありません、それはMachineNameにはありません。私は上記のようにSqlExecuteタスクを使用して見ているが、バックアップ/復元オプションがSQLコマンドの一部ではなくタスク定義の一部であるため、可能であればSql2008.Databaseタスクを使用する方が好きです。 –
タスクのヘルプで:<! - データベースを別の場所に復元する>
OKここに定義されているデータベースクラスのメンバーを見ていました。http://www.msbuildextensionpack.com/help/4.0.1.0/html/2dfa8205-e7ff-59bb-771b-d107fd8cb0da.htm MachineNameはその1つではありません。しかし、それは私の問題の指定されたユーザー名とパスワードの部分に役立ちません。私は統合されたWindows認証を使用することはできませんので、ドメインの一部ではないリモートSQLサーバーに対してスクリプトを実行する必要があります。 –
あなたが使用できるユーザー名とのUserPasswordプロパティがあります。
<MSBuild.ExtensionPack.Sql2008.Database
MachineName="$(SQLServer)"
TaskAction="Backup"
DatabaseItem="$(SQLDatabaseName)"
DataFilePath="$(SQLBackupLocation)"
UserName="$(SQLUserName)"
UserPassword="$(SQLPassword)" />
入力していただきありがとうございます。私自身の回答を見ると、数か月前 –
- 1. のMSBuild AspNetcompilerタスク
- 2. オープンソースのmsbuildタスク
- 3. MSBuild XmlMassUpdateタスク
- 4. スケジューリングmsbuildタスク夜間
- 5. MSBuild MSBuildCommunityTasksタスク時間
- 6. のMSBuildタスクとプロパティ
- 7. 別のカスタムMSBuildタスクを使用するカスタムMSBuildタスクの作成
- 8. カスタムMSbuildタスクの必須タグ
- 9. シルバーMSBuildのタスク - XAPはClientBin
- 10. Msbuildコマンドライン:CopyWebApplicationLegacyタスクのMSB3021エラー
- 11. WriteCodeFragment MSBuildタスクの使用
- 12. SQL2008 MultiServerQuery
- 13. 外部MSBuildファイルを実行するMSBuildタスク
- 14. SQl2008互換性
- 15. MSBuildエクステンションのZipタスクの使い方は?
- 16. 依存関係を持つカスタムMSBuildタスク
- 17. カスタムmsbuildタスク設定の問題
- 18. (wix)torch msbuildタスクの使い方
- 19. MsBuildタスクGenerateDeploymentManifest.CreateDesktopShortcutが機能しません
- 20. Globalize3:「rake db:seed」タスクを実行すると、「Mysql2 :: Error:Unknown database」
- 21. msbuild execタスクコールmsbuild
- 22. msbuildコピーファイル
- 23. SQL2005アプリケーションをSQL2008に移動
- 24. MSBuild拡張パック:バックアップリモートを確認する
- 25. CruiseControl.netビルドでもMSBuildタスクが成功しません
- 26. msbuildのExecタスクによる出力の抑制
- 27. MSBuildエラーMSB4018:「GenerateResource」タスクが予期せず失敗しました
- 28. Visual StudioにカスタムカスタムMSBuildタスクの動作を統合
- 29. MsBuildタスクの出力を返しますか?
- 30. MSBuild execタスク、終了コードが空になる
まだデフォルトインスタンスに制限されていますか? – Burt
名前付きインスタンスの通常の構文を使用するだけです。つまりMachineNameパラメータをmachinename/instanceに設定します。 –