問題タブ [sql-server-data-tools]

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.

0 投票する
1 に答える
7665 参照

visual-studio-2012 - Visual Studio 2012 で SQL スクリプトをフォーマットする

通常、Visual Studio でCtrl+ K+Dショートキーを使用してコードまたはマークアップをフォーマットできます。

ショートキーを使用して、ストアド プロシージャやビューなどの SQL スクリプト コードをどのようにフォーマットできますか?

注: データベースのスクリプトを編集できる VS2012 で SSDT を使用していますが、フォーマット オプションが見つかりません。

0 投票する
1 に答える
2572 参照

visual-studio-2012 - MSBuildおよびSQLServerデータベースプロジェクト:デプロイと公開の宛先をビルド構成にバインドします

VisualStudio2012。SQLServerデータベースプロジェクト。

ソリューションには、Debug、DevDb、TestDb、LocalDbの4つのビルド構成が作成されました。

プロジェクトには、DevDb.publish.xml、TestDb.publish.xml、LocalDb.publish.xmlの3つの公開プロファイルが作成されました。

F5ボタンを押す(!)

  • ビルド構成がDebugの場合は、プロジェクトプロパティの接続文字列を使用してプロジェクトをデプロイします。
  • ビルド構成が DevDbTestDb、またはLocalDbの場合、対応する公開プロファイルからの接続文字列を使用してプロジェクトを公開します

これを行うには、プロジェクト(.sqlproj)xmlを編集し、Deployターゲットの呼び出しをキャッチして、標準のDeployターゲットをカスタム動作に置き換えようとします。

2番目のステートメントは正常に機能し、適切な宛先にデプロイできます。

問題は最初のステートメントにあります-それは循環依存を生成します。

エラーMSB4006:ターゲット「Deploy」を含むターゲット依存関係グラフに循環依存関係があります。

私の質問は、標準ターゲットを交差させる(キャッチして置き換える)方法と、標準ターゲットを再度呼び出す必要があるかどうかです。

それとも、私は車輪の再発明を試みていますか?私がやりたいことをする別の方法がありますか?(私が欲しいのは、上記の「F5ボタンを押す」という言葉で説明されています:)

0 投票する
2 に答える
5201 参照

visual-studio-2012 - SQL データベース プロジェクト: ビルド構成に応じて異なるスクリプトをビルドします。

私が解決したい問題は、ビルド構成に応じて異なるスクリプトをビルドすることです。

SQL Server の 2 つのインスタンスがあるとします。

  • リンクサーバーが接続されたエンタープライズ版
  • オフライン開発および単体テスト用の LocalDb バージョン

エンタープライズ バージョンには、LocalDB がこれらのビューをローカル テーブルに置き換えるときに、リンクされたサーバーのビューがあります。

これらのリンク サーバー ビューとローカル テーブルは、同じ名前と一連のフィールドを持ちます。そのため、デフォルトではビルドに含まれません (ビルド アクション = なし)。代わりに、プロジェクト ファイルの BeforeBuild ターゲットのビルドに含まれます。

しかし、問題は、Visual Studio が DB モデルをキャッシュすることです。最初に LocalDb 用のプロジェクトをビルドしてから、Enterprise 構成用のプロジェクトをビルドしようとすると、Visual Studio はエラーを出力します。

エラー: SQL71508: モデルには既に同じ名前の要素があります

ソリューションを閉じて開くか、プロジェクトをアンロードしてプロジェクトを再ロードすると、Visual Studio は dbmdl ファイルを再作成し、エンタープライズ構成はエラーなしでビルドされます。

したがって、dbmdl キャッシュを更新すると、エラーなしでスムーズにビルドできると思います。


Visual Studio 2012 で SQL Server データベース プロジェクトを開くか再読み込みすると、拡張子dbmdlのファイルが作成されます。これは、ここで説明されているように、逆シリアル化されキャッシュされた db モデルです。

dbmdl ファイルの再作成の瞬間に、Visual Studio は次のように出力します。

プロジェクトをリロードせず、プロジェクト xml ファイルを変更せずに、Visual Studio に強制的に dbmdl キャッシュを更新させる方法は?

プロジェクト xml ファイルの BeforeBuild または AfterBuild ターゲットにコマンドを配置して、dbmdl キャッシュを更新する方法はありますか?

または、問題へのアプローチ全体が間違っていて、ビルド構成に応じて異なるスクリプトを作成する別の方法がありますか?

0 投票する
1 に答える
63 参照

visual-studio-2010 - Visual Studio 2010 は、Microsoft SQL Server Data Tools の既存のインストールを使用してサーバーに拡張機能または追加機能を提供しますか?

