タグ付けされた質問 「sql-server」

Microsoft SQL Serverのすべてのバージョン(MySQL以外)。sql-server-2016のようなバージョン固有のタグも追加してください。これは、質問に関連することが多いためです。

1
SSRSで使用されているデータソースを確認するにはどうすればよいですか?
一連のSSRS(2008)レポートがWebポータルに展開されています。一部のレポートを編集して、最初にデプロイされたときとは異なる共有データソースを使用しました。 ReportServerデータベースにクエリを実行して、どのレポートがこれらの共有データソースのどれを使用しているかを表示する方法を探しています。Catalog.Contentに保存されているXMLデータを使用して、どのデータソースが使用されているかを確認できることがわかりましたが、これは、レポートが最初に展開されたデータソースに表示されます。
10 sql-server  ssrs 

2
SSISスクリプトコンポーネント-Output0Bufferを変更する方法
SQL Azureデータベーステーブルからのレコードを受け入れるスクリプトコンポーネントがあります。次にスクリプトはWebサービスを呼び出し、Webサービスは失敗したレコードと成功したレコードの数を返します。 すべてのレコードについて、「成功」または「失敗」のいずれかを含むステータスフィールドを追加します。これにより、スクリプトコンポーネントから出力が取得されます。 次に、それらの出力をテキストファイルに記録します。 問題:Webサービスの呼び出しは実行後のみに発生するため、各入力レコードのステータスを追加できません。 私はこれを試しましたが、それでもうまくいきません: public override void Input0_ProcessInputRow(Input0Buffer Row) { listOfData.Add(new ClockData { TimeClockID=Row.TimeClockID, PersonID=Row.EmployeeCode, LocationCode=Row.ClockInServiceContextID, ClockInDateTime=Row.ClockInDateTime, ClockOutDateTime=Row.ClockOutDateTime }); } public override void CreateNewOutputRows() { MessageBox.Show("Test CreateNewOutputRows"); MessageBox.Show(listOfData.Count.ToString()); foreach (var item in listOfData) { Output0Buffer.AddRow(); Output0Buffer.EmployeeCode = item.PersonID; MessageBox.Show(item.PersonID); } }
10 sql-server  ssis 

2
ディストリビューターのミラーリング
ディストリビューションデータベースのミラーリングに成功した人はいますか?ディストリビューターとして専用サーバーがあります。製品からレポートまでのすべてのプッシュレプリケーションを処理します。ディストリビューターがクラッシュした場合に備えて、すぐに同じサーバーを構築したいと考えています。誰かがこのようなものを構築することに成功しましたか?

2
行レベルとページレベルのロックの違いと結果
メンテナンスプランを実行しようとすると、次のエラーが表示されます。 クエリ ""の実行が次のエラーで失敗しました: "ページレベルロックが無効になっているため、テーブル" "のインデックス" "(パーティション1)を再編成できません。" 現在、このインデックスで行レベルのロックが有効になっています。ページレベルのロックを有効にすることはできますが、どのような影響があるのか​​わかりません。 私の質問は次のとおりです。2つのロックスキームの違いは何ですか、そして実際の(運用中の)結果は何ですか?

6
SQL DBをより頻繁にバックアップする
私は現在、SQLCMD.exeを呼び出して.sqlスクリプトを渡し、バックアップのために実行する(以下に示す)午前2時に毎晩起動するスケジュールされたタスクを持っています。私たちは、ビジネス面での大きな成長によりニーズが高まっているかなり小さな会社です。この時点で1日分のデータを失うと、数万ドルの費用がかかりますが、昨年は数百ドルかかります。このDBプラットフォームを、SQL Azureのような主要な冗長性でデータミラーリングが発生する別のソリューションに移行できるまで、より頻繁なバックアップを取得するために私ができる最善のことは何ですか?以下のこのスクリプトは、DBを強制的にオフラインにしますか?このスクリプトを、DBを操作するユーザーと一緒に実行できますか? USE CompanyCRM; GO BACKUP DATABASE CompanyCRM TO DISK = 'D:\CRMBackups\CompanyCRMCRM.Bak' WITH FORMAT, MEDIANAME = 'CompanyCRM_Backup', NAME = 'Full Backup of CompanyCRM'; GO 更新 うわー、明らかにここではSOよりもはるかに専用のDBAコミュニティ。これまでのフィードバックに感謝します。不足しているのは「ハウ」だけです。上記のSQLコマンドで毎日のバックアップに使用しているものを示しましたが、増分ログバックアップの例はMIAです。これは大きなDBではなく、現在SQLExpressで実行されています。私がHAまたはSQL Azureと言うとき、私は特に、中小企業として持っていない適切なアーキテクチャについて言及しています。このインスタンスは現在、唯一のサーバーで実行されています。そのサーバーがクラッシュした場合、回復するまでの時間が問題になります。SQL Azureが魅力的なのはこのためです。


