タグ付けされた質問 「ssdt」

2
SSDTでシステムビューを参照していますか?
システムビュー(具体的にはsys.columns)への参照を含むデータベースをSSDTにインポートしました。問題は、プロジェクトをビルドするときに未解決の参照に関する警告が表示されることです MSDNフォーラムで見たところ、既知の問題のようです:http : //social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/5a7026bd-0602-42e6-a639- d73bed903c26 今、私は警告をオフにしたり無視したりできることを知っていますが、実際の解決策を知っている人はいますか? ありがとう

2
展開後スクリプトで:r SQLCMDコマンドが間違っているとマークされるのはなぜですか?
ポストポストスクリプトを数回使用し、ビルドアクション "PostDeploy"を常に直感的に使用しました。これで初めて、スクリプトのテンプレートから組み込みの命令に従って":r somescript.sql"構文を使用しようとしました。 すぐにこの行は間違っているとマークされています: 「 ':'の横にあるSQL80001の構文が間違っています」 PDSをビルドアクション「なし」に設定する提案を見つけました。これは役に立たず、エラーは残ります。ここに何が欠けていますか?

2
DBプロジェクトとAzureサーバーを比較するときにSSDTスキーマ比較が失敗する
エンタープライズDBを構築したSQLデータベースプロジェクトがあります。SSDTのスキーマ比較ツールを使用して、内部およびAWSがホストするSQLサーバーに数回デプロイしました。 SQL Ent 2012 sp2を実行しているAzure Hosted Win 2012 Serverに投稿するときの問題。「比較が完了しました。違いは検出されませんでした」と戻ってきます。 Enterprise Managerを開き、スキーマをSQLプロジェクトと比較して、違いがあることがわかるので、これが間違っていることはわかっています。 2014年のリリースでこのツールがどのように機能しなくなったかについて話している記事をいくつか見つけましたが、それらはバージョンの違いにあります。 [はい、Googleでこれを行いました。私がそうするのを忘れることで悪名高いので、述べます。] https://www.google.com/webhp?ie=utf-8&oe=utf-8#q=ssdt+data+compare+fail+to+detect+difference&start=10 私がチェックした他のことには、DBアカウントに無制限のアクセス権があることを確認することが含まれます。管理コンソールに接続できます。ローカルプログラムに接続できます。 問題があったことの最後の確認: 番号1の単一の戻り値を持つSPを作成しました。 テストのために何も返されない可能性があります。 SPを作成した後、すべてのインスタンスでスキーマ比較を実行しましたが、Azureサーバーを除くすべてのインスタンスで差異が示されました。 更新 これはサーバーで明示的に行われていることを確認しました。2台のコンピューター上の2人のユーザーがまったく同じ問題を抱えているからです。

3
BlockOnPossibleDataLossを無視するsqlpackage.exe?
BlockOnPossibleDataLossをfalseに設定したdacpacがありますが、sqlpackage.exeで実行すると展開がブロックされ、「列[a]が削除されているため、データ損失が発生する可能性があります。」 ただし、まったく同じ展開プロファイルを使用してVisual Studio 2012から発行すると、それが実行されます。

1
SSDTスキーマ比較は、BULK INSERTの進行中は機能しません
私は、SFSとSSDTの両方と一緒にTFS /ソース管理を使用する大規模なETLおよびDWプロジェクトで働いています。 今日、SSISパッケージがデータベーステーブルへの一括挿入を実行している間、そのデータベースに対してSSDTスキーマ比較を実行できないことがわかりました。一部のパッケージの完了には非常に長い時間がかかるため、これは残念です。データベースのバージョン管理のためにSSDTプロジェクトに保存するために、スキーマ比較機能を使用してデータベース構造への変更を検出します。 これについてもう少し詳しく見てみると、SSDTのスキーマ比較関数OBJECTPROPERTY()が、データベースのテーブルでシステム関数を呼び出すSQLスクリプトを実行していることがわかりました。特に私の場合、が現在一括挿入されているテーブルを参照する場合、への呼び出しはすべてOBJECTPROPERTY(<object_id>, N'IsEncrypted')ブロックされているよう<object_id>です。 Visual Studioでは、SSDTスキーマ比較はしばらくするとタイムアウトし、違いが検出されなかったと主張します。 SSDTでこの問題の回避策はありますか、それともMS Connectバグレポートを提出する必要がありますか? または、BULK INSERTはSSISパッケージからOBJECTPROPERTY行われるので、テーブルの呼び出しをロックせずにこの挿入を行う方法はありますか?編集: SSIS OLE DB宛先では、「テーブルのロック」からチェックマークを削除できます。チェックマークはそれを実行しますが、状況によってはパフォーマンスが低下する可能性があります。一部のオブジェクトがロックされている場合でも、SSDTスキーマ比較でその機能を実行できるようにするソリューションの方がはるかに興味があります。
11 sql-server  ssis  ssdt 