SQL Server 2012 に加えてインストールされた Microsoft SQL Server Data Tools、SSDT は、Visual Studio シェルを提供します。Visual Studio 2010 のフル バージョンをインストールすると、拡張機能や追加機能が提供されるかどうかに興味があります。

0 投票する
2 に答える
2257 参照

sql-server - SQL Server ScriptDom パーサーによって生成された T-SQL Dom はどこにありますか?

Microsoft.SqlServer.TransactSql.ScriptDomライブラリで遊んでいます。TSqlFragment から取得できるすべてのトークンをナビゲートする方法を見つけました。

TSqlFragmentVisitor クラスも見つけたので、ScriptDom ライブラリは、ナビゲート可能な TSqlFragment から T-SQL DOM を生成すると思います。しかし、私はそれを行う方法を見つけることができません...

手伝って頂けますか?ありがとう!

0 投票する
0 に答える
636 参照

sql-server-data-tools - SSIS 2012 + スクリプト コンポーネント + カスタム .dll リファレンス

SSDT での作業 (Visual Studio 2010)

Target Framework .net 4.0 を使用して C# (Visual Studio 2010) でカスタム dll のコードを取得しました。ビルドされた場所から SSIS スクリプト コンポーネントで上記の dll を参照すると、スクリプト コンポーネント ターゲット フレームワークが .net 4.0 に設定されていても、以下のようなエラーがスローされます。

タイトル: パッケージ検証エラー

パッケージ検証エラー


追加情報:

データ フロー タスク [スクリプト コンポーネント [96]] でのエラー: System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。---> System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Transformation、Version=1.0.0.0、Culture=neutral、PublicKeyToken=61d0ad25bd7b3c3c' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。ScriptMain..ctor() --- 内部例外スタック トレースの終了 --- System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) at System.RuntimeType.CreateInstanceSlow (Boolean publicOnly、Boolean skipCheckThis、Boolean fillCache、StackCrawlMark& stackMark) System.RuntimeType で。Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.CreateUserScriptInstance() での SqlServer.Dts.Pipeline.VSTAComponentScriptingEngine.GetScriptEntryPoint(String versionGuid) エラー [スクリプト コンポーネント [96]]: System.Reflection.TargetInvocationException: 例外がスローされました呼び出しのターゲットによって。---> System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Transformation、Version=1.0.0.0、Culture=neutral、PublicKeyToken=61d0ad25bd7b3c3c' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。ScriptMain..ctor() --- 内部例外スタック トレースの終了 --- System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) at System. Object[] activationAttributes) で Microsoft.SqlServer.Dts.Pipeline.VSTAComponentScriptingEngine.CreateScriptObjectHelper(Assembly scriptAssembly) で Microsoft.SqlServer.Dts.Pipeline.VSTAComponentScriptingEngine.GetScriptEntryPoint(String versionGuid) で Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.CreateUserScriptInstance( ) データ フロー タスク [スクリプト コンポーネント [96]] でのエラー: System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。---> System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Transformation、Version=1.0.0.0、Culture=neutral、PublicKeyToken=61d0ad25bd7b3c3c' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。ScriptMain..ctor() --- 内部例外スタック トレースの終わり --- System.RuntimeTypeHandle で。

データ フロー タスク [SSIS.Pipeline] でのエラー: 1 つ以上のコンポーネントが検証に失敗しました。

データ フロー タスクでのエラー: タスクの検証中にエラーが発生しました。

(Microsoft.DataTransformationServices.VsIntegration)


ボタン:

わかった

私は何を間違っていますか?

0 投票する
1 に答える
311 参照

sql-server - SQL Serverデータツール(SSDT)-展開時にデータ型を決定しますか?

ターゲットSQLServerインスタンスで使用可能な機能に応じて、SSDT / dacpac展開で展開時に列のデータ型を決定する手法を知っている人はいますか?具体的な例:

この場合、SQL ServerインスタンスでFILESTREAMが有効になっていない場合は、FILESTREAMではなく従来のVARBINARY(MAX)BLOBに自動的にフォールバックできるようにしたいと思います。

0 投票する
2 に答える
102 参照

visual-studio-2012 - SQLツールがVisualStudio2012ツールに漏れて、混乱してしまいました

私は通常、一方の画面にSSMSがあり、もう一方の画面にVS 2012がありますが、VS 2012に統合されているSQLツールの開発により、機能が重複しているようです。VSですべての一般的なタスクを実行できるようです。 SSMSが必要なバックアップの復元を除いて2012年。

SQLServerデータツールがあります。IDE+SSIS/ Reports / SSASはどれだと思いますか?そして、彼らはデータ比較ツールを削除しました、そしてそれはなぜ謎です。

だから私の主な質問は、.NETWebアプリを作成するための最も効率的な方法は何ですか..SSMSとVS2012を使用する...または単にVS2012 sqlデータツールを使用して、より生産的であるはずのほとんどすべてにVS2012を使用できるようにしますか?