4
OracleはSQL ServerよりもDBAにとってより厳しい環境ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 私はOracleをまったく知りませんが、Oracle DBAがOracleを(DBAとして)使用することは、SQL Serverを使用するよりも "難しく"困難で要求が厳しいと言っているのを聞いたことがあります。このステートメントには根拠がありますか?

2
SQL Serverインスタンスでどのパフォーマンスカウンターを調べて、そのパフォーマンスとすべての正常性を判断できますか?
私はアイントホーフェンのFontys大学の学生です。現在、SQL Serverツールの開発を支援するために一連のインタビューを行っています。この分野の専門家からのフィードバックを希望しています。 私の質問の1つは: SQL Serverインスタンスでパフォーマンスと全体的な状態を判断するために、どのパフォーマンスカウンターを確認できますか? 特に、善が悪くなるときのしきい値に興味があります。 ジャミルヤングアイントホーフェンオランダ

3
トランザクションログはSQL Serverで自動的に縮小されますか?
SQL ServerデータベースがSIMPLEモードの場合、トランザクションログのバックカップを気にする必要はありません。ただし、SIMPLEモードでは、FULLモードと同様にトランザクションログが大きくなるようです。ある時点で自動的に切り捨てられますか?それとも手動で切り詰める必要がありますか?

1
SQL Server 2008R2での統計の自動更新:多数の行の挿入にもかかわらず、一部の統計が古くなっているのはなぜですか?
遅いクエリの調査中に、実行プランが非常に最適ではないように見えました(推定実行回数が1であるシークの900万回の実行をネストしたループ)。実際に古くなっているいくつかの関連する統計を確認したので、統計を再構築し、パフォーマンスの問題が効果的に解決されました。 このデータベースでは、統計の自動更新が有効になっています(デフォルトでオン)。20%+ 500行の変更(更新/挿入/削除)に基づく自動統計更新のしきい値があることを理解しています。このしきい値は、複数のインデックスで大幅に超えているようです。そのため、(A)自動更新に問題があるか、(B)オンラインで見つけた以上の更新方法があります。ドキュメンテーション。 統計を更新するようにスケジュールされたタスクを設定できることを感謝します。これは他の解決策が見つからない場合に採用するアプローチである可能性が高いですが、そのような大量の変更によってトリガーされない理由について混乱します一部の統計情報の自動更新-スケジュールされたタスクで更新する必要がある統計情報を判断するのに役立つ理由を理解する。 追加のメモ: 1)この問題は、負荷テストによってデータが作成されており、大量のデータが短時間で追加されるデータベースで指摘されたため、自動更新が定期的に(たとえば、1日に1回)発生した場合ほとんどの場合、これにより、観察された動作の一部が説明される場合があります。また、負荷テストはデータベースに大きな負荷をかける傾向があるため、負荷が高いときにSQLが統計の更新を延期しているのでしょうか(その後、何らかの理由で統計が更新されていません)。 2)連続するINSERT、SELECT、およびDELETEステートメントを含むテストスクリプトでこの問題を再現しようとすると、問題は発生しませんでした。ここでの違いは、これらのステートメントがそれぞれSQLステートメントごとの多くの行に影響を与えるのかどうか疑問に思っていますが、負荷テストスクリプトは行を個別に挿入する傾向があります。 3)問題のDBは、「単純」復旧モデルに設定されています。 いくつかの関連リンク: 実行時間の遅いクエリを分析するためのチェックリスト 統計を使用してクエリのパフォーマンスを向上させる 私はマイクロソフトコネクトを介してこの問題を提起しました: 統計の自動更新:多くの統計が古くなっています 2011年6月30日更新: さらなる調査では、しきい値レベル(たとえば、500行+ 20%)を超えて古くなっている統計は、問題のあるクエリで使用されていない統計であるため、クエリを実行すると更新される可能性がありますそれらを必要とします。クエリで使用される統計情報は、定期的に更新されています。残りの問題は、比較的少数の挿入(たとえば、推定数が1だった場合に前述の900万個程度のシークを引き起こす)の後で、これらの統計がクエリプランオプティマイザーに著しく誤解を与えることです。 この時点で私の問題は、問題は主キーの選択の不備に関連していることです。キーはNEWID()を使用して作成された一意の識別子であり、これにより非常に迅速にフラグメント化されたインデックスが作成されます-特にSQLのデフォルトのフィルファクターとしてサーバーは100%です。私の直感は、比較的少ない行の挿入後、どういうわけか統計の誤解を招く結果になり、統計を再計算するためのしきい値を下回ることです。インデックスを途中で再構築せずに大量のデータを生成したので、これはおそらく問題ではない可能性があります。したがって、不十分な統計は、結果として生じる非常に高いインデックスの断片化の結果である可能性があります。SQL Serverのメンテナンスサイクルを負荷テストに追加して、長期間にわたる実際のシステムのパフォーマンスをよりよく理解する必要があると思います。 更新2012-01-10: 考慮すべきもう1つの要素。SQL Server 2005に2つのトレースフラグが追加され(2008年にも引き続き存在するようです)、古い統計情報や誤解を招く統計情報の発生に関連する特定の欠点に対処します。問題のフラグは次のとおりです。 DBCC TRACEON(2389) DBCC TRACEON(2390) MSDN:Ian JoseのWebLog:昇順のキーと 昇順の列での自動クイック修正統計統計、Fabiano Amorim これらのフラグが有害な影響を与える可能性があるため、これらのフラグを有効にすることを決定するときはもちろん、非常に注意する必要があります。