3
SSDTデプロイから特定のテーブルを除外する
スキーマにすべてが含まれている既存のデータベースがありますdbo。スキーマを使用して追加するオブジェクトを含むSSDTプロジェクトがありますfoo プロジェクトに次のようなテーブルがあります。 CREATE table foo.a ( id INT NOT NULL CONSTRAINT [PK_foo_a] PRIMARY KEY CLUSTERED CONSTRAINT [FK_foo_a] FOREIGN KEY REFERENCES [dbo].[a], desc NVARCHAR(50) NOT NULL ) dbo.aに依存します。dbo.aには、他の列への外部キーである多くの列があります。他の誰か(デフォルトのスキーマを維持している人)がdbo.aを変更する可能性があります。 私はdbo.aを次のように単純に保存したいと思います: CREATE table dbo.a ( id INT NOT NULL CONSTRAINT [PK_a] PRIMARY KEY CLUSTERED ) したがって、内部的にビルドされますが、デプロイされません。それは可能ですか?
11 ssdt  deployment 

3
SSDTのように、SSMSでsqlcmdモードの:rを使用して現在のスクリプトの相対パスを使用するにはどうすればよいですか?
同じフォルダにfoo.sqlとbar.sqlがある場合、SSSDからsqlcmdモードでを実行すると、foo.sqlはbar.sqlを参照できます:r ".\bar.sql"。ただし、SSMSはそれを検出しません。Procmonは、SSMSが探していることを示しています%systemroot%\syswow64。 パスを明示的に宣言せずに、現在のスクリプトが保存されているフォルダーを検索するようにSSMSに指示するにはどうすればよいですか?
11 sql-server  ssms  sqlcmd  ssdt 

3
スキーマの移行:SQL ServerデータツールとLiquibaseおよびFlyway
これは馬鹿げた質問のように思えるかもしれませんが、私はスキーマ移行のためのオープンソースソリューション、つまりLiquibaseとFlywayを検討してきました。 ただし、上司から、SQL Serverデータツール(SSDT)でも同じことができると言われました。同意するかどうかはわかりませんが、インターネット上でLiquibaseやFlywayと直接比較するものはほとんどありません。 SSDTはSQL Serverの開発、データモデリング、および設計ツールであり、スキーマ比較(およびそのスクリプトの生成)とソース管理もサポートしていると私は考えています。スキーマ移行のいくつかの側面でLiquibase / Flywayと一部重複する可能性がありますが、別の問題に取り組みます。しかし、全体的なスキーマ移行ツールとして、LiquibaseとFlywayは完全に専用のツールですが、SSDTはデータベースの設計と開発に適しています。 比較がないと言うだけでSSDD自体はスキーマ移行ツールではないとしても、どんな意見でも大歓迎です。
11 schema  ssdt  migration 

3
VS DBプロジェクトとしてインポートした後の「ユーザーへの未解決の参照」
既存のSQL Server 2008r2運用データベースをVS 2013データベースプロジェクトにインポートしました。 私は今の線に沿っていくつかのエラーを取得します Error SQL71501: User: [mydbuser] has an unresolved reference to Login [mydbuser]. ユーザーを管理するためにVS DBプロジェクトは本当に必要ありませんが、ユーザーがそこにいない場合、展開時にそれらを削除しようとするのではないかと心配しています。 ファイル自体は次のように生成されます CREATE USER [mydbuser] FOR LOGIN [mydbuser]; または CREATE USER [mydomainuser] FOR LOGIN [MYDOMAIN\mydomainuser]; エラーマーカーは、それがログイン専用であることを示しています。これはシステムレベルのオブジェクトなので、dbプロジェクトのスコープ外であることは理解できます。 すべてを次のように変更することが好ましいですか? CREATE USER [mydbuser] WITHOUT LOGIN; またはCREATE LOGIN、各ファイルの先頭に句を追加しますか? ログイン参照を削除する方が簡単で、ユーザーを完全に削除する方が簡単です。 ツールが意図したとおりに使用されていることを確認したい。それらを本番環境に再公開する際に問題はありますか?プロジェクトを介してユーザー/ログインを追加する適切な手順は何ですか?

1
データベースプロジェクトでOPENQUERYを使用したリンクサーバーを使用する
SQL Server 2008でTFSに投入したいデータベースを実行しています。したがって、私はDBをインポートしたVisual Studio 2013データベースプロジェクトを使用しました。たくさんのエラーを修正した後、エラーが1つだけ残っています。 1つのビューではOPENQUERY、リンクサーバーへのアクセスに使用される開発者。そこで、適切なデータベースを含むDACPACをインポートAdd Database Referenceし、次の参照オプションを使用してプロジェクトに追加しました。 スクリプトの初期バージョン 以下は、元のビュー作成の短いバージョンです。 CREATE VIEW dbo.vwStatus AS SELECT StatusID, StatusName FROM OPENQUERY(LinkedServer, 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1 これにより、次のエラーが発生します。 エラー136 SQL71501:ビュー:[dbo]。[vwStatus]には、オブジェクト[LinkedServer]への未解決の参照があります。 最初の試み それで、サーバー名変数を挿入しようとしました FROM OPENQUERY($(LinkedServer), 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1 につながる エラー176 SQL46010:$(LinkedServer)付近の構文が正しくありません。 さらなる試み 私は少し手探りで次のことを試しました(引用符付き識別子を有効にした場合と有効にしない場合): FROM OPENQUERY("$(LinkedServer)", 'SELECT * FROM [DB].[dbo].tbStatus') AS …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.