重複は私と物事を最も効率的な方法でセットアップしたいという私の願望を混乱させています。

0 投票する
1 に答える
815 参照

ssas - SSASデータソースの2つのテーブル間のリンクとして特定の外部キーフィールドを指定します

私はSQLServerAnalysis Servicesにまったく慣れていないので、最初のキューブを作成しようとしています(Adventure Worksチュートリアルを除く最初のキューブ)

問題は、いくつかのオプション(同じ2番目のテーブルを指すいくつかのキー)が存在する場合に、別のテーブルへのリンクとして機能するようにテーブル内の特定のフィールドを指定する方法です。

私のデータソースにはDepartmentテーブルがあります:(無関係なフィールドは省略されています)

そしてこのような規律テーブル:

Disciplineテーブルの両方の外部キーはDepartmentテーブルを指し、両方の制約についてDBで指定されています。それでもそれらの意味はかなり異なります。

SQL ServerデータツールでDisciplineディメンションを作成するときに、ディメンション内(またはディメンション全体)の特定の階層のレベル間のリンクとして使用する外部キーを指定したいのですが、見つかりませんでしたこれを明示的に行う方法。

department_of_key興味深いことに、SSDT(またはSSAS)が、レベルを関連付けるために今必要な列()を使用することがあります。それでも、将来的には別の次元(または同じ次元の新しい階層)で2番目のキーを使用したいと思う可能性があるため、プロセスを制御する方法を知っておくとよいでしょう。

この質問は単純なものだと思いますが、これまでのところ解決策を見つけることができませんでした。また、SSASに関するチュートリアルには何か関連性があると感じていますが、そこでは何の助けも見つかりませんでした。

ご回答ありがとうございます!

(質問のより良いタイトルに関する推奨事項もありがたいです=))

0 投票する
4 に答える
28583 参照

sql - SSDT と Visual Studio 2012 データベース プロジェクトを使用してデータベースの展開を適切に管理するにはどうすればよいですか?

私は、既存の小さなプロジェクトに 2012 データベース プロジェクトを採用しようとしている研究段階にあります。私は C# 開発者であり、DBA ではないため、ベスト プラクティスについては特に詳しくありません。私は数時間グーグルとスタックオーバーフローを検索してきましたが、いくつかの重要な展開シナリオを適切に処理する方法がまだわかりません.

1) いくつかの開発サイクルの過程で、データベースの複数のバージョンをどのように管理しますか? データベースの v3 にクライアントがあり、それらを v8 にアップグレードしたい場合、どうすればこれを管理できますか? 私たちは現在、製品のすべてのバージョンについて、手作りのスキーマとデータ移行スクリプトを管理しています。これを個別に行う必要がありますか、それとも新しいパラダイムにこれをサポートまたは置き換えるものがありますか?

2) データを移動する必要があるような方法でスキーマが変更された場合、これを処理する最善の方法は何ですか? データを保存するために配置前スクリプトで何らかの作業が行われ、配置後スクリプトがデータを適切な場所に戻すと仮定します。それがその方法ですか、それとももっと良いものがありますか?

3) これらの新しいテクノロジをどのように使用するのが最善かについて、その他のアドバイスやガイダンスも大歓迎です!

更新:最初にこの質問をして以来、問題に対する理解が少し深まりました。実行可能な解決策を思いついたものの、それは私が望んでいた解決策ではありませんでした。これが私の問題の言い換えです:

私が抱えている問題は、純粋にデータ関連です。アプリケーションのバージョン 1 を使用しているクライアントをアプリケーションのバージョン 5 にアップグレードしたい場合、データベースにデータがなくても問題はありません。SSDT にインテリジェントにスキーマを比較させ、データベースを 1 回で移行させるだけです。残念ながら、クライアントにはデータがあるため、それほど単純ではありません。アプリケーションのバージョン 1 からバージョン 2、バージョン 3 (など) へのスキーマの変更はすべてデータに影響します。現在のデータ管理戦略では、バージョン アップグレード (1 から 2、2 から 3 など) ごとにスクリプトを維持する必要があります。これにより、アプリケーションのバージョン 1 からバージョン 5 に直接移行することができなくなります。そこに直接移行するためのデータ移行スクリプトがないためです。クライアントごとにカスタム アップグレード スクリプトを作成したり、アップグレード スクリプトを管理してすべてのバージョンからすべての上位バージョンに移行したりすることは、指数関数的に困難です。私が望んでいたのは、SSDT が可能にするある種の戦略があり、それによって物事のデータ側をより簡単に、おそらくスキーマ側と同じくらい簡単に管理できるようになることでした。私の最近の SSDT の経験では、そのような戦略が存在するという希望はありませんでしたが、別の方法で見つけたいと思っています。