3
データベースを安全に完全に削除するためのベストプラクティスは何ですか?
私たちは「有機的な」環境を持っています。つまり、人々は最小限の監視またはドキュメント化でコードにコードを10年間積み上げてきました。私が使用しているサーバーには、もう使用されていないと思われるいくつかのデータベースがあります。それらを削除して、実際に使用している3つだけを残したいです。 無謀な極端では、これらのデータベースを無効にして、誰かが悲鳴を上げるのを待つことができました。もう一方では、「念のため」、それらを永久に実行したままにすることができます。サーバーが使用されているかどうか、およびその方法を特定する上で、どのような手順が重要であると思いましたか? また、システムを無効にすることで前進するときに、一定期間便利に元に戻せるようにするためにどのような手順を推奨しますか(オブジェクトを完全に削除するのではなく、名前を変更するなど)? ありがとう!

4
SQL ServerのプログラムによるETLの標準言語/インターフェイスはありますか?
現在、データウェアハウス用のETLを作成しています。SSIS 2008を使用していますが、問題が発生しています。最大の問題は、コンポーネントの再利用の難しさです。テーブルごとに個別のパッケージがあり、各パッケージは親パッケージからいくつかの変数を入力として受け取ります。これらの入力変数に変更を加えるときは、各パッケージ(15ほどありますが、この数は大幅に増える予定です)に移動し、パッケージを変更してそれらの変更に対処する必要があります。他の問題もあります。たとえば、抽出のために任意のSQLを実行できない、ログ機能が不十分などです。 このプロセス全体は、コードでETLを開発し、コードの再利用、共通ライブラリ、より優れた単体テストなどを可能にする方法があれば、はるかに堅牢になります。SQLServerの事実上の標準ETL言語/ APIはありますか?GUIツールはできるだけ避けたいです。 編集:私は自分の経歴について述べるべきです。私はDBAではなく、正式な(または非公式の)DBAトレーニングを受けていません。基本的に、私はこれを理解していて、SSISで不適切なことを試みたり、このETLに近づいたりする可能性があります間違った角度から投影します。また、私は現在州政府で雇用されているため、新しいソフトウェアパッケージの購入を必要とするソリューションは、可能性の範囲内にありません。 これが私たちのタスクの1つです。単一のSSISパッケージを使用して、ウェアハウスの各テーブルをロードしています。各ファクトパッケージとディメンションパッケージは一般的に同じですが、 ソースデータベースからの抽出 データフローでの操作 宛先テーブルにマージします できること(SSISで実行するのが難しいと感じていること) テキストファイルから抽出クエリを読み込みます。開発者が抽出クエリを作成してテストする場合、SSISで実行する前にクエリを操作する必要はなく、クエリを切り取ってDBソースオブジェクトに貼り付ける必要もありません。 各コンポーネントを個別にテストします。他のテーブルのロードとは無関係に、個々のテーブルの完全なETLプロセスを分離してテストできるはずです。 1つの場所で共有ロジックを変更します。個々のパッケージを編集する必要はありません。すべてのパッケージが同じ方法でデータを監査テーブルにロードします。監査されてロードされたデータを変更したい場合、15個すべてのパッケージを編集する必要はありません(この数は時間とともにかなり大きくなります)。 プロセス全体は、共有コードを適切に使用してプログラム的に行うと、実装がはるかに簡単になり、より堅牢になると感じています。
10 sql-server  etl 

4
SQL Serverで長時間実行されるクエリを監視する最良の方法は何ですか?
データベースに対して、かなり長時間実行されるクエリ(インデックスの再構築、大量のデータセットの更新)を実行する必要があります。SQL Server Management Studioでクエリを実行し、1時間ごとにクエリをチェックする方法はありますか?完了したらメールまたはメッセージを送信したいのですが、これに最適なツールがわかりません。



